From e7821f087f3d1d39c945fb9772ca97f6ef24de95 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 19 七月 2024 11:41:47 +0800
Subject: [PATCH] 作物相关接口、作物灌溉制度相关接口、轮灌组相关接口、灌溉单元相关接口修改完善失败响应信息并配置相应枚举类
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java | 198 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 188 insertions(+), 10 deletions(-)
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 15af450..3d6439f 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
@@ -6,9 +6,7 @@
import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo;
import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com98Vo;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
-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.mw.protocol.p206V202404.downVos.*;
import com.dy.common.util.IDLongGenerator;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
@@ -20,16 +18,15 @@
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.Recharge;
-import com.dy.pipIrrRemote.common.dto.ValveOpen;
+import com.dy.pipIrrRemote.common.dto.*;
import com.dy.pipIrrRemote.result.RemoteResultCode;
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;
@@ -51,7 +48,7 @@
@Tag(name = "骞冲彴闃�鎺у櫒鎺у埗", description = "骞冲彴闃�鎺у櫒鎺у埗")
@RestController
@RequestMapping(path="valve")
-@RequiredArgsConstructor
+//@RequiredArgsConstructor
public class ValveCtrl extends ComSupport {
private final CommandSv commandSv;
private final SeVirtualCardMapper seVirtualCardMapper;
@@ -59,6 +56,23 @@
@Value("${mw.rtuCallbackUrl_rm}")
private String rtuCallbackUrl_rm;
+
+ /**
+ * 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;
+ }
/**
* 骞冲彴杩滅▼寮�闃�
@@ -116,6 +130,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();
@@ -129,7 +145,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;
@@ -160,7 +176,7 @@
// 鍒涘缓瑙嗗浘
Com97Vo param = new Com97Vo() ;
- param.icCardNo = vc.getVcNum();
+ param.icCardNo = vc.getVcNum().toString();
param.moneyRemain = vc.getMoney();
param.waterPrice = waterPrice;
param.orderNo = orderNo;
@@ -233,6 +249,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")) {
@@ -393,4 +411,164 @@
return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
}
}
+
+ /**
+ * 寮哄埗鍏抽榾
+ * @param card
+ * @param bindingResult
+ * @return
+ */
+ @PostMapping(path = "forced_close", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> forcedClose(@RequestBody @Valid Card card, BindingResult bindingResult) {
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ Long intakeId = card.getIntakeId();
+ String cardAddr = card.getCardAddr();
+ Long operator = card.getOperator();
+ Long comId = idLongGenerator.generate();
+
+ // 鑾峰彇绯荤粺鍙傛暟
+ if(!setuped) {
+ setUp();
+ }
+
+ // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
+ JSONObject job_rtu = getRtu(intakeId, null);
+ if(job_rtu == null) {
+ return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+ }
+ String rtuAddr = job_rtu.getString("rtuAddr");
+ String protocol = job_rtu.getString("protocol");
+
+ String commandCode = null;
+ if(protocol.equals("p206V202404")) {
+ // 鑾峰彇鍔熻兘鐮�
+ commandCode = CodeV202404.cd_9C;
+
+ // 鍒涘缓瑙嗗浘
+ ComCd9CVo param = new ComCd9CVo();
+ param.controllerType = controllerType;
+ param.projectNo = projectNo;
+ param.icCardAddr = cardAddr;
+
+ /**
+ * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+ * 1 鍑嗗鍙傛暟
+ * 2 璋冪敤鍏叡鏂规硶
+ */
+ Param myParam = new Param();
+ myParam.setComId(comId);
+ myParam.setCommandCode(commandCode);
+ myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+ myParam.setIntakeId(intakeId);
+ myParam.setRtuAddr(rtuAddr);
+ myParam.setProtocol(protocol);
+ myParam.setParam(param);
+ myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+ myParam.setOperator(operator);
+ return dealWithCommandResult(myParam);
+ } else if(protocol.equals("p206V1_0_1")) {
+ return BaseResponseUtils.buildErrorMsg(RemoteResultCode.THE_DEVICE_DOES_NOT_HAVE_THIS_FUNCTION.getMessage());
+ } else {
+ return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+ }
+ }
+
+ /**
+ * 璁惧缁堢鐢ㄦ按鎺у埗
+ * @param usability
+ * @param bindingResult
+ * @return
+ */
+ @PostMapping(path = "usability", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @Transactional(rollbackFor = Exception.class)
+ @SsoAop()
+ public BaseResponse<Boolean> usability(@RequestBody @Valid Usability usability, BindingResult bindingResult) {
+ if(bindingResult != null && bindingResult.hasErrors()){
+ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ Long intakeId = usability.getIntakeId();
+ Boolean valid = usability.getValid();
+ Long operator = usability.getOperator();
+ Long comId = idLongGenerator.generate();
+
+ // 鑾峰彇绯荤粺鍙傛暟
+ if(!setuped) {
+ setUp();
+ }
+
+ // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚
+ JSONObject job_rtu = getRtu(intakeId, null);
+ if(job_rtu == null) {
+ return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage());
+ }
+ String rtuAddr = job_rtu.getString("rtuAddr");
+ String protocol = job_rtu.getString("protocol");
+
+ String commandCode = null;
+ if(protocol.equals("p206V202404")) {
+ if(valid) {
+ // 鑾峰彇鍔熻兘鐮�
+ commandCode = CodeV202404.cd_30;
+
+ // 鍒涘缓瑙嗗浘
+ ComCd31Vo param = new ComCd31Vo();
+ param.controllerType = controllerType;
+ param.projectNo = projectNo;
+ param.valid = true;
+
+ /**
+ * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+ * 1 鍑嗗鍙傛暟
+ * 2 璋冪敤鍏叡鏂规硶
+ */
+ Param myParam = new Param();
+ myParam.setComId(comId);
+ myParam.setCommandCode(commandCode);
+ myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+ myParam.setIntakeId(intakeId);
+ myParam.setRtuAddr(rtuAddr);
+ myParam.setProtocol(protocol);
+ myParam.setParam(param);
+ myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+ myParam.setOperator(operator);
+ return dealWithCommandResult(myParam);
+ }else {
+ // 鑾峰彇鍔熻兘鐮�
+ commandCode = CodeV202404.cd_31;
+
+ // 鍒涘缓瑙嗗浘
+ ComCd31Vo param = new ComCd31Vo();
+ param.controllerType = controllerType;
+ param.projectNo = projectNo;
+ param.valid = false;
+
+ /**
+ * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋�
+ * 1 鍑嗗鍙傛暟
+ * 2 璋冪敤鍏叡鏂规硶
+ */
+ Param myParam = new Param();
+ myParam.setComId(comId);
+ myParam.setCommandCode(commandCode);
+ myParam.setCommandName(CodeV202404.getCodeName(commandCode));
+ myParam.setIntakeId(intakeId);
+ myParam.setRtuAddr(rtuAddr);
+ myParam.setProtocol(protocol);
+ myParam.setParam(param);
+ myParam.setRtuResultSendWebUrl(rtuCallbackUrl_rm);
+ myParam.setOperator(operator);
+ return dealWithCommandResult(myParam);
+ }
+ } else if(protocol.equals("p206V1_0_1")) {
+ return BaseResponseUtils.buildErrorMsg(RemoteResultCode.THE_DEVICE_DOES_NOT_HAVE_THIS_FUNCTION.getMessage());
+ } else {
+ return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�");
+ }
+ }
}
--
Gitblit v1.8.0