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/IntentionService.java |  154 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 125 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/yb/service/IntentionService.java b/src/main/java/com/yb/service/IntentionService.java
index 3744eef..7634b08 100644
--- a/src/main/java/com/yb/service/IntentionService.java
+++ b/src/main/java/com/yb/service/IntentionService.java
@@ -3,7 +3,9 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.github.houbb.opencc4j.core.impl.ZhConvertBootstrap;
 import com.yb.config.XzConfig;
+import com.yb.controller.WebSocketController;
 import com.yb.helper.RsaHelper;
 import com.yb.util.EntityHttpUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +27,10 @@
     @Autowired
     private EntityHttpUtil entityHttpUtil;
 
-    public HashMap<String, Object> getFunctionMatch(String orderString, Map<String, String> allParams) throws Exception {
+    @Autowired
+    private WebSocketController webSocketController ;
+
+    public HashMap<String, Object> getFunctionMatch(String orderString, Map<String, String> allParams,String report) throws Exception {
         HashMap<String, Object> mapObj = new HashMap<String, Object>();
         JSONObject orderObject = JSON.parseObject(orderString);
         String name = JSONObject.parseObject(orderObject.getString("args")).getString("place");
@@ -33,17 +38,20 @@
         String history = orderObject.getString("history");
 
         if (func.equals(xzConfig.funcName[0])) {
-            mapObj = getPoiMap(orderObject,func);
+            mapObj = getPoiMap(orderObject, func);
         } else if (func.equals(xzConfig.funcName[1])) {
             mapObj = getAroundPoi(orderObject, func);
         } else if (func.equals(xzConfig.funcName[2])) {
             mapObj = getQueryMeta(orderObject, func);
         } else if (func.equals(xzConfig.funcName[3])) {
             mapObj = getQueryRelationship(orderObject, func);
-        }else if (func.equals(xzConfig.funcName[4])) {
+        } else if (func.equals(xzConfig.funcName[4])) {
             mapObj = getCombatSimulate(orderObject, func);
-        }else if (func.equals(xzConfig.funcName[5])) {
-            mapObj = getBatEnv(orderObject, func, allParams);
+        } else if (func.equals(xzConfig.funcName[5])) {
+//            mapObj = getBatEnv(orderObject, func, allParams);
+             getBatEnv(orderObject, func, allParams,report);
+        }else{
+
         }
         return mapObj;
 
@@ -52,26 +60,26 @@
     private HashMap<String, Object> getCombatSimulate(JSONObject orderObject, String func) {
         HashMap<String, Object> hashMap = new HashMap<String, Object>();
         hashMap.put("func", func);
-        return  hashMap;
+        return hashMap;
     }
 
-    private HashMap<String, Object> getBatEnv(JSONObject orderObject, String func, Map<String, String> allParams) throws Exception {
+    private void getBatEnv(JSONObject orderObject, String func, Map<String, String> allParams,String report) throws Exception {
         HashMap<String, Object> hashMap = new HashMap<String, Object>();
         hashMap.put("func", func);
-//        List list = orderObject.get("history");
+        hashMap.put("session_id", (String)allParams.get("session_id"));
         System.out.println("rec history1:" + allParams);
-        String history = allParams.get("history");
-        System.out.println("rec history1:" + history);
-        String val = entityHttpUtil.postAgentMessage(xzConfig.battleReport, allParams);
-        JSONObject js = JSONObject.parseObject(val);
-        if(js == null){
-            hashMap.put("msg", "鎶ュ憡鐢熸垚澶辫触");
-            return hashMap;
-        }
-        System.out.println("rec history1:" + val);
-        hashMap.put("msg", js.getString("content"));
 
-        return hashMap;
+//        String val = entityHttpUtil.postAgentMessage(xzConfig.battleReport, allParams);
+//        JSONObject js = JSONObject.parseObject(val);
+        if (report ==""|| report == null) {
+            hashMap.put("msg", "鎶ュ憡鐢熸垚澶辫触");
+            webSocketController.sendAllMessage(JSON.toJSONString(hashMap));
+        }else{
+            hashMap.put("msg", report);
+            webSocketController.sendAllMessage(JSON.toJSONString(hashMap));
+        }
+
+
     }
 
     //鏌ョ湅鏌愪釜鍖哄煙鍐呭悇涓疄浣�/瀵硅薄涔嬮棿鐨勫叧绯�
@@ -85,6 +93,7 @@
         String msg = (String) poiMap.get(key);
         hashMap.put("msg", msg);
         hashMap.put("data", poiMap);
+
         return hashMap;
     }
 
@@ -95,6 +104,7 @@
         String filedString = xzService.getQueryMeta(xzConfig.layerId, xzConfig.dbid, xzConfig.typeFiled, xzConfig.queryEntity);
         JSONObject metaObject = JSON.parseObject(filedString);
         JSONArray dataArray = metaObject.getJSONArray("data");
+
         String markDown = "| 鏁版嵁绫诲瀷 | 鏁版嵁閲� |\n|------|------|\n";
         ArrayList<HashMap<String, Object>> list = new ArrayList<>();
         for (int i = 0; i < dataArray.size(); i++) {
@@ -115,6 +125,7 @@
 
     }
 
+
     //    鍏抽敭瀛楁煡璇㈠垎绫绘煡璇㈡暟鎹噺
     private ArrayList getQueryByFiledList(String name) throws Exception {
         String obj = xzConfig.typeFiled + " = '" + name + "'" + "";
@@ -126,8 +137,6 @@
         System.out.println("rec queryMeta:" + fObj);
         if (fObj != null) {
             JSONArray fArray = JSONArray.parseArray(JSONObject.parseObject(fObj).getString("items"));
-            System.out.println("rec queryMeta:" + fArray);
-            System.out.println("rec queryMeta:" + fArray.size());
             if (fArray.size() > 0) {
                 for (int i = 0; i < fArray.size(); i++) {
                     String sid = JSONObject.parseObject(fArray.get(i).toString()).getString("seid");
@@ -147,22 +156,106 @@
         String type = argsObject.getString("attris");
         String dis = argsObject.getString("redius");
         int radius = 5000;
-        if (dis != null) {
+        if (dis != null && dis.contains("km")) {
+            dis = dis.replace("km", "");
+            radius = Integer.parseInt(dis) * 1000;
+        }
+        if (dis != null && dis.contains("m")) {
             dis = dis.replace("m", "");
             radius = Integer.parseInt(dis);
         }
+        if (dis != null && dis.contains("鍗冪背")) {
+            dis = dis.replace("鍗冪背", "");
+            radius = Integer.parseInt(dis) * 1000;
+        }
+        if (dis != null && dis.contains("绫�")) {
+            dis = dis.replace("绫�", "");
+            radius = Integer.parseInt(dis);
+        }
+
         String aroundPoi = agentService.getAgentAroundPoi(place, type, radius, xzConfig.queryFiled, xzConfig.typeFiled);
         if (aroundPoi == "" || aroundPoi.isEmpty()) {
-            String msg = "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆傝鎻愪緵鏇村姞璇︾粏鏁版嵁銆�";
-            hashMap.put("msg", msg);
-            return hashMap;
+            aroundPoi = agentService.getAgentAroundPoi(getTraditional(place), type, radius, xzConfig.queryFiled, xzConfig.typeFiled);
+            if (aroundPoi == "" || aroundPoi.isEmpty()) {
+                String msg = "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆傝鎻愪緵鏇村姞璇︾粏鏁版嵁銆�";
+                hashMap.put("msg", msg);
+                return hashMap;
+            }
+
         }
         JSONArray dataArray = JSONArray.parseArray(aroundPoi);
-        System.out.println("aroundPoi: " + dataArray);
         hashMap.put("data", dataArray);
+        if (type.contains("鍏ㄩ儴鐩爣")) {
+            if (dataArray.size() == 0) {
+                hashMap.put("data", dataArray);
+                String msg = "宸叉煡璇㈠埌" + place + "鍐呯殑" + type + "鐩稿叧鏁版嵁銆傚叡鏌ヨ鍒�" + dataArray.size() + "鏉℃暟鎹��";
+                hashMap.put("msg", msg);
+                return hashMap;
+            }
+            ArrayList<HashMap<String, Object>> listArray = new ArrayList<>();
+            String markDown = "| 鏁版嵁绫诲瀷 | 鏁版嵁閲� |\n|------|------|\n";
+            ArrayList<HashMap<String, Object>> list = new ArrayList<>();
+            List<String> cName = new ArrayList<>();
+            List<Integer> cNum = new ArrayList<>();
+            for (int i = 0; i < dataArray.size(); i++) {
+                JSONObject dataObj = dataArray.getJSONObject(i);
+                String fclass1 = dataObj.getString(xzConfig.typeFiled);
+                String ids = dataObj.getString("seid");
+                if (cName.contains(fclass1)) {
+                    for (int j = 0; j < cName.size(); j++) {
+                        String name = cName.get(j);
+                        if (name.equals(fclass1)) {
+                            System.out.println("鐩爣缁熻 = " + cName.get(j) + fclass1);
+                            int num = cNum.get(j) + 1;
+                            cNum.set(j, num);
+
+                            HashMap<String, Object> itemObj = list.get(j);
+
+                            for (String key : itemObj.keySet()) {
+                                if (key.contains("ids")) {
+                                    ArrayList list_ids = (ArrayList) itemObj.get(key);
+                                    list_ids.add(ids);
+                                    itemObj.put(key,list_ids);
+                                }
+
+                            }
+
+                        }
+                    }
+
+
+                } else {
+                    cName.add(fclass1);
+                    cNum.add(1);
+                    HashMap<String, Object> listhash = new HashMap<>();
+                    ArrayList listId = new ArrayList();
+                    listId.add(ids);
+                    listhash.put("name", fclass1);
+                    listhash.put("ids", listId);
+                    list.add(listhash);
+                }
+            }
+
+            for (int i = 0; i < cName.size(); i++) {
+                markDown += "| " + cName.get(i) + " | " + cNum.get(i) + " |\n";
+            }
+            hashMap.put("ids", list);
+            hashMap.put("data", markDown);
+            hashMap.put("func", "queryMeta");
+            return hashMap;
+        }
+
+
         String msg = "宸叉煡璇㈠埌" + place + "鍐呯殑" + type + "鐩稿叧鏁版嵁銆傚叡鏌ヨ鍒�" + dataArray.size() + "鏉℃暟鎹��";
         hashMap.put("msg", msg);
         return hashMap;
+
+
+    }
+
+    public String getTraditional(String place) {
+        ZhConvertBootstrap zhConvertBootstrap = ZhConvertBootstrap.newInstance();
+        return zhConvertBootstrap.toTraditional(place);
 
     }
 
@@ -174,9 +267,12 @@
         String poiMap = agentService.getAgentPoiMap(place, xzConfig.queryFiled);
         JSONObject poiObj = JSONObject.parseObject(poiMap);
         if (poiMap == "" || poiMap.isEmpty()) {
-            String msg = "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆傝鎻愪緵鏇村姞璇︾粏鏁版嵁銆�";
-            hashMap.put("msg", msg);
-            return hashMap;
+            poiMap = agentService.getAgentPoiMap(getTraditional(place), xzConfig.queryFiled);
+            if (poiMap == "" || poiMap.isEmpty()) {
+                String msg = "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆傝鎻愪緵鏇村姞璇︾粏鏁版嵁銆�";
+                hashMap.put("msg", msg);
+                return hashMap;
+            }
         }
         System.out.println("poiMap: " + poiObj);
         hashMap.put("func", func);

--
Gitblit v1.9.3