From 3b58972c757734f0dc4b1ff29a0a179ed564ab64 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期三, 17 七月 2024 11:47:42 +0800
Subject: [PATCH] 2024-07-17 朱宝民 重构命令日志表,返回结果改为text类型

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java |   69 +++++++++++++++++++++++++++-------
 1 files changed, 55 insertions(+), 14 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 f5825b3..b3058bf 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
@@ -23,9 +23,11 @@
 import com.dy.pipIrrWechat.result.WechatResultCode;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.validation.Valid;
-import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.RandomStringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.env.Environment;
 import org.springframework.http.MediaType;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
@@ -46,12 +48,31 @@
 @Tag(name = "灏忕▼搴忛榾鎺у櫒鎺у埗", description = "灏忕▼搴忛榾鎺у櫒鎺у埗")
 @RestController
 @RequestMapping(path = "valve")
-@RequiredArgsConstructor
+//@RequiredArgsConstructor
 public class ValveCtrl extends ComSupport {
     private final CommandSv commandSv;
     private final SeVirtualCardMapper seVirtualCardMapper;
     private final IDLongGenerator idLongGenerator;
-    private String rtuResultSendWebUrl = "http://127.0.0.1:8087/wx/comRes/receive";
+
+    @Value("${mw.rtuCallbackUrl_wx}")
+    private String rtuCallbackUrl_wx;
+
+    /**
+     * pro_mw锛氬睘鎬�
+     * tag浠庢帶鍒跺櫒涓幏鍙�
+     * key_mw锛歶rl鐨刱ey
+     */
+    private Environment env = null;
+    private String pro_mw = "mw";
+    private String key_mw = "comSendUrl";
+
+    @Autowired
+    public ValveCtrl(CommandSv commandSv, SeVirtualCardMapper seVirtualCardMapper, IDLongGenerator idLongGenerator, Environment env) {
+        this.commandSv = commandSv;
+        this.seVirtualCardMapper = seVirtualCardMapper;
+        this.idLongGenerator = idLongGenerator;
+        this.env = env;
+    }
 
     /**
      * 灏忕▼搴忚繙绋嬪紑闃�
@@ -60,16 +81,30 @@
      * @return
      */
     @PostMapping(path = "open_wx", consumes = MediaType.APPLICATION_JSON_VALUE)
-    @Transactional(rollbackFor = Exception.class)
+    //@Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> open(@RequestBody @Valid ValveOpen valve, BindingResult bindingResult) {
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
 
         Long intakeId = valve.getIntakeId();
+        String intakeName = valve.getIntakeName();
         Long vcId = valve.getVcId();
+        Boolean forceOpen = valve.getForceOpen();
         Long operator = valve.getOperator();
         Long comId = idLongGenerator.generate();
+
+        if(intakeId == null && intakeName == null) {
+            return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_INTAKE.getMessage());
+        }
+
+        // intakeName鎹ntakeId
+        if(intakeId == null) {
+            intakeId = commandSv.getIntakeIdByName(intakeName);
+            if(intakeId == null) {
+                return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_INTAKE.getMessage());
+            }
+        }
 
         /**
          * 濡傛灉鍐滄埛閫夋嫨浜嗚櫄鎷熷崱锛屽垯浣跨敤璇ヨ櫄鎷熷崱
@@ -93,8 +128,10 @@
         if (vc == null) {
             return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_VC.getMessage());
         }
-        if (vc.getInUse() == 1) {
-            return BaseResponseUtils.buildErrorMsg(WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage());
+
+        // 铏氭嫙鍗$姸鎬佷负浣跨敤涓紝涓斾笉鏄己鍒跺紑闃�鏃舵彁绀�
+        if (vc.getInUse() == 1 && !forceOpen) {
+            return BaseResponseUtils.buildCodeMsg(WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getCode(), WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage());
         }
 
         // 鑾峰彇姘翠环
@@ -107,6 +144,8 @@
         }
         String rtuAddr = job_rtu.getString("rtuAddr");
         String protocol = job_rtu.getString("protocol");
+        String orgTag = job_rtu.getString("orgTag");
+        comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
 
         // 鐢熸垚璁㈠崟鍙�
         String orderNo = generateOrderNo();
@@ -120,7 +159,7 @@
             ComCd92_A2Vo param = new ComCd92_A2Vo();
             param.controllerType = controllerType;
             param.projectNo = projectNo;
-            param.icCardNo = vc.getVcNum();
+            param.icCardNo = vc.getVcNum().toString();
             param.waterRemain = 0.0;
             param.moneyRemain = vc.getMoney();
             param.waterPrice = waterPrice;
@@ -142,7 +181,7 @@
             myParam.setProtocol(protocol);
             myParam.setVcId(vcId);
             myParam.setParam(param);
-            myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
             myParam.setOperator(operator);
             return dealWithCommandResult(myParam);
 
@@ -152,7 +191,7 @@
 
             // 鍒涘缓瑙嗗浘
             Com97Vo param = new Com97Vo();
-            param.icCardNo = vc.getVcNum();
+            param.icCardNo = vc.getVcNum().toString();
             param.moneyRemain = vc.getMoney();
             param.waterPrice = waterPrice;
             param.orderNo = orderNo;
@@ -172,7 +211,7 @@
             myParam.setProtocol(protocol);
             myParam.setVcId(vcId);
             myParam.setParam(param);
-            myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
             myParam.setOperator(operator);
             return dealWithCommandResult(myParam);
         } else {
@@ -188,7 +227,7 @@
      * @return
      */
     @PostMapping(path = "close_wx", consumes = MediaType.APPLICATION_JSON_VALUE)
-    @Transactional(rollbackFor = Exception.class)
+    //@Transactional(rollbackFor = Exception.class)
     public BaseResponse<Boolean> close(@RequestBody @Valid ValveClose valve, BindingResult bindingResult) {
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
@@ -213,6 +252,8 @@
         }
         Long intakeId = job_rtu.getLong("intakeId");
         String protocol = job_rtu.getString("protocol");
+        String orgTag = job_rtu.getString("orgTag");
+        comSendUrl = env.getProperty(pro_mw + "." + orgTag + "." + key_mw);
 
         String commandCode = null;
         if (protocol.equals("p206V202404")) {
@@ -241,7 +282,7 @@
             myParam.setProtocol(protocol);
             myParam.setVcId(vcId);
             myParam.setParam(param);
-            myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
             myParam.setOperator(operator);
             return dealWithCommandResult(myParam);
         } else if (protocol.equals("p206V1_0_1")) {
@@ -268,7 +309,7 @@
             myParam.setProtocol(protocol);
             myParam.setVcId(vcId);
             myParam.setParam(param);
-            myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
             myParam.setOperator(operator);
             return dealWithCommandResult(myParam);
         } else {
@@ -363,7 +404,7 @@
             myParam.setRtuAddr(rtuAddr);
             myParam.setProtocol(protocol);
             myParam.setParam(param);
-            myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl);
+            myParam.setRtuResultSendWebUrl(rtuCallbackUrl_wx);
             myParam.setOperator(operator);
             return dealWithCommandResult(myParam);
         } else if(protocol.equals("p206V1_0_1")) {

--
Gitblit v1.8.0