suerprisePlus
2024-09-09 623cee8be4846e5762ff2949e519335ef8dee2bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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.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 {
    @Autowired
    private EntityHttpUtil entityHttpUtil;
    @Autowired
    private XzService xzService;
    @Autowired
    private XzConfig xzConfig;
 
    //   Agent_Rag服务调用
    public String getAgentRag(String url, String api, String sessionId, String libId, String msg) throws Exception {
        String http = url + api + "?session_id=" + sessionId + "&lib_id=" + libId + "&message=" + msg;
        System.out.println("rec getAgentRag:" + http);
        String obj = entityHttpUtil.getAgentMessage(http);
        System.out.println("rec getAgentRag:" + obj);
        return obj;
    }
 
    public String getAgentIntention(String url, String api, String msg) throws Exception {
        String http = url + api + "?message=" + msg;
        System.out.println("rec getMessage:" + http);
        String obj = entityHttpUtil.getAgentMessage(http);
        System.out.println("rec getMessage:" + obj);
        return obj;
    }
 
    //
    public String getAgentPoiMap(String func, String filed) throws Exception {
        String poiObj = xzService.getQueryFiled(func, filed, xzConfig.layerId, xzConfig.dbid, xzConfig.queryEntity);
        System.out.println("rec poiMap:" + poiObj);
        return poiObj;
    }
 
 
    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);
        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);
 
    }
 
    public HashMap<String, Object> getQueryRelationship(String place, String filed) throws Exception {
        String poiObj = xzService.getQueryEntity(place, filed, xzConfig.layerId, xzConfig.dbid, xzConfig.layerQuery);
        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;
            }
        }
        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("businessids", 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);
        System.out.println("rec getQueryRelationship:" + traiMap);
        return traiMap;
 
    }
}