From cd0c9797406acc8a0f1e0a3e3f463a68425e3ef8 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 25 六月 2024 16:50:32 +0800
Subject: [PATCH] 2024-06-25 朱宝民 构造命令、发送命令、结果处理代码放到父类

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java                     |    5 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java         |  579 +++++++--------------------------------------------------
 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java        |    1 
 4 files changed, 77 insertions(+), 510 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
index 858ccf8..4e87aee 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
@@ -44,8 +44,6 @@
  * @Description 鍛戒护鏀拺绫�
  */
 
-//@Component
-//@DependsOn({"baSettingsMapper", "prControllerMapper"})
 public class ComSupport {
     protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ;
 
@@ -291,7 +289,7 @@
             System.out.println(job_subData);
             Boolean dealResult = job_subData.getBoolean("success");
             if(!dealResult) {
-                return BaseResponseUtils.buildFail(response_CallBack.getContent().toString());
+                return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
             }
 
             /**
@@ -310,7 +308,6 @@
                 virtualCard.setLastOperateTime(new Date());
                 seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
             }
-
 
             // 鍥炶皟杩斿洖鐨勫唴瀹�
             Data myData = (Data)response_CallBack.getContent();
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
index 602291e..fbc7a35 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
@@ -158,7 +158,6 @@
                 jsonObject.put("isOnLine", entry.getValue());
                 jsonArray.add(jsonObject);
             }
-
             System.out.println(jsonArray);
             return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId);
         } else {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java
index 9aab06e..1bf90bd 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java
@@ -19,7 +19,7 @@
     GET_RESULT_ERROR(10002, "鑾峰彇缁撴灉寮傚父"),
     PLEASE_SELECT_A_VC(10003, "璇烽�夋嫨涓�寮犺櫄鎷熷崱"),
     IN_USE_VC_CANNOT_OPEN_VALVE(10004, "浣跨敤涓櫄鎷熷崱涓嶈兘鐢ㄦ潵寮�闃�"),
-    VALVE_CLOSED(10005, "璇ュ彇姘村彛宸插叧闃�"),
+    VALVE_CLOSED(10005, "璇ュ彇姘村彛涓嶅湪绾挎垨宸插叧闃�"),
 
     /**
      * RTU
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
index d3eb063..aa03070 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java
@@ -1,10 +1,7 @@
 package com.dy.pipIrrRemote.valve;
 
-import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.aop.SsoAop;
-import com.dy.common.mw.protocol.Command;
-import com.dy.common.mw.protocol.Data;
 import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1;
 import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo;
 import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com98Vo;
@@ -15,17 +12,14 @@
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.pipIrrGlobal.command.ComSupport;
+import com.dy.pipIrrGlobal.command.dto.Param;
 import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper;
-import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
-import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedParam;
 import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
 import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
 import com.dy.pipIrrRemote.common.CommandSv;
 import com.dy.pipIrrRemote.common.dto.DtoBase;
-import com.dy.pipIrrRemote.common.dto.ValveClose;
 import com.dy.pipIrrRemote.common.dto.ValveOpen;
-import com.dy.pipIrrRemote.common.enums.LastOperateENUM;
 import com.dy.pipIrrRemote.result.RemoteResultCode;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.validation.Valid;
@@ -37,9 +31,9 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.time.format.DateTimeFormatter;
-import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.Optional;
 
 /**
  * @author ZhuBaoMin
@@ -135,71 +129,24 @@
             param.elePrice = 0.0;
             param.orderNo = orderNo;
 
-            // 鏋勯�犲懡浠�
-            Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
-
-            // 鍙戦�佸懡浠�
-            JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
-            if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
-                //if(1 > 0) {
-                // 璇锋眰鎴愬姛
-
-                // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
-                String commandName = CodeV202404.getCodeName(commandCode);
-                RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
-                commandSv.insert(rmCommandHistory);
-
-                // 澶勭悊鍥炶皟
-                BaseResponse response_CallBack = dealWithCallBack(comId);
-
-                // 鍥炶皟澶辫触
-                if(!response_CallBack.getCode().equals("0001")) {
-                    // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    //rmCommandHistory = new RmCommandHistory();
-                    //rmCommandHistory.setId(comId);
-                    //rmCommandHistory.setResult((byte)0);
-                    //commandSv.updateCommandResult(rmCommandHistory);
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg());
-                    //return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
-                JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
-                System.out.println(job_content);
-                JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
-                System.out.println(job_subData);
-                Boolean dealResult = job_subData.getBoolean("success");
-                if(!dealResult) {
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                /**
-                 * 鎵ц鎴愬姛
-                 * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
-                 */
-//                SeVirtualCard virtualCard = new SeVirtualCard();
-//                virtualCard.setId(vcId);
-//                virtualCard.setInUse((byte) 1);
-//                virtualCard.setIntakeId(intakeId);
-//                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-//                virtualCard.setLastOperateTime(new Date());
-//                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
-
-                // 鍥炶皟杩斿洖鐨勫唴瀹�
-                //Data myData = (Data)response_CallBack.getContent();
-                //return BaseResponseUtils.buildSuccess(myData);
-
-                JSONObject job_response = new JSONObject();
-                job_response.put("rtuAddr", rtuAddr);
-                job_response.put("vcNum", vc.getVcNum());
-                job_response.put("orderNo", orderNo);
-                //job_response.put("operator", operator);
-                return BaseResponseUtils.buildSuccess(job_response);
-            } else {
-                // 璇锋眰澶辫触
-                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
-                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
-            }
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setComType((byte)1);
+            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(rtuResultSendWebUrl);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
         } else if(protocol.equals("p206V1_0_1")) {
             // 鑾峰彇鍔熻兘鐮�
             commandCode = CodeV1_0_1.cd_92;
@@ -211,299 +158,24 @@
             param.waterPrice = waterPrice;
             param.orderNo = orderNo;
 
-            // 鏋勯�犲懡浠�
-            Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
-
-            // 鍙戦�佸懡浠�
-            JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
-            if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
-                //if(1 > 0) {
-                // 璇锋眰鎴愬姛
-
-                // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
-                String commandName = CodeV1_0_1.getCodeName(commandCode);
-                RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
-                commandSv.insert(rmCommandHistory);
-
-                // 澶勭悊鍥炶皟
-                BaseResponse response_CallBack = dealWithCallBack(comId);
-
-                //鍥炶皟寮傚父
-                if(!response_CallBack.getCode().equals("0001")) {
-                    // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                // 鍥炶皟瓒呮椂
-                if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) {
-                    /**
-                     * 鍥炶皟瓒呮椂锛屾殏鏃惰涓烘墽琛屽け璐�
-                     * 鍛戒护缃负澶辫触
-                     * 铏氭嫙鍗′緷鏃т繚鎸佷娇鐢ㄤ腑鐨勭姸鎬�
-                     * 涓嶈繑鍥炲叧闃�鍙傛暟
-                     */
-
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
-
-                    //SeVirtualCard virtualCard = new SeVirtualCard();
-                    //virtualCard.setId(vcId);
-                    //virtualCard.setInUse((byte) 1);
-                    //virtualCard.setIntakeId(intakeId);
-                    //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                    //virtualCard.setLastOperateTime(new Date());
-                    //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
-
-                    //JSONObject job_response = new JSONObject();
-                    //job_response.put("message", RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
-                    //job_response.put("rtuAddr", rtuAddr);
-                    //job_response.put("vcNum", vc.getVcNum());
-                    //job_response.put("orderNo", orderNo);
-                    //return BaseResponseUtils.buildSuccess(job_response);
-                    return BaseResponseUtils.buildErrorMsg(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
-
-                }
-
-                // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
-                JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
-                System.out.println(job_content);
-                JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
-                System.out.println(job_subData);
-                Boolean dealResult = job_subData.getBoolean("success");
-                if(!dealResult) {
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                /**
-                 * 鎵ц鎴愬姛
-                 * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
-                 */
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 1);
-                virtualCard.setIntakeId(intakeId);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
-
-                // 鍥炶皟杩斿洖鐨勫唴瀹�
-                //Data myData = (Data)response_CallBack.getContent();
-                //return BaseResponseUtils.buildSuccess(myData) ;
-
-                JSONObject job_response = new JSONObject();
-                job_response.put("message", "ok");
-                job_response.put("rtuAddr", rtuAddr);
-                job_response.put("vcNum", vc.getVcNum());
-                job_response.put("orderNo", orderNo);
-                //job_response.put("operator", operator);
-                return BaseResponseUtils.buildSuccess(job_response);
-
-            } else {
-                // 璇锋眰澶辫触
-                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
-                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
-            }
-        } else {
-            return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
-        }
-    }
-
-    /**
-     * 骞冲彴杩滅▼鍏抽榾_鍙傛暟妯″紡
-     * @param valve
-     * @param bindingResult
-     * @return
-     */
-    @PostMapping(path = "close", consumes = MediaType.APPLICATION_JSON_VALUE)
-    @Transactional(rollbackFor = Exception.class)
-    @SsoAop()
-    public BaseResponse<Boolean> close(@RequestBody @Valid ValveClose valve, BindingResult bindingResult) {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss");
-        if(bindingResult != null && bindingResult.hasErrors()){
-            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-        }
-
-        String rtuAddr = valve.getRtuAddr();
-        String vcNum = valve.getVcNum();
-        String orderNo = valve.getOrderNo();
-        Long operator = valve.getOperator();
-        Long comId = idLongGenerator.generate();
-
-        // 鑾峰彇绯荤粺鍙傛暟
-        if(!setuped) {
-            setUp();
-        }
-
-        // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚
-        JSONObject job_rtu = getRtu(null, rtuAddr);
-        if(job_rtu == null) {
-            return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
-        }
-        Long intakeId = job_rtu.getLong("intakeId");
-        String protocol = job_rtu.getString("protocol");
-
-        String commandCode = null;
-        if(protocol.equals("p206V202404")) {
-            // 鑾峰彇鍔熻兘鐮�
-            commandCode = CodeV202404.cd_93;
-
-            // 鍒涘缓瑙嗗浘
-            ComCd93_A3Vo param = new ComCd93_A3Vo();
-            param.controllerType = controllerType;
-            param.projectNo = projectNo;
-            param.icCardNo = vcNum;
-            param.orderNo = orderNo;
-
-            // 鏋勯�犲懡浠�
-            Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
-
-            // 鍙戦�佸懡浠�
-            JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
-            if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
-                // 璇锋眰鎴愬姛
-
-                // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
-                String commandName = CodeV202404.getCodeName(commandCode);
-                RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
-                commandSv.insert(rmCommandHistory);
-
-                // 澶勭悊鍥炶皟
-                BaseResponse response_CallBack = dealWithCallBack(comId);
-
-                // 鍥炶皟澶辫触
-                if(!response_CallBack.getCode().equals("0001")) {
-                    // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    //rmCommandHistory = new RmCommandHistory();
-                    //rmCommandHistory.setId(comId);
-                    //rmCommandHistory.setResult((byte)0);
-                    //commandSv.updateCommandResult(rmCommandHistory);
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg());
-                    //return BaseResponseUtils.buildErrorMsgMsg(WechatResultCode.GET_RESULT_ERROR.getMessage());
-                }
-
-                // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
-                JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
-                System.out.println(job_content);
-                JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
-                System.out.println(job_subData);
-                Boolean dealResult = job_subData.getBoolean("success");
-                if(!dealResult) {
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                /**
-                 * 鎵ц鎴愬姛
-                 * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
-                 */
-                //SeVirtualCard virtualCard = seVirtualCardMapper.getVcCardByNum(vcNum);
-                //virtualCard.setInUse((byte) 0);
-                //virtualCard.setIntakeId(null);
-                //virtualCard.setLastOperate(LastOperateENUM.CLOSE_VALVE.getCode());
-                //virtualCard.setLastOperateTime(new Date());
-                //seVirtualCardMapper.updateByPrimaryKey(virtualCard);
-
-                // 鍥炶皟杩斿洖鐨勫唴瀹�
-                Data myData = (Data)response_CallBack.getContent();
-                return BaseResponseUtils.buildSuccess(myData) ;
-            } else {
-                // 璇锋眰澶辫触
-                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
-                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
-            }
-        } else if(protocol.equals("p206V1_0_1")) {
-            // 鑾峰彇鍔熻兘鐮�
-            commandCode = CodeV1_0_1.cd_93;
-
-            // 鍒涘缓瑙嗗浘
-            Com98Vo param = new Com98Vo() ;
-            param.icCardNo = vcNum;
-            param.orderNo = orderNo;
-
-            // 鏋勯�犲懡浠�
-            Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
-
-            // 鍙戦�佸懡浠�
-            JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
-            if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
-                //if(1 > 0) {
-                // 璇锋眰鎴愬姛
-
-                // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
-                String commandName = CodeV1_0_1.getCodeName(commandCode);
-                RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
-                commandSv.insert(rmCommandHistory);
-
-                // 澶勭悊鍥炶皟
-                BaseResponse response_CallBack = dealWithCallBack(comId);
-
-                // 鍥炶皟寮傚父
-                if(!response_CallBack.getCode().equals("0001")) {
-                    // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                // 鍥炶皟瓒呮椂
-                if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) {
-                    /**
-                     * 鍥炶皟瓒呮椂锛屾殏鏃惰涓烘墽琛屽け璐�
-                     * 鍛戒护缃负澶辫触
-                     * 铏氭嫙鍗′緷鏃т繚鎸佷娇鐢ㄤ腑鐨勭姸鎬�
-                     */
-
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
-
-
-                    //SeVirtualCard virtualCard = seVirtualCardMapper.getVcCardByNum(vcNum);
-                    //virtualCard.setInUse((byte) 0);
-                    //virtualCard.setIntakeId(null);
-                    //virtualCard.setLastOperate(LastOperateENUM.CLOSE_VALVE.getCode());
-                    //virtualCard.setLastOperateTime(new Date());
-                    //seVirtualCardMapper.updateByPrimaryKey(virtualCard);
-                    return BaseResponseUtils.buildErrorMsg(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
-                }
-
-                // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
-                JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
-                System.out.println(job_content);
-                JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
-                System.out.println(job_subData);
-                Boolean dealResult = job_subData.getBoolean("success");
-                if(!dealResult) {
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                /**
-                 * 鎵ц鎴愬姛
-                 * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
-                 */
-                SeVirtualCard virtualCard = seVirtualCardMapper.getVcCardByNum(vcNum);
-                virtualCard.setInUse((byte) 0);
-                virtualCard.setIntakeId(null);
-                virtualCard.setLastOperate(LastOperateENUM.CLOSE_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKey(virtualCard);
-
-                // 鍥炶皟杩斿洖鐨勫唴瀹�
-                Data myData = (Data)response_CallBack.getContent();
-                return BaseResponseUtils.buildSuccess(myData) ;
-            } else {
-                // 璇锋眰澶辫触
-                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
-                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
-            }
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 1 鍑嗗鍙傛暟
+             * 2 璋冪敤鍏叡鏂规硶
+             */
+            Param myParam = new Param();
+            myParam.setComId(comId);
+            myParam.setComType((byte)1);
+            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(rtuResultSendWebUrl);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
         } else {
             return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
         }
@@ -519,7 +191,6 @@
     @Transactional(rollbackFor = Exception.class)
     @SsoAop()
     public BaseResponse<Boolean> closeByIntake(@RequestBody @Valid DtoBase dtoBase, BindingResult bindingResult) {
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss");
         if(bindingResult != null && bindingResult.hasErrors()){
             return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
@@ -539,6 +210,7 @@
         }
         String rtuAddr = voUnclosedParam.getRtuAddr();
         String vcNum = voUnclosedParam.getVcNum();
+        Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L);
         String orderNo = voUnclosedParam.getOrderNo();
         Long comId = idLongGenerator.generate();
 
@@ -567,63 +239,24 @@
             param.icCardNo = vcNum;
             param.orderNo = orderNo;
 
-            // 鏋勯�犲懡浠�
-            Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
-
-            // 鍙戦�佸懡浠�
-            JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
-            if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
-                // 璇锋眰鎴愬姛
-
-                // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
-                String commandName = CodeV202404.getCodeName(commandCode);
-                RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
-                commandSv.insert(rmCommandHistory);
-
-                // 澶勭悊鍥炶皟
-                BaseResponse response_CallBack = dealWithCallBack(comId);
-
-                // 鍥炶皟澶辫触
-                if(!response_CallBack.getCode().equals("0001")) {
-                    // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    //rmCommandHistory = new RmCommandHistory();
-                    //rmCommandHistory.setId(comId);
-                    //rmCommandHistory.setResult((byte)0);
-                    //commandSv.updateCommandResult(rmCommandHistory);
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg());
-                    //return BaseResponseUtils.buildErrorMsgMsg(WechatResultCode.GET_RESULT_ERROR.getMessage());
-                }
-
-                // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
-                JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
-                System.out.println(job_content);
-                JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
-                System.out.println(job_subData);
-                Boolean dealResult = job_subData.getBoolean("success");
-                if(!dealResult) {
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                /**
-                 * 鎵ц鎴愬姛
-                 * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
-                 */
-                //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
-                //SeVirtualCard virtualCard = new SeVirtualCard();
-                //virtualCard.setId(vcId);
-                //virtualCard.setInUse((byte) 0);
-                //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                //virtualCard.setLastOperateTime(new Date());
-                //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
-
-                // 鍥炶皟杩斿洖鐨勫唴瀹�
-                Data myData = (Data)response_CallBack.getContent();
-                return BaseResponseUtils.buildSuccess(myData) ;
-            } else {
-                // 璇锋眰澶辫触
-                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
-                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
-            }
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 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(rtuResultSendWebUrl);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
         } else if(protocol.equals("p206V1_0_1")) {
             // 鑾峰彇鍔熻兘鐮�
             commandCode = CodeV1_0_1.cd_93;
@@ -633,86 +266,24 @@
             param.icCardNo = vcNum;
             param.orderNo = orderNo;
 
-            // 鏋勯�犲懡浠�
-            Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param);
-
-            // 鍙戦�佸懡浠�
-            JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com));
-            if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) {
-                //if(1 > 0) {
-                // 璇锋眰鎴愬姛
-
-                // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑
-                String commandName = CodeV1_0_1.getCodeName(commandCode);
-                RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator);
-                commandSv.insert(rmCommandHistory);
-
-                // 澶勭悊鍥炶皟
-                BaseResponse response_CallBack = dealWithCallBack(comId);
-
-                // 鍥炶皟寮傚父
-                if(!response_CallBack.getCode().equals("0001")) {
-                    // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                // 鍥炶皟瓒呮椂
-                if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) {
-                    /**
-                     * 鍥炶皟瓒呮椂锛屾殏鏃惰涓烘墽琛屽け璐�
-                     * 鍛戒护缃负澶辫触
-                     * 铏氭嫙鍗′緷鏃т繚鎸佷娇鐢ㄤ腑鐨勭姸鎬�
-                     */
-
-                    rmCommandHistory = new RmCommandHistory();
-                    rmCommandHistory.setId(comId);
-                    rmCommandHistory.setResult((byte)0);
-                    commandSv.updateCommandResult(rmCommandHistory);
-
-                    //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
-                    //SeVirtualCard virtualCard = new SeVirtualCard();
-                    //virtualCard.setId(vcId);
-                    //virtualCard.setInUse((byte) 0);
-                    //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                    //virtualCard.setLastOperateTime(new Date());
-                    //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
-                    return BaseResponseUtils.buildErrorMsg(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
-                }
-
-                // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛
-                JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent());
-                System.out.println(job_content);
-                JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData");
-                System.out.println(job_subData);
-                Boolean dealResult = job_subData.getBoolean("success");
-                if(!dealResult) {
-                    return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString());
-                }
-
-                /**
-                 * 鎵ц鎴愬姛
-                 * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂�
-                 */
-                Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum);
-                SeVirtualCard virtualCard = new SeVirtualCard();
-                virtualCard.setId(vcId);
-                virtualCard.setInUse((byte) 0);
-                virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode());
-                virtualCard.setLastOperateTime(new Date());
-                seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard);
-
-                // 鍥炶皟杩斿洖鐨勫唴瀹�
-                Data myData = (Data)response_CallBack.getContent();
-                return BaseResponseUtils.buildSuccess(myData) ;
-            } else {
-                // 璇锋眰澶辫触
-                JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
-                return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
-            }
+            /**
+             * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+             * 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(rtuResultSendWebUrl);
+            myParam.setOperator(operator);
+            return dealWithCommandResult(myParam);
         } else {
             return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
         }

--
Gitblit v1.8.0