From 44eb64bef08ce231ac95d5ee482b046014dc8afa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 08 九月 2025 11:29:26 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java |  286 ++++++++++++++++++++++----------------------------------
 1 files changed, 112 insertions(+), 174 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
index c327f54..4e8fe9f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java
@@ -9,8 +9,6 @@
 import com.dy.common.mw.protocol.p206V202404.CodeV202404;
 import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404;
 import com.dy.common.mw.protocol.p206V202404.downVos.ComCd15Vo;
-import com.dy.common.mw.protocol.p206V202404.downVos.ComCd92_A2Vo;
-import com.dy.common.mw.protocol.p206V202404.downVos.ComCd93_A3Vo;
 import com.dy.common.util.IDLongGenerator;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
@@ -72,12 +70,6 @@
         this.env = env;
     }
 
-    /**
-     * 灏忕▼搴忚繙绋嬪紑闃�
-     * @param valve
-     * @param bindingResult
-     * @return
-     */
     @PostMapping(path = "open_wx", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> open(@RequestBody @Valid ValveOpen valve, BindingResult bindingResult) {
@@ -224,13 +216,6 @@
         //}
     }
 
-    /**
-     * 灏忕▼搴忚繙绋嬪叧闃�
-     *
-     * @param valve
-     * @param bindingResult
-     * @return
-     */
     @PostMapping(path = "close_wx", consumes = MediaType.APPLICATION_JSON_VALUE)
     //@Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> close(@RequestBody @Valid ValveClose valve, BindingResult bindingResult) {
@@ -238,95 +223,95 @@
             return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
 
-        String rtuAddr = valve.getRtuAddr();
-        String vcNum = valve.getVcNum();
-        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
-        String orderNo = valve.getOrderNo();
-        Long operator = valve.getOperator();
-        Long comId = new IDLongGenerator().generate();
-
-        // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
-        JSONObject job_rtu = getRtu(null, rtuAddr);
-        if (job_rtu == null) {
-            return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_EXIST.getMessage());
+        Map map_result = commandSv.closeWx(valve, null, null);
+        if(map_result.get("success").equals(false)) {
+            return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
         }
-        Long intakeId = job_rtu.getLong("intakeId");
-        String protocol = job_rtu.getString("protocol");
-        //String orgTag = job_rtu.getString("orgTag");
-        //if(orgTag == null) {
-        //    return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_SET_DATA_SOURCE.getMessage());
+        return BaseResponseUtils.buildSuccess(map_result.get("content")) ;
+
+        //String rtuAddr = valve.getRtuAddr();
+        //String vcNum = valve.getVcNum();
+        //Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
+        //String orderNo = valve.getOrderNo();
+        //Long operator = valve.getOperator();
+        //Long comId = new IDLongGenerator().generate();
+        //
+        //// 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
+        //JSONObject job_rtu = getRtu(null, rtuAddr);
+        //if (job_rtu == null) {
+        //    return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_EXIST.getMessage());
         //}
-        //comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
-        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
-
-        String commandCode = null;
-        if (protocol.equals(ProtocolConstantV206V202404.protocolName)) {
-            // 鑾峰彇鍔熻兘鐮�
-            commandCode = CodeV202404.cd_A3;
-
-            // 鍒涘缓瑙嗗浘
-            ComCd93_A3Vo param = new ComCd93_A3Vo();
-            param.controllerType = controllerType;
-            param.projectNo = projectNo;
-            param.icCardNo = vcNum;
-            param.orderNo = orderNo;
-
-            /**
-             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
-             * 1 鍑嗗鍙傛暟
-             * 2 璋冪敤鍏叡鏂规硶
-             */
-            Param myParam = new Param();
-            myParam.setComId(comId);
-            myParam.setComType((byte)2);
-            myParam.setCommandCode(commandCode);
-            myParam.setCommandName(CodeV202404.getCodeName(commandCode));
-            myParam.setIntakeId(intakeId);
-            myParam.setRtuAddr(rtuAddr);
-            myParam.setProtocol(protocol);
-            myParam.setVcId(vcId);
-            myParam.setParam(param);
-            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
-            myParam.setOperator(operator);
-            return dealWithCommandResult(myParam);
-        } else if (protocol.equals(ProtocolConstantV206V1.protocolName) || protocol.equals(ProtocolConstantV206V2.protocolName)) {
-            // 鑾峰彇鍔熻兘鐮�
-            commandCode = CodeV1.cd_98;
-
-            // 鍒涘缓瑙嗗浘
-            Com98Vo param = new Com98Vo();
-            param.icCardNo = vcNum;
-            param.orderNo = orderNo;
-
-            /**
-             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
-             * 1 鍑嗗鍙傛暟
-             * 2 璋冪敤鍏叡鏂规硶
-             */
-            Param myParam = new Param();
-            myParam.setComId(comId);
-            myParam.setComType((byte)2);
-            myParam.setCommandCode(commandCode);
-            myParam.setCommandName(CodeV1.getCodeName(commandCode));
-            myParam.setIntakeId(intakeId);
-            myParam.setRtuAddr(rtuAddr);
-            myParam.setProtocol(protocol);
-            myParam.setVcId(vcId);
-            myParam.setParam(param);
-            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
-            myParam.setOperator(operator);
-            return dealWithCommandResult(myParam);
-        } else {
-            return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
-        }
+        //Long intakeId = job_rtu.getLong("intakeId");
+        //String protocol = job_rtu.getString("protocol");
+        ////String orgTag = job_rtu.getString("orgTag");
+        ////if(orgTag == null) {
+        ////    return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_SET_DATA_SOURCE.getMessage());
+        ////}
+        ////comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
+        //comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
+        //
+        //String commandCode = null;
+        //if (protocol.equals(ProtocolConstantV206V202404.protocolName)) {
+        //    // 鑾峰彇鍔熻兘鐮�
+        //    commandCode = CodeV202404.cd_A3;
+        //
+        //    // 鍒涘缓瑙嗗浘
+        //    ComCd93_A3Vo param = new ComCd93_A3Vo();
+        //    param.controllerType = controllerType;
+        //    param.projectNo = projectNo;
+        //    param.icCardNo = vcNum;
+        //    param.orderNo = orderNo;
+        //
+        //    /**
+        //     * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+        //     * 1 鍑嗗鍙傛暟
+        //     * 2 璋冪敤鍏叡鏂规硶
+        //     */
+        //    Param myParam = new Param();
+        //    myParam.setComId(comId);
+        //    myParam.setComType((byte)2);
+        //    myParam.setCommandCode(commandCode);
+        //    myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+        //    myParam.setIntakeId(intakeId);
+        //    myParam.setRtuAddr(rtuAddr);
+        //    myParam.setProtocol(protocol);
+        //    myParam.setVcId(vcId);
+        //    myParam.setParam(param);
+        //    myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
+        //    myParam.setOperator(operator);
+        //    return dealWithCommandResult(myParam);
+        //} else if (protocol.equals(ProtocolConstantV206V1.protocolName) || protocol.equals(ProtocolConstantV206V2.protocolName)) {
+        //    // 鑾峰彇鍔熻兘鐮�
+        //    commandCode = CodeV1.cd_98;
+        //
+        //    // 鍒涘缓瑙嗗浘
+        //    Com98Vo param = new Com98Vo();
+        //    param.icCardNo = vcNum;
+        //    param.orderNo = orderNo;
+        //
+        //    /**
+        //     * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+        //     * 1 鍑嗗鍙傛暟
+        //     * 2 璋冪敤鍏叡鏂规硶
+        //     */
+        //    Param myParam = new Param();
+        //    myParam.setComId(comId);
+        //    myParam.setComType((byte)2);
+        //    myParam.setCommandCode(commandCode);
+        //    myParam.setCommandName(CodeV1.getCodeName(commandCode));
+        //    myParam.setIntakeId(intakeId);
+        //    myParam.setRtuAddr(rtuAddr);
+        //    myParam.setProtocol(protocol);
+        //    myParam.setVcId(vcId);
+        //    myParam.setParam(param);
+        //    myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
+        //    myParam.setOperator(operator);
+        //    return dealWithCommandResult(myParam);
+        //} else {
+        //    return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        //}
     }
 
-    /**
-     * 瀹氭椂鍏抽榾
-     * @param automaticClose
-     * @param bindingResult
-     * @return
-     */
     @PostMapping(path = "timed_close", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> timedClose(@RequestBody @Valid AutomaticClose automaticClose, BindingResult bindingResult) {
@@ -340,11 +325,6 @@
         Long operator = automaticClose.getOperator();
         Long comId = new IDLongGenerator().generate();
 
-        /**
-         * 濡傛灉鍐滄埛閫夋嫨浜嗚櫄鎷熷崱锛屽垯浣跨敤璇ヨ櫄鎷熷崱
-         * 濡傛灉鍐滄埛鏈�夋嫨铏氭嫙鍗★紝鍒欐牴鎹彇姘村彛ID鑾峰彇涓庝箣缁戝畾鐨勮櫄鎷熷崱
-         * 濡傛灉鍙栨按鍙f病鏈変笌涔嬬粦瀹氱殑铏氭嫙鍗★紝鍒欐彁绀哄啘鎴烽�夋嫨涓�寮犺櫄鎷熷崱
-         */
         if(vcId == null) {
             vcId = commandSv.getVcIdByIntakeId(intakeId);
             if(vcId == null) {
@@ -418,18 +398,20 @@
             myParam.setParam(param);
             myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
             myParam.setOperator(operator);
-            return dealWithCommandResult(myParam);
+            //return dealWithCommandResult(myParam);
+
+            BaseResponse<Boolean> result = dealWithCommandResult(myParam);
+            // 濡傛灉鍛戒护鎵ц澶辫触锛屽垯鍐嶆鎵ц鍛戒护
+            if(!result.isSuccess()) {
+                myParam.setComId(new IDLongGenerator().generate());
+                result = dealWithCommandResult(myParam);
+            }
+            return result;
         } else {
             return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
         }
     }
 
-    /**
-     * 瀹氶噺鍏抽榾
-     * @param automaticClose
-     * @param bindingResult
-     * @return
-     */
     @PostMapping(path = "quantify_close", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> quantifyClose(@RequestBody @Valid AutomaticClose automaticClose, BindingResult bindingResult) {
@@ -443,11 +425,6 @@
         Long operator = automaticClose.getOperator();
         Long comId = new IDLongGenerator().generate();
 
-        /**
-         * 濡傛灉鍐滄埛閫夋嫨浜嗚櫄鎷熷崱锛屽垯浣跨敤璇ヨ櫄鎷熷崱
-         * 濡傛灉鍐滄埛鏈�夋嫨铏氭嫙鍗★紝鍒欐牴鎹彇姘村彛ID鑾峰彇涓庝箣缁戝畾鐨勮櫄鎷熷崱
-         * 濡傛灉鍙栨按鍙f病鏈変笌涔嬬粦瀹氱殑铏氭嫙鍗★紝鍒欐彁绀哄啘鎴烽�夋嫨涓�寮犺櫄鎷熷崱
-         */
         if(vcId == null) {
             vcId = commandSv.getVcIdByIntakeId(intakeId);
             if(vcId == null) {
@@ -504,11 +481,6 @@
             param.setWaterAmount(waterAmount);
             param.setOrderNo(orderNo);
 
-            /**
-             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
-             * 1 鍑嗗鍙傛暟
-             * 2 璋冪敤鍏叡鏂规硶
-             */
             Param myParam = new Param();
             myParam.setComId(comId);
             myParam.setComType((byte)1);
@@ -521,18 +493,20 @@
             myParam.setParam(param);
             myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
             myParam.setOperator(operator);
-            return dealWithCommandResult(myParam);
+            //return dealWithCommandResult(myParam);
+
+            BaseResponse<Boolean> result = dealWithCommandResult(myParam);
+            // 濡傛灉鍛戒护鎵ц澶辫触锛屽垯鍐嶆鎵ц鍛戒护
+            if(!result.isSuccess()) {
+                myParam.setComId(new IDLongGenerator().generate());
+                result = dealWithCommandResult(myParam);
+            }
+            return result;
         } else {
             return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
         }
     }
 
-    /**
-     * 璁″垝寮�闃�瀹氭椂鍏抽榾
-     * @param automaticClose
-     * @param bindingResult
-     * @return
-     */
     @PostMapping(path = "planed_open_timed_close", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> planedOpenTimedClose(@RequestBody @Valid AutomaticClose automaticClose, BindingResult bindingResult) {
@@ -659,12 +633,6 @@
         //}
     }
 
-    /**
-     * 璁″垝寮�闃�瀹氶噺鍏抽榾
-     * @param automaticClose
-     * @param bindingResult
-     * @return
-     */
     @PostMapping(path = "planed_open_quantify_close", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> planedOpenQuantifyClose(@RequestBody @Valid AutomaticClose automaticClose, BindingResult bindingResult) {
@@ -685,11 +653,6 @@
         Integer hour = Integer.parseInt(String.format("%tH", plannedOpenTime));
         Integer minute = Integer.parseInt(String.format("%tM", plannedOpenTime));
 
-        /**
-         * 濡傛灉鍐滄埛閫夋嫨浜嗚櫄鎷熷崱锛屽垯浣跨敤璇ヨ櫄鎷熷崱
-         * 濡傛灉鍐滄埛鏈�夋嫨铏氭嫙鍗★紝鍒欐牴鎹彇姘村彛ID鑾峰彇涓庝箣缁戝畾鐨勮櫄鎷熷崱
-         * 濡傛灉鍙栨按鍙f病鏈変笌涔嬬粦瀹氱殑铏氭嫙鍗★紝鍒欐彁绀哄啘鎴烽�夋嫨涓�寮犺櫄鎷熷崱
-         */
         if(vcId == null) {
             vcId = commandSv.getVcIdByIntakeId(intakeId);
             if(vcId == null) {
@@ -751,11 +714,6 @@
             param.setMinute(minute);
             param.setOrderNo(orderNo);
 
-            /**
-             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
-             * 1 鍑嗗鍙傛暟
-             * 2 璋冪敤鍏叡鏂规硶
-             */
             Param myParam = new Param();
             myParam.setComId(comId);
             myParam.setComType((byte)1);
@@ -768,18 +726,20 @@
             myParam.setParam(param);
             myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
             myParam.setOperator(operator);
-            return dealWithCommandResult(myParam);
+            //return dealWithCommandResult(myParam);
+
+            BaseResponse<Boolean> result = dealWithCommandResult(myParam);
+            // 濡傛灉鍛戒护鎵ц澶辫触锛屽垯鍐嶆鎵ц鍛戒护
+            if(!result.isSuccess()) {
+                myParam.setComId(new IDLongGenerator().generate());
+                result = dealWithCommandResult(myParam);
+            }
+            return result;
         } else {
             return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
         }
     }
 
-    /**
-     * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍
-     *
-     * @param operator
-     * @return
-     */
     @GetMapping(path = "/get")
     public BaseResponse<List<VoUnclosedValve>> getUnclosedValves(@RequestParam Long operator) {
         try {
@@ -791,12 +751,6 @@
         }
     }
 
-    /**
-     * 寮哄埗闅愯棌鏈叧闃�璁板綍锛氫负鎸囧畾锛堥榾鎺у櫒鍦板潃銆佹按鍗$紪鍙枫�佹棤鍏抽榾璁板綍锛夊紑鍏抽榾鏈�鏂拌褰曟坊鍔犲叧闃�鏃堕棿锛屼娇涔嬩笉鍦ㄦ湭鍏抽榾璁板綍涓樉绀�
-     * @param po
-     * @param bindingResult
-     * @return
-     */
     @PostMapping(path = "deleteUnclosed", consumes = MediaType.APPLICATION_JSON_VALUE)
     public BaseResponse<Boolean> deleteUnclosed(@RequestBody @Valid deleteUnclosedParam po, BindingResult bindingResult) {
         if(bindingResult != null && bindingResult.hasErrors()){
@@ -807,12 +761,6 @@
         return BaseResponseUtils.buildSuccess();
     }
 
-    /**
-     * 灏忕▼搴忚繙绋嬪厖鍊�
-     * @param po
-     * @param bindingResult
-     * @return
-     */
     @PostMapping(path = "recharge", consumes = MediaType.APPLICATION_JSON_VALUE)
     @Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> recharge(@RequestBody @Valid Recharge po, BindingResult bindingResult) {
@@ -859,11 +807,6 @@
             param.chargeWater = chargeWater;
             param.flowNo = flowNo;
 
-            /**
-             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
-             * 1 鍑嗗鍙傛暟
-             * 2 璋冪敤鍏叡鏂规硶
-             */
             Param myParam = new Param();
             myParam.setComId(comId);
             myParam.setCommandCode(commandCode);
@@ -882,11 +825,6 @@
         }
     }
 
-    /**
-     * 鏍规嵁閰嶇疆绫诲瀷鑾峰彇閰嶇疆鍊�
-     * @param type
-     * @return
-     */
     @GetMapping(path = "/irrigate_profile")
     public BaseResponse<QueryResultVo<List<VoIrrigaterProfile>>> getIrrPro(Integer type){
         try {

--
Gitblit v1.8.0