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