From 0cf13d9df73e8e9befa36236756ef02dd5f60e94 Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期六, 14 九月 2024 09:55:38 +0800
Subject: [PATCH] 接口修改

---
 src/main/java/com/yb/service/IntentionService.java |  121 +++++++++++++++++++++++++++++++---------
 1 files changed, 94 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/yb/service/IntentionService.java b/src/main/java/com/yb/service/IntentionService.java
index e93676c..3744eef 100644
--- a/src/main/java/com/yb/service/IntentionService.java
+++ b/src/main/java/com/yb/service/IntentionService.java
@@ -4,10 +4,15 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.yb.config.XzConfig;
+import com.yb.helper.RsaHelper;
+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;
+import java.util.List;
+import java.util.Map;
 
 @Service
 public class IntentionService {
@@ -17,27 +22,56 @@
     private AgentService agentService;
     @Autowired
     private XzService xzService;
+    @Autowired
+    private EntityHttpUtil entityHttpUtil;
 
-    public HashMap<String, Object> getFunctionMatch(String orderString) throws Exception {
+    public HashMap<String, Object> getFunctionMatch(String orderString, Map<String, String> allParams) throws Exception {
         HashMap<String, Object> mapObj = new HashMap<String, Object>();
         JSONObject orderObject = JSON.parseObject(orderString);
+        String name = JSONObject.parseObject(orderObject.getString("args")).getString("place");
         String func = orderObject.getString("name");
+        String history = orderObject.getString("history");
 
         if (func.equals(xzConfig.funcName[0])) {
-            mapObj = getPoiMap(orderObject, xzConfig.funcName[0]);
+            mapObj = getPoiMap(orderObject,func);
         } else if (func.equals(xzConfig.funcName[1])) {
-            mapObj = getAroundPoi(orderObject, xzConfig.funcName[1]);
+            mapObj = getAroundPoi(orderObject, func);
         } else if (func.equals(xzConfig.funcName[2])) {
-            mapObj = getQueryMeta(orderObject, xzConfig.funcName[2]);
-        } else if (func.equals(xzConfig.funcName[2])) {
-            mapObj = getQueryMeta(orderObject, xzConfig.funcName[2]);
+            mapObj = getQueryMeta(orderObject, func);
         } else if (func.equals(xzConfig.funcName[3])) {
-            mapObj = getQueryRelationship(orderObject, xzConfig.funcName[3]);
+            mapObj = getQueryRelationship(orderObject, func);
+        }else if (func.equals(xzConfig.funcName[4])) {
+            mapObj = getCombatSimulate(orderObject, func);
+        }else if (func.equals(xzConfig.funcName[5])) {
+            mapObj = getBatEnv(orderObject, func, allParams);
         }
-
-
         return mapObj;
 
+    }
+
+    private HashMap<String, Object> getCombatSimulate(JSONObject orderObject, String func) {
+        HashMap<String, Object> hashMap = new HashMap<String, Object>();
+        hashMap.put("func", func);
+        return  hashMap;
+    }
+
+    private HashMap<String, Object> getBatEnv(JSONObject orderObject, String func, Map<String, String> allParams) throws Exception {
+        HashMap<String, Object> hashMap = new HashMap<String, Object>();
+        hashMap.put("func", func);
+//        List list = orderObject.get("history");
+        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;
     }
 
     //鏌ョ湅鏌愪釜鍖哄煙鍐呭悇涓疄浣�/瀵硅薄涔嬮棿鐨勫叧绯�
@@ -46,7 +80,10 @@
         hashMap.put("func", func);
         JSONObject argsObject = JSON.parseObject(orderObject.getString("args"));
         String place = argsObject.getString("place");
-        HashMap<String,Object> poiMap = agentService.getQueryRelationship(place, xzConfig.queryFiled);
+        HashMap<String, Object> poiMap = agentService.getQueryRelationship(place, xzConfig.queryFiled);
+        String key = "msg";
+        String msg = (String) poiMap.get(key);
+        hashMap.put("msg", msg);
         hashMap.put("data", poiMap);
         return hashMap;
     }
@@ -59,29 +96,46 @@
         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++) {
             JSONObject dataObj = dataArray.getJSONObject(i);
             System.out.println("rec queryMeta:" + dataObj);
-            String[] filedValue = new String[2];
-
-            for (String key : dataObj.keySet()) {
-                System.out.println("rec 1:" + key+":"+xzConfig.typeFiled);
-                 String itemObj = dataObj.getString(key);
-                System.out.println("rec 2:" +itemObj);
-
-                if (key.equals(xzConfig.typeFiled) ) {
-                    filedValue[0] = dataObj.getString(key);
-                }else{
-                    filedValue[1] = dataObj.getString(key);
-                }
-
-            }
-            markDown += "| " + filedValue[0] + " | " + filedValue[1] + " |\n";
-
+            HashMap<String, Object> listhash = new HashMap<>();
+            String name = dataObj.getString(xzConfig.typeFiled);
+            String count = dataObj.getString("count_" + xzConfig.typeFiled);
+            ArrayList filedList = getQueryByFiledList(name);
+            listhash.put("name", name);
+            listhash.put("ids", filedList);
+            list.add(listhash);
+            markDown += "| " + name + " | " + count + " |\n";
         }
+        hashMap.put("ids", list);
         hashMap.put("data", markDown);
         return hashMap;
 
+    }
+
+    //    鍏抽敭瀛楁煡璇㈠垎绫绘煡璇㈡暟鎹噺
+    private ArrayList getQueryByFiledList(String name) throws Exception {
+        String obj = xzConfig.typeFiled + " = '" + name + "'" + "";
+        String encrypt = RsaHelper.encrypt(xzService.getPublickey(), obj);
+        HashMap hashMap = xzService.getHashMap(xzConfig.layerId, xzConfig.dbid, "1", "0", encrypt, null);
+        String val = entityHttpUtil.getPostMessage(xzConfig.queryEntity, hashMap);
+        ArrayList list = new ArrayList();
+        String fObj = JSONObject.parseObject(val).getString("data");
+        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");
+                    list.add(sid);
+                }
+            }
+        }
+        return list;
     }
 
     //鏍规嵁鑼冨洿鏌ヨ鏁版嵁
@@ -98,9 +152,16 @@
             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;
+        }
         JSONArray dataArray = JSONArray.parseArray(aroundPoi);
         System.out.println("aroundPoi: " + dataArray);
         hashMap.put("data", dataArray);
+        String msg = "宸叉煡璇㈠埌" + place + "鍐呯殑" + type + "鐩稿叧鏁版嵁銆傚叡鏌ヨ鍒�" + dataArray.size() + "鏉℃暟鎹��";
+        hashMap.put("msg", msg);
         return hashMap;
 
     }
@@ -111,11 +172,17 @@
         JSONObject argsObject = JSON.parseObject(orderString.getString("args"));
         String place = argsObject.getString("place");
         String poiMap = agentService.getAgentPoiMap(place, xzConfig.queryFiled);
-        System.out.println("poiMap: " + poiMap);
         JSONObject poiObj = JSONObject.parseObject(poiMap);
+        if (poiMap == "" || poiMap.isEmpty()) {
+            String msg = "鏈煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆傝鎻愪緵鏇村姞璇︾粏鏁版嵁銆�";
+            hashMap.put("msg", msg);
+            return hashMap;
+        }
         System.out.println("poiMap: " + poiObj);
         hashMap.put("func", func);
         hashMap.put("data", poiObj);
+        String msg = "宸叉煡璇㈠埌" + place + "鐩稿叧鏁版嵁銆�" + place + "鏁版嵁宸插湪鍦板浘涓婃樉绀�";
+        hashMap.put("msg", msg);
         return hashMap;
     }
 

--
Gitblit v1.9.3