From 1cf88d43994ec7ec403319032a9d118b39fe3571 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 25 四月 2025 14:35:35 +0800
Subject: [PATCH] 登录代码优化

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java |  210 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 129 insertions(+), 81 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 010f95c..90bbc2d 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
@@ -6,9 +6,12 @@
 import com.dy.common.multiDataSource.DataSourceContext;
 import com.dy.common.mw.protocol.Command;
 import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
 import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
+import com.dy.pipIrrGlobal.pojoPr.PrIntake;
+import com.dy.pipIrrGlobal.voPr.VoAllIntake;
 import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
 import com.dy.pipIrrGlobal.voRm.VoOpenClostWechat;
 import com.dy.pipIrrWechat.intake.qo.OnLineIntakesQO;
@@ -25,8 +28,6 @@
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.util.UriComponentsBuilder;
 
-import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -64,42 +65,65 @@
         this.env = env;
     }
 
+
+    /**
+     * 鑾峰彇鍙栨按鍙e垪琛�
+     * @return
+     */
+    public QueryResultVo<List<VoOnLineIntake>> selectSomeIntakes(OnLineIntakesQO qo) {
+        // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+        String intakeNum = qo.getIntakeNum();
+        if(intakeNum != null) {
+            qo.setIntakeNum(intakeNum.toLowerCase());
+        }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        Long itemTotal = prIntakeMapper.getSomeIntakesCount4Wx(params);
+
+        QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = prIntakeMapper.getSomeIntakes4Wx(params);
+        return rsVo;
+
+    }
+
     /**
      * 鏍规嵁鍙栨按鍙g紪鍙疯幏鍙栧彇姘村彛瀵硅薄
      * @return
      */
     public VoOnLineIntake selectOneIntake(OnLineIntakesQO qo) {
-        Command com = new Command() ;
-        com.id = Command.defaultId;
-        com.code = "LCD0001";
-        com.type = "innerCommand";
-        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+        //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));
+        //
+        //JSONArray jsonArray = new JSONArray();
+        //if(response != null && response.getString("code").equals("0001")) {
+        //    JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
+        //    if(attachment != null) {
+        //        attachment.forEach((key, value) -> {
+        //            JSONObject jsonObject = new JSONObject();
+        //            jsonObject.put("rtuAddr", key);
+        //            jsonObject.put("isOnLine", value);
+        //            jsonArray.add(jsonObject);
+        //        });
+        //    }
+        //}
+        //qo.setOnLineMap(jsonArray.toJSONString());
 
-        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);
-
-            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);
-            }
-
-            qo.setOnLineMap(jsonArray.toJSONString());
-            // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
-            String intakeNum = qo.getIntakeNum();
-            if(intakeNum != null) {
-                qo.setIntakeNum(intakeNum.toLowerCase());
-            }
-
-            Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
-            return prIntakeMapper.getIntakeByName(params);
-        } else {
-            return new VoOnLineIntake();
+        // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+        String intakeNum = qo.getIntakeNum();
+        if(intakeNum != null) {
+            qo.setIntakeNum(intakeNum.toLowerCase());
         }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        return prIntakeMapper.getIntakeByName(params);
     }
 
     /**
@@ -107,75 +131,83 @@
      * @return
      */
     public QueryResultVo<List<VoOnLineIntake>> selectAllIntakes(OnLineIntakesQO qo) {
-        Command com = new Command() ;
-        com.id = Command.defaultId;
-        com.code = "LCD0001";
-        com.type = "innerCommand";
-        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+        //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));
+        //
+        //JSONArray jsonArray = new JSONArray();
+        //if(response != null && response.getString("code").equals("0001")) {
+        //    JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
+        //    if(attachment != null) {
+        //        attachment.forEach((key, value) -> {
+        //            JSONObject jsonObject = new JSONObject();
+        //            jsonObject.put("rtuAddr", key);
+        //            jsonObject.put("isOnLine", value);
+        //            jsonArray.add(jsonObject);
+        //        });
+        //    }
+        //}
+        //qo.setOnLineMap(jsonArray.toJSONString());
 
-        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);
-
-            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);
-            }
-
-            qo.setOnLineMap(jsonArray.toJSONString());
-            // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
-            String intakeNum = qo.getIntakeNum();
-            if(intakeNum != null) {
-                qo.setIntakeNum(intakeNum.toLowerCase());
-            }
-
-            Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
-            Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params);
-
-            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
-            rsVo.pageSize = qo.pageSize ;
-            rsVo.pageCurr = qo.pageCurr ;
-            rsVo.calculateAndSet(itemTotal, params);
-            rsVo.obj = prIntakeMapper.getOnLineIntakes(params);
-            return rsVo;
-        } else {
-            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
-            return rsVo;
+        // 濡傛灉 intakeNum 涓嶄负绌猴紝鍒欒浆涓哄皬鍐欏啀鍐欏叆qo瀵硅薄
+        String intakeNum = qo.getIntakeNum();
+        if(intakeNum != null) {
+            qo.setIntakeNum(intakeNum.toLowerCase());
         }
+
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+        Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params);
+
+        QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = prIntakeMapper.getOnLineIntakes(params);
+        return rsVo;
+
     }
 
     /**
      * 鏍规嵁鎿嶄綔鍛樿幏鍙栧父鐢ㄥ彇姘村彛
-     * @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();
 
+        JSONArray jsonArray = new JSONArray();
         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");
+            if(attachment != null) {
+                attachment.forEach((key, value) -> {
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put("rtuAddr", key);
+                    jsonObject.put("isOnLine", value);
+                    jsonArray.add(jsonObject);
 
-            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);
+                });
             }
-            return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operator);
-        } else {
-            return new ArrayList<>();
+
+            System.out.println(jsonArray.toJSONString());
+            //return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
+        //} else {
+        //    return new ArrayList<>();
         }
+
+        return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
     }
 
     /**
@@ -195,6 +227,11 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
+
+        if(response == null) {
+            return BaseResponseUtils.buildErrorMsg("涓棿浠惰皟鐢ㄥけ璐�");
+        }
+
         return response.getBody();
     }
 
@@ -235,4 +272,15 @@
         rsVo.obj = rmOpenCloseValveHistoryMapper.getVcCardOpenClose(params);
         return rsVo;
     }
+
+    /**
+     * 寰楀埌鎵�鏈夊彇姘村彛
+     *
+     * @return 鎵�鏈夊彇姘村彛闆嗗悎
+     */
+    public QueryResultVo<List<VoAllIntake>> selectAll() {
+        QueryResultVo<List<VoAllIntake>> rsVo = new QueryResultVo<>();
+        rsVo.obj = this.prIntakeMapper.selectAll();
+        return rsVo;
+    }
 }

--
Gitblit v1.8.0