From fe1e65520172d8c365d2fe75a843a44243f4faf6 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 28 十月 2024 20:31:48 +0800 Subject: [PATCH] 2024-10-28 代码优化 --- pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java | 72 ++++++++++++++++++++++++------------ 1 files changed, 48 insertions(+), 24 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java index d3a59e3..bf1091b 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java @@ -26,7 +26,6 @@ import org.springframework.web.util.UriComponentsBuilder; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -77,15 +76,25 @@ JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); if(response != null && response.getString("code").equals("0001")) { - JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap"); - HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class); + //JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap"); + JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment"); JSONArray jsonArray = new JSONArray(); - for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("rtuAddr", entry.getKey()); - jsonObject.put("isOnLine", entry.getValue()); - jsonArray.add(jsonObject); + if(attachment != null) { + //HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class); + //for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) { + // JSONObject jsonObject = new JSONObject(); + // jsonObject.put("rtuAddr", entry.getKey()); + // jsonObject.put("isOnLine", entry.getValue()); + // jsonArray.add(jsonObject); + //} + attachment.forEach((key, value) -> { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("rtuAddr", key); + jsonObject.put("isOnLine", value); + jsonArray.add(jsonObject); + + }); } qo.setOnLineMap(jsonArray.toJSONString()); @@ -115,15 +124,25 @@ JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); if(response != null && response.getString("code").equals("0001")) { - JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap"); - HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class); + //JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap"); + JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment"); JSONArray jsonArray = new JSONArray(); - for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("rtuAddr", entry.getKey()); - jsonObject.put("isOnLine", entry.getValue()); - jsonArray.add(jsonObject); + if(attachment != null) { + //HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class); + //for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) { + // JSONObject jsonObject = new JSONObject(); + // jsonObject.put("rtuAddr", entry.getKey()); + // jsonObject.put("isOnLine", entry.getValue()); + // jsonArray.add(jsonObject); + //} + attachment.forEach((key, value) -> { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("rtuAddr", key); + jsonObject.put("isOnLine", value); + jsonArray.add(jsonObject); + + }); } qo.setOnLineMap(jsonArray.toJSONString()); @@ -150,32 +169,37 @@ /** * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛 - * @param operator + * @param operatorId * @return */ - public List<VoOnLineIntake> getUsedIntakes(Long operator) { + public List<VoOnLineIntake> getUsedIntakes(Long operatorId) { Command com = new Command() ; com.id = Command.defaultId; com.code = "LCD0001"; com.type = "innerCommand"; comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw); + JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); + //String response_Str = "{\"code\": \"0001\",\"content\": {\"attachment\": {\"530115059980\": true,\"620201000030\": true},\"code\": \"LCD0001\",\"id\": \"999999999\",\"param\": {\"message\": \"鏌ヨ鎵�鏈塕TU鍦ㄧ嚎鎯呭喌缁撴灉\",\"success\": true},\"protocol\": \"\",\"rtuAddr\": \"\",\"rtuResultSendWebUrl\": \"\",\"type\": \"resultCommand\"},\"msg\": \"璇锋眰鎴愬姛\",\"success\": true}"; + //JSONObject response = JSON.parseObject(response_Str); + //String test = response.toJSONString(); if(response != null && response.getString("code").equals("0001")) { - JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap"); + JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment"); JSONArray jsonArray = new JSONArray(); if(attachment != null) { - HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class); - for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) { + attachment.forEach((key, value) -> { JSONObject jsonObject = new JSONObject(); - jsonObject.put("rtuAddr", entry.getKey()); - jsonObject.put("isOnLine", entry.getValue()); + jsonObject.put("rtuAddr", key); + jsonObject.put("isOnLine", value); jsonArray.add(jsonObject); - } + + }); } - return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator); + System.out.println(jsonArray.toJSONString()); + return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId); } else { return new ArrayList<>(); } -- Gitblit v1.8.0