From d4e4ea6405756d495806a609e24ae85ebd7345ef Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期二, 17 十二月 2024 09:30:12 +0800
Subject: [PATCH] 代码更新

---
 src/main/java/com/yb/service/AgentService.java |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 115 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/yb/service/AgentService.java b/src/main/java/com/yb/service/AgentService.java
index eb93be4..a1b1943 100644
--- a/src/main/java/com/yb/service/AgentService.java
+++ b/src/main/java/com/yb/service/AgentService.java
@@ -1,11 +1,15 @@
 package com.yb.service;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.yb.config.XzConfig;
-import com.yb.entity.ReqEntity;
+import com.yb.entity.RelaEntity;
 import com.yb.util.EntityHttpUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
 
 @Service
 public class AgentService {
@@ -25,8 +29,8 @@
         return obj;
     }
 
-    public String getAgentIntention(String url, String api, String msg) throws Exception {
-        String http = url + api + "?message=" + msg;
+    public String getAgentIntention(String url, String api, String msg, String sessionid, String libid) throws Exception {
+        String http = url + api + "?session_id=" + sessionid + "&lib_id=" + libid + "&message=" + msg;
         System.out.println("rec getMessage:" + http);
         String obj = entityHttpUtil.getAgentMessage(http);
         System.out.println("rec getMessage:" + obj);
@@ -35,7 +39,7 @@
 
     //
     public String getAgentPoiMap(String func, String filed) throws Exception {
-        String poiObj= xzService.getQueryFiled(func, filed, xzConfig.layerId, xzConfig.dbid, xzConfig.queryEntity);
+        String poiObj = xzService.getQueryFiled(func, filed, xzConfig.layerId, xzConfig.dbid, xzConfig.queryEntity);
         System.out.println("rec poiMap:" + poiObj);
         return poiObj;
     }
@@ -44,10 +48,116 @@
     public String getAgentAroundPoi(String place, String type, int dis, String filed, String typeFiled) throws Exception {
         String item = xzService.getQueryFiled(place, filed, xzConfig.layerId, xzConfig.dbid, xzConfig.queryEntity);
         JSONObject obj = JSONObject.parseObject(item);
+        if (obj == null) {
+            return "";
+        }
         Double lon = Double.parseDouble(obj.getString("lon"));
         Double lat = Double.parseDouble(obj.getString("lat"));
         String wkt = xzService.getWKt(lon, lat, dis);
-       return xzService.getQueryAround(type, wkt, typeFiled, xzConfig.layerId, xzConfig.dbid, xzConfig.queryEntity);
+        return xzService.getQueryAround(type, wkt, typeFiled, xzConfig.layerId, xzConfig.dbid, xzConfig.queryEntity);
+
+    }
+
+    public HashMap<String, Object> getQueryRelationship(String place, String filed) throws Exception {
+        String poiObj = xzService.getQueryEntity(place, filed, xzConfig.layerId, xzConfig.dbid, xzConfig.layerQuery);
+
+        if (poiObj == null) {
+            HashMap<String, Object> hashMap = new HashMap<>();
+            hashMap.put("msg", "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁");
+            return hashMap;
+        }
+        HashMap<String, String> hashMap = new HashMap<String, String>();
+        hashMap.put("token", xzConfig.token);
+        hashMap.put("dbid", xzConfig.dbid);
+        hashMap.put("groupid", "");
+        String relationList = entityHttpUtil.getPostMessage(xzConfig.relationList, hashMap);
+        JSONObject relattionObj = JSONObject.parseObject(relationList);
+        String data = relattionObj.getString("data");
+        JSONArray relationArry = JSONArray.parseArray(data);
+        JSONObject itemObj = new JSONObject();
+        for (int i = 0; i < relationArry.size(); i++) {
+            JSONObject relationtem = relationArry.getJSONObject(i);
+            String name = relationtem.getString("name");
+//            if (name.equals("鍖呭惈")) {
+//                itemObj = relationtem;
+//            }
+            if (name.contains(String.valueOf("鍖呭惈"))) {
+                itemObj = relationtem;
+            }
+        }
+//        String distanceUrl = xzConfig.relationDistinct + "?dbid=" + xzConfig.dbid + "&token=" + xzConfig.token + "&relationid=" + itemObj.getString("code");
+//        String relationDistance = entityHttpUtil.getMessage(distanceUrl);
+//        JSONObject distanceObj = JSONObject.parseObject(relationList);
+//        String distanceData = relattionObj.getString("data");
+//        System.out.println("rec getQueryRelationship:" + distanceData);
+
+        String relateddataeUrl = xzConfig.relationRelateddata + "?start=1&count=1000000&&a_like=&b_like=&dbid=" + xzConfig.dbid + "&token=" + xzConfig.token + "&relationid=" + itemObj.getString("code");
+        String relationRelateddata = entityHttpUtil.getMessage(relateddataeUrl);
+        JSONObject relateddataeObj = JSONObject.parseObject(relationRelateddata);
+        String relateddataeData = relateddataeObj.getString("data");
+        JSONArray relateddataeArray = JSONArray.parseArray(JSONObject.parseObject(relateddataeData).getString("items"));
+        System.out.println("rec getQueryRelationship:" + relateddataeArray);
+        ArrayList<String> list = new ArrayList<>();
+        for (int k = 0; k < relateddataeArray.size(); k++) {
+            JSONObject reitem = relateddataeArray.getJSONObject(k);
+            list.add(reitem.getString("a_objectid"));
+            list.add(reitem.getString("b_objectid"));
+        }
+        HashMap<String, String> reMap = new HashMap<String, String>();
+        reMap.put("token", xzConfig.token);
+        reMap.put("dbid", xzConfig.dbid);
+        reMap.put("ids", list.toString());
+        reMap.put("layerid", xzConfig.layerId);
+        reMap.put("querylatest", "true");
+        String reMapList = entityHttpUtil.getPostMessage(xzConfig.layerQuery, reMap);
+        JSONArray reArray = JSONArray.parseArray(JSONObject.parseObject(reMapList).getString("data"));
+        System.out.println("rec getQueryRelationship:" + reArray);
+        HashMap<String, Object> traiMap = new HashMap<>();
+        traiMap.put("center", JSONObject.parseObject(poiObj));
+        traiMap.put("positions", reArray);
+        if (reArray.size() > 0) {
+            ArrayList<RelaEntity> arrayList = new ArrayList<>();
+            for (int i = 0; i < reArray.size(); i++) {
+
+                String name = JSONObject.parseObject(reArray.getString(i)).getString(xzConfig.typeFiled);
+//             System.out.println("rec getQueryRelationship:" + name);
+                if (name == null || name.isEmpty()) {
+                    continue;
+                } else {
+
+                    if (name.equals(place)) {
+                        continue;
+                    }
+                    boolean contains = false;
+                    for (int j = 0; j < arrayList.size(); j++) {
+                        RelaEntity firstElement = arrayList.get(j);
+                        if (firstElement.getName().equals(name)) {
+                            int flag = firstElement.getCount();
+                            flag++;
+                            firstElement.setCount(flag);
+                            contains = true;
+                        }
+                    }
+                    if (contains == false) {
+                        RelaEntity relaEntity = new RelaEntity();
+                        relaEntity.setName(name);
+                        relaEntity.setCount(1);
+                        arrayList.add(relaEntity);
+                    }
+                }
+            }
+            String markDown = "| 鏁版嵁绫诲瀷 | 鏁版嵁閲� |\n|------|------|\n";
+            for (int i = 0; i < arrayList.size(); i++) {
+                String name = arrayList.get(i).getName();
+                int count = arrayList.get(i).getCount();
+                markDown += "| " + name + " | " + count + " |\n";
+
+            }
+            traiMap.put("msg", markDown);
+        }
+
+//        System.out.println("rec traiMap:" + traiMap);
+        return traiMap;
 
     }
 }

--
Gitblit v1.9.3