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 |  254 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 173 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 47ecf84..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,10 +6,16 @@
 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;
+import com.dy.pipIrrWechat.intake.qo.QoOpenClose;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,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;
 
@@ -43,6 +47,9 @@
     @Autowired
     private RestTemplate restTemplate;
 
+    @Autowired
+    private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
+
     //protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ;
     protected String comSendUrl;
     /**
@@ -58,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);
     }
 
     /**
@@ -101,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);
     }
 
     /**
@@ -189,6 +227,60 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
+
+        if(response == null) {
+            return BaseResponseUtils.buildErrorMsg("涓棿浠惰皟鐢ㄥけ璐�");
+        }
+
         return response.getBody();
     }
+
+    /**
+     * 鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+     * @param queryVo
+     * @return
+     */
+    public QueryResultVo<List<VoOpenClostWechat>> getCardOpenClose(QoOpenClose queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+        Long itemTotal = rmOpenCloseValveHistoryMapper.getCardOpenCloseCount(params);
+
+        QueryResultVo<List<VoOpenClostWechat>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = queryVo.pageSize;
+        rsVo.pageCurr = queryVo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmOpenCloseValveHistoryMapper.getCardOpenClose(params);
+        return rsVo;
+    }
+
+    /**
+     * 鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+     * @param queryVo
+     * @return
+     */
+    public QueryResultVo<List<VoOpenClostWechat>> getVcCardOpenClose(QoOpenClose queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+        Long itemTotal = rmOpenCloseValveHistoryMapper.getVcCardOpenCloseCount(params);
+
+        QueryResultVo<List<VoOpenClostWechat>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = queryVo.pageSize;
+        rsVo.pageCurr = queryVo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        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