From c42614978ff12013a1eabebd0289b27169a5784f Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 06 五月 2025 17:25:56 +0800
Subject: [PATCH] 1、实现万功能token(0000-0000-1234-9876-5); 2、web端单独实现命令结果等待器,并相应修改相关部分; 3、web端实现透传命令; 4、修改一些不当注释; 5、优化一些代码。

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java |  194 ++++++++++++++++++++++++++++--------------------
 1 files changed, 112 insertions(+), 82 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..c00d8c6 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
@@ -238,87 +238,93 @@
             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("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+        //}
     }
 
     /**
@@ -418,7 +424,15 @@
             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("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
         }
@@ -521,7 +535,15 @@
             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("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
         }
@@ -768,7 +790,15 @@
             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("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
         }

--
Gitblit v1.8.0