From 6630fbaf54a4c36fb4e7bf6bfd5ee62e6f56e4ed Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 05 六月 2025 17:52:14 +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/CommandSv.java | 48 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 39 insertions(+), 9 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java index 26e45fb..8e2a50c 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java @@ -22,6 +22,7 @@ import com.dy.pipIrrGlobal.command.ComSupport; import com.dy.pipIrrGlobal.command.dto.Param; import com.dy.pipIrrGlobal.daoIr.IrIntakeOperateMapper; +import com.dy.pipIrrGlobal.daoPr.PrIntakeControllerMapper; import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper; import com.dy.pipIrrGlobal.daoPr.PrIntakeVcMapper; import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper; @@ -40,6 +41,8 @@ import com.dy.pipIrrWechat.command.dto.AutomaticClose; import com.dy.pipIrrWechat.command.dto.ValveClose; import com.dy.pipIrrWechat.command.dto.ValveOpen; +import com.dy.pipIrrWechat.irrigatePlan.IrrigatePlanSv; +import com.dy.pipIrrWechat.irrigation.IrrigationSv; import com.dy.pipIrrWechat.result.WechatResultCode; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -47,6 +50,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.*; @@ -71,6 +75,8 @@ private final RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper; //private final PrCommonIntakesMapper prCommonIntakesMapper; private final IrIntakeOperateMapper irIntakeOperateMapper; + private final IrrigationSv irrigationSv; + private final PrIntakeControllerMapper prIntakeControllerMapper; @Value("${mw.rtuCallbackUrl_wx}") private String rtuCallbackUrl_wx; @@ -84,7 +90,7 @@ private String pro_mw = "mw"; private String key_mw = "comSendUrl"; @Autowired - public CommandSv(RmCommandHistoryMapper rmCommandHistoryMapper,RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper, SeVirtualCardMapper seVirtualCardMapper, PrIntakeMapper prIntakeMapper, PrWaterPriceMapper prWaterPriceMapper, PrIntakeVcMapper prIntakeVcMapper, SeClientCardMapper seClientCardMapper, RmIrrigateProfileMapper rmIrrigateProfileMapper, Environment env, IrIntakeOperateMapper irIntakeOperateMapper) { + public CommandSv(RmCommandHistoryMapper rmCommandHistoryMapper,RmOpenCloseValveLastMapper rmOpenCloseValveLastMapper, SeVirtualCardMapper seVirtualCardMapper, PrIntakeMapper prIntakeMapper, PrWaterPriceMapper prWaterPriceMapper, PrIntakeVcMapper prIntakeVcMapper, SeClientCardMapper seClientCardMapper, RmIrrigateProfileMapper rmIrrigateProfileMapper, Environment env, IrIntakeOperateMapper irIntakeOperateMapper, IrrigationSv irrigationSv, PrIntakeControllerMapper prIntakeControllerMapper) { this.rmCommandHistoryMapper = rmCommandHistoryMapper; this.rmOpenCloseValveLastMapper = rmOpenCloseValveLastMapper; //this.prCommonIntakesMapper = prCommonIntakesMapper; @@ -96,6 +102,8 @@ this.rmIrrigateProfileMapper = rmIrrigateProfileMapper; this.env = env; this.irIntakeOperateMapper = irIntakeOperateMapper; + this.irrigationSv = irrigationSv; + this.prIntakeControllerMapper = prIntakeControllerMapper; } /** * 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄 @@ -126,6 +134,7 @@ com.type = "innerCommand"; comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw); JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); + String aa = response.toJSONString(); JSONArray jsonArray = new JSONArray(); if(response != null && response.getString("code").equals("0001")) { @@ -258,6 +267,7 @@ * @param automaticClose * @return */ + @Transactional(rollbackFor = Exception.class) public Map planedOpenTimedClose(AutomaticClose automaticClose, Long planId, Byte operatetype, Date startTime, Integer duration) { Long intakeId = automaticClose.getIntakeId(); Long vcId = automaticClose.getVcId(); @@ -266,8 +276,10 @@ Long operator = automaticClose.getOperator(); Byte openType = automaticClose.getOpenType(); Long comId = new IDLongGenerator().generate(); + String intakeName = Optional.ofNullable(prIntakeControllerMapper.getIntakeNameById(intakeId)).orElse(""); // 濡傛灉鏄疆鐏� + Long operateId = null; if(openType != null && openType == 1) { IrIntakeOperate irIntakeOperate = new IrIntakeOperate(); irIntakeOperate.setPlanId(planId); @@ -277,8 +289,8 @@ irIntakeOperate.setStartTime(startTime); irIntakeOperate.setDuration(duration); - Long id = addIntakeOperate(irIntakeOperate); - if(id == null) { + operateId = addIntakeOperate(irIntakeOperate); + if(operateId == null) { Map map = new HashMap<>(); map.put("success", false); map.put("msg", "娣诲姞鍙栨按鍙f搷浣滆褰曞け璐�"); @@ -305,7 +317,7 @@ Map map = new HashMap<>(); map.put("success", false); - map.put("msg", WechatResultCode.PLEASE_SELECT_A_VC.getMessage() + "(" + intakeId + ")"); + map.put("msg", WechatResultCode.PLEASE_SELECT_A_VC.getMessage() + "(" + intakeName + ")"); map.put("content", null); return map; } @@ -318,14 +330,14 @@ Map map = new HashMap<>(); map.put("success", false); - map.put("msg", WechatResultCode.PLEASE_SELECT_A_VC.getMessage() + "(" + intakeId + ")"); + map.put("msg", WechatResultCode.PLEASE_SELECT_A_VC.getMessage() + "(" + intakeName + ")"); map.put("content", null); return map; } String vcNum = vc.getVcNum().toString(); Double moneyRemain = vc.getMoney(); if(moneyRemain < 100) { - irIntakeOperateMapper.updateByCommandId(comId, (byte)2, "铏氭嫙鍗′綑棰濅笉瓒筹紝璇峰厖鍊�" + "(" + intakeId + ")"); + irIntakeOperateMapper.updateByCommandId(comId, (byte)2, "铏氭嫙鍗′綑棰濅笉瓒筹紝璇峰厖鍊�" + "(" + intakeName + ")"); Map map = new HashMap<>(); map.put("success", false); map.put("msg", "铏氭嫙鍗′綑棰濅笉瓒筹紝璇峰厖鍊�"); @@ -336,6 +348,7 @@ // 鑾峰彇姘翠环 Double waterPrice = getPrice(); if(waterPrice == null) { + irIntakeOperateMapper.updateByCommandId(comId, (byte)2, WechatResultCode.NO_WATER_PRICE.getMessage() + "(" + intakeName + ")"); Map map = new HashMap<>(); map.put("success", false); map.put("msg", WechatResultCode.NO_WATER_PRICE.getMessage()); @@ -346,7 +359,7 @@ // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚 JSONObject job_rtu = getRtu(intakeId, null); if(job_rtu == null) { - irIntakeOperateMapper.updateByCommandId(comId, (byte)2, WechatResultCode.RTU_NOT_EXIST.getMessage() + "(" + intakeId + ")"); + irIntakeOperateMapper.updateByCommandId(comId, (byte)2, WechatResultCode.RTU_NOT_EXIST.getMessage() + "(" + intakeName + ")"); Map map = new HashMap<>(); map.put("success", false); @@ -362,11 +375,22 @@ // 鐢熸垚璁㈠崟鍙� String orderNo = generateOrderNo(); if(orderNo == null) { - irIntakeOperateMapper.updateByCommandId(comId, (byte)2, WechatResultCode.NO_ORDER_NUMBER.getMessage() + "(" + intakeId + ")"); + irIntakeOperateMapper.updateByCommandId(comId, (byte)2, WechatResultCode.NO_ORDER_NUMBER.getMessage() + "(" + intakeName + ")"); Map map = new HashMap<>(); map.put("success", false); map.put("msg", WechatResultCode.NO_ORDER_NUMBER.getMessage()); + map.put("content", null); + return map; + } + + // 鍒ゆ柇闃�鎺у櫒鏄惁宸茬粡寮�闃� + Boolean isOpen = irrigationSv.getOpenCloseStatus(rtuAddr); + if(isOpen) { + irIntakeOperateMapper.updateByCommandId(comId, (byte)2, intakeName + " 闃�闂ㄤ负鎵撳紑鐘舵��"); + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", intakeName + " 闃�闂ㄤ负鎵撳紑鐘舵��"); map.put("content", null); return map; } @@ -417,8 +441,12 @@ BaseResponse<Boolean> result = dealWithCommandResult(myParam); // 濡傛灉鍛戒护鎵ц澶辫触锛屽垯鍐嶆鎵ц鍛戒护 if(!result.isSuccess()) { - myParam.setComId(new IDLongGenerator().generate()); + Long newComId = new IDLongGenerator().generate(); + myParam.setComId(newComId); result = dealWithCommandResult(myParam); + + // 鏍规嵁operateId淇敼鍙栨按鍙f搷浣滆褰曚腑鐨刢ommandId + irIntakeOperateMapper.updateCommandId(newComId, operateId); } Map map = new HashMap<>(); @@ -687,6 +715,7 @@ * @param operatetype * @return */ + @Transactional(rollbackFor = Exception.class) public Map closeWx(ValveClose valve, Long planId, Byte operatetype) { String rtuAddr = valve.getRtuAddr(); String vcNum = valve.getVcNum(); @@ -718,6 +747,7 @@ irIntakeOperate.setOperateType(operatetype); irIntakeOperate.setCommandId(comId); irIntakeOperate.setIntakeId(intakeId); + irIntakeOperate.setCommandResult((byte)1); Long id = addIntakeOperate(irIntakeOperate); if(id == null) { -- Gitblit v1.8.0