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