From 11c7a9b0270cbf529ebb5e434b5fe0593dd209f0 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期四, 30 五月 2024 09:43:01 +0800 Subject: [PATCH] 2024-05-30 朱宝民 添加微信和手机App两个子模块 --- pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java | 143 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 98 insertions(+), 45 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 aa2d7c7..482486d 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,16 +1,19 @@ 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.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.downVos.ComCd92_A2Vo; import com.dy.common.mw.protocol.p206V202404.downVos.ComCd93_A3Vo; +import com.dy.common.util.IDLongGenerator; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper; -import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper; import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper; +import com.dy.pipIrrGlobal.pojoPr.PrController; import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard; import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; @@ -46,7 +49,7 @@ */ @Slf4j -@Tag(name = "鍒嗘按鎴跨鐞�", description = "鍒嗘按鎴挎搷浣�") +@Tag(name = "闃�闂ㄧ鐞�", description = "闃�闂ㄦ搷浣�") @RestController @RequestMapping(path="valve") @RequiredArgsConstructor @@ -55,7 +58,7 @@ private final CommandSv commandSv; private final SeVirtualCardMapper seVirtualCardMapper; private final PrWaterPriceMapper prWaterPriceMapper; - private final RmCommandHistoryMapper rmCommandHistoryMapper; + private final IDLongGenerator idLongGenerator; /** * 杩滅▼寮�闃�锛堝钩鍙般�丄PP锛� @@ -76,7 +79,7 @@ Long vcId = valve.getVcId(); Integer userType = valve.getUserType(); Long operator = valve.getOperator(); - String comId = null; + Long comId = idLongGenerator.generate(); // 鑾峰彇绯荤粺鍙傛暟 if(!setuped) { @@ -88,11 +91,13 @@ // 鑾峰彇姘翠环 Double waterPrice = prWaterPriceMapper.getPrice(); - // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃 - String rtuAddr = commandSv.getRtuAddrByIntakeId(intakeId); - if(rtuAddr == null || rtuAddr.length() == 0) { - return BaseResponseUtils.buildError(RemoteResultCode.RTU_ADDR_CANNOT_BE_NULL.getMessage()); + // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚 + PrController prController = commandSv.getControllerByIntakeId(intakeId); + if(prController == null) { + return BaseResponseUtils.buildError(RemoteResultCode.RTU_NOT_EXIST.getMessage()); } + String rtuAddr = prController.getRtuAddr(); + String protocol = prController.getProtocol(); // 鐢熸垚璁㈠崟鍙� LocalDateTime dateTime = LocalDateTime.now(); @@ -106,7 +111,7 @@ String orderNo = dtf.format(dateTime) + sb.toString(); String commandCode = null; - if(protocolName.equals("p206V202404")) { + if(protocol.equals("p206V202404")) { // 鑾峰彇鍔熻兘鐮� if(userType == 1) { // 骞冲彴寮�闃� @@ -127,13 +132,40 @@ param.elePrice = 0.0; param.orderNo = orderNo; - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - RmCommandHistory rmCommandHistory = getComHistory(commandCode, rtuAddr, param, operator); - comId = commandSv.insert(rmCommandHistory); + // 鏋勯�犲懡浠� + Command com = command(comId, commandCode, rtuAddr, protocol, param); - // 鏋勯�犲苟鍙戦�佸懡浠� - Command com = command(comId, commandCode, rtuAddr, param); - sendCom2Mw(com); + // 鍙戦�佸懡浠� + JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); + if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { + // 璇锋眰鎴愬姛 + + // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 + RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, intakeId, rtuAddr, protocol, param, operator); + commandSv.insert(rmCommandHistory); + + // 澶勭悊鍥炶皟 + BaseResponse response_CallBack = dealWithCallBack(comId); + if(!response_CallBack.getCode().equals("0001")) { + return BaseResponseUtils.buildError(RemoteResultCode.GET_RESULT_ERROR.getMessage()); + } + + // 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� + SeVirtualCard virtualCard = new SeVirtualCard(); + virtualCard.setId(vcId); + virtualCard.setInUse((byte) 1); + 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.buildFail(job_param.getString("message")); + } } else { // 鑾峰彇鍔熻兘鐮� if(userType == 1) { @@ -148,30 +180,15 @@ ComCd92_A2Vo param = new ComCd92_A2Vo(); // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - RmCommandHistory rmCommandHistory = getComHistory(commandCode, rtuAddr, param, operator); - comId = commandSv.insert(rmCommandHistory); + //RmCommandHistory rmCommandHistory = getComHistory(commandCode, rtuAddr, protocol, param, operator); + //comId = commandSv.insert(rmCommandHistory); // 鏋勯�犲苟鍙戦�佸懡浠� - Command com = command(comId, commandCode, rtuAddr, param); + Command com = command(comId, commandCode, rtuAddr, protocol, param); sendCom2Mw(com); + + return BaseResponseUtils.buildSuccess(); } - - // 澶勭悊鍥炶皟 - BaseResponse response = dealWithCallBack(comId); - if(!response.getCode().equals("0001")) { - return BaseResponseUtils.buildError(RemoteResultCode.GET_RESULT_ERROR.getMessage()); - } - - // 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - SeVirtualCard virtualCard = new SeVirtualCard(); - virtualCard.setId(vcId); - virtualCard.setInUse((byte) 1); - virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode()); - virtualCard.setLastOperateTime(new Date()); - seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard); - - Data myData = (Data)response.getContent(); - return BaseResponseUtils.buildSuccess(myData) ; } /** @@ -194,15 +211,23 @@ String orderNo = valve.getOrderNo(); Integer userType = valve.getUserType(); Long operator = valve.getOperator(); - String comId = null; + Long comId = idLongGenerator.generate(); // 鑾峰彇绯荤粺鍙傛暟 if(!setuped) { setUp(); } + // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚 + PrController prController = commandSv.getControllerByRtuAddr(rtuAddr); + if(prController == null) { + return BaseResponseUtils.buildError(RemoteResultCode.RTU_NOT_EXIST.getMessage()); + } + Long intakeId = prController.getIntakeId(); + String protocol = prController.getProtocol(); + String commandCode = null; - if(protocolName.equals("p206V202404")) { + if(protocol.equals("p206V202404")) { // 鑾峰彇鍔熻兘鐮� if (userType == 1) { // 骞冲彴鍏抽榾 @@ -219,13 +244,41 @@ param.icCardNo = vcNum; param.orderNo = orderNo; - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - RmCommandHistory rmCommandHistory = getComHistory(commandCode, rtuAddr, param, operator); - comId = commandSv.insert(rmCommandHistory); + // 鏋勯�犲懡浠� + Command com = command(comId, commandCode, rtuAddr, protocol, param); - // 鏋勯�犲苟鍙戦�佸懡浠� - Command com = command(comId, commandCode, rtuAddr, param); - sendCom2Mw(com); + // 鍙戦�佸懡浠� + JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); + if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { + // 璇锋眰鎴愬姛 + + // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 + RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, intakeId, rtuAddr, protocol, param, operator); + commandSv.insert(rmCommandHistory); + + // 澶勭悊鍥炶皟 + BaseResponse response_CallBack = dealWithCallBack(comId); + if(!response_CallBack.getCode().equals("0001")) { + return BaseResponseUtils.buildError(RemoteResultCode.GET_RESULT_ERROR.getMessage()); + } + + // 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� + Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum); + SeVirtualCard virtualCard = new SeVirtualCard(); + virtualCard.setId(vcId); + virtualCard.setInUse((byte) 1); + 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.buildFail(job_param.getString("message")); + } } else { // 鑾峰彇鍔熻兘鐮� if (userType == 1) { @@ -244,11 +297,11 @@ param.orderNo = orderNo; // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - RmCommandHistory rmCommandHistory = getComHistory(commandCode, rtuAddr, param, operator); + RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, intakeId, rtuAddr, protocol, param, operator); comId = commandSv.insert(rmCommandHistory); // 鏋勯�犲苟鍙戦�佸懡浠� - Command com = command(comId, commandCode, rtuAddr, param); + Command com = command(comId, commandCode, rtuAddr, protocol, param); sendCom2Mw(com); } -- Gitblit v1.8.0