From 710c6a4d568237016a70b74aa3769b89e336725c Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 13 五月 2025 15:48:21 +0800 Subject: [PATCH] 1、实现功能码92、93命令web后端接口定义与逻辑代码实现; 2、修改原来功能逻辑实现的逻辑,增加回调; 3、表阀一体机协议命令结果数据库存储补充实现。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java | 78 +++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java | 5 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java | 7 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdCtrl.java | 5 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdCtrl.java | 6 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdSv.java | 54 +++ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdCtrl.java | 6 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java | 3 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdCtrl.java | 7 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdCtrl.java | 6 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdCtrl.java | 6 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java | 4 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdCtrl.java | 7 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdCtrl.java | 6 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdCtrl.java | 6 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java | 47 +++ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdCtrl.java | 8 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdCtrl.java | 6 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdDto.java | 18 + pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdParam.java | 25 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java | 1 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdCtrl.java | 6 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdParam.java | 21 + pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdCtrl.java | 5 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdSv.java | 57 +++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java | 4 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java | 48 +++ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdCtrl.java | 8 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdCtrl.java | 171 +++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdCtrl.java | 151 ++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdCtrl.java | 6 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java | 40 + pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdDto.java | 19 + pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java | 5 34 files changed, 777 insertions(+), 75 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java index a2df974..80e7d3f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java @@ -346,7 +346,7 @@ cdData.eleTotalAmount = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ; index += 5 ; - cdData.moneyRemain = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ; + cdData.moneyRemain = ByteUtil.BCD2Long_LE(bs, index, index + 4)/10000.0D ; index += 5 ; cdData.waterRemain = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ; @@ -358,7 +358,7 @@ cdData.thisWater = ByteUtil.BCD2Long_LE(bs, index, index + 3)/100.0D ; index += 4 ; - cdData.thisMoney = ByteUtil.BCD2Long_LE(bs, index, index + 3)/100.0D ; + cdData.thisMoney = ByteUtil.BCD2Long_LE(bs, index, index + 3)/10000.0D ; index += 4 ; cdData.thisDuration = ByteUtil.BCD2Int_LE(bs, index, index + 1) ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java index 3b8f6e2..4e4977c 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java @@ -1,12 +1,13 @@ package com.dy.common.mw.protocol.p206V202404.upVos; +import com.dy.common.mw.protocol.UpComResVo; import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.CommonV202404; import lombok.Data; //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂� @Data -public class DataCd92_A2Vo { +public class DataCd92_A2Vo implements UpComResVo { public String controllerType;//鎺у埗鍣ㄧ被鍨� public Integer projectNo ;//椤圭洰缂栧彿 @@ -52,4 +53,48 @@ return sb.toString() ; } + public String toStr(boolean showBase){ + StringBuffer sb = new StringBuffer() ; + if(showBase){ + sb.append(comName + " : \n") ; + sb.append("鎺у埗鍣ㄧ被鍨� : ") ; + sb.append(CommonV202404.ctrlDevType(controllerType)) ; + sb.append("\n") ; + sb.append("椤圭洰缂栧彿 : ") ; + sb.append(projectNo == null?"鏈煡":projectNo) ; + sb.append("\n") ; + } + sb.append("IC鍗$紪鍙� : ") ; + sb.append(icCardNo == null?"鏈煡":icCardNo) ; + sb.append("\n") ; + sb.append("璁㈠崟鍙� : ") ; + sb.append(orderNo == null?"鏈煡":orderNo) ; + sb.append("\n") ; + sb.append("寮�娉�/闃�鏃堕棿 : ") ; + sb.append(opDt == null?"鏈煡":opDt) ; + sb.append("\n") ; + sb.append("寮�鍚车/闃�绫诲瀷 : ") ; + sb.append(opType == null?"鏈煡":(opType.byteValue() == 0x01 ? "骞冲彴":"鐢ㄦ埛")) ; + sb.append("\n") ; + sb.append("寮�鍚车/闃�缁撴灉 : ") ; + sb.append(opResult == null?"鏈煡":(opResult.byteValue() == 0x01 ? "鎴愬姛":"澶辫触")) ; + sb.append("\n") ; + return sb.toString() ; + } + + + public String comLog(){ + StringBuilder sb = new StringBuilder() ; + sb.append("杩滅▼寮�闃�鍛戒护鍥炲:\n"); + sb.append(opResult == null?"鏈煡":(opResult.byteValue() == 0x01 ? "鎴愬姛":"澶辫触")); + sb.append("\n"); + + return sb.toString() ; + } + + @Override + public String comLog(String code) { + return null; + } + } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java index 6008b68..0324750 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd93_A3Vo.java @@ -1,5 +1,6 @@ package com.dy.common.mw.protocol.p206V202404.upVos; +import com.dy.common.mw.protocol.UpComResVo; import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.CommonV202404; import lombok.Data; @@ -8,7 +9,7 @@ //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂� + 鍒峰崱鍏虫车/闃�涓婃姤 @Data @EqualsAndHashCode(callSuper=false) -public class DataCd93_A3Vo extends AlarmVo { +public class DataCd93_A3Vo extends AlarmVo implements UpComResVo { public String controllerType;//鎺у埗鍣ㄧ被鍨� public Integer projectNo ;//椤圭洰缂栧彿 @@ -87,10 +88,83 @@ sb.append(" 鏈浣跨敤閲戦 : ") ; sb.append(thisMoney == null?"鏈煡":thisMoney) ; sb.append("\n") ; - sb.append(" 鏈浣跨敤鏃堕棿闀� : ") ; + sb.append(" 鏈浣跨敤鏃堕暱 : ") ; sb.append(thisDuration == null?"鏈煡": thisDuration) ; sb.append("\n") ; return sb.toString() + super.toString() ; } + public String toStr(boolean showBase){ + StringBuffer sb = new StringBuffer() ; + if(showBase){ + sb.append(comName + " : \n") ; + sb.append("鎺у埗鍣ㄧ被鍨� : ") ; + sb.append(CommonV202404.ctrlDevType(controllerType)) ; + sb.append("\n") ; + sb.append("椤圭洰缂栧彿 : ") ; + sb.append(projectNo == null?"鏈煡":projectNo) ; + sb.append("\n") ; + } + sb.append("鍏虫车/闃�绫诲瀷 : ") ; + sb.append(clType == null?"鏈煡":(clType.byteValue() == 0x00 ? "鍒峰崱":(clType.byteValue() == 0x01 ? "骞冲彴":(clType.byteValue() == 0x02 ? "APP":(clType.byteValue() == 0x03 ? "闈炴硶鍗�":(clType.byteValue() == 0x04 ? "姘磋〃寮傚父":(clType.byteValue() == 0x05 ? "鐢佃〃寮傚父":(clType.byteValue() == 0x06 ? "鍓╀綑姘撮噺涓嶈冻":(clType.byteValue() == 0x07 ? "鍓╀綑閲戦涓嶈冻":(clType.byteValue() == 0x08 ? "鏃犳祦閲�":(clType.byteValue() == 0x09 ? "鎺夌數鍐嶄笂鐢�":"鏈煡"))))))))))) ; + sb.append("\n") ; + sb.append("鍏冲惎娉�/闃�缁撴灉 : ") ; + sb.append(clResult == null?"鏈煡":(clResult.byteValue() == 0x01 ? "鎴愬姛":"澶辫触")) ; + sb.append("\n") ; + sb.append("IC鍗″湴鍧� : ") ; + sb.append(icCardAddr == null?"鏈煡":icCardAddr) ; + sb.append("\n") ; + sb.append("IC鍗$紪鍙� : ") ; + sb.append(icCardNo == null?"鏈煡":icCardNo) ; + sb.append("\n") ; + sb.append("璁㈠崟鍙� : ") ; + sb.append(orderNo == null?"鏈煡":orderNo) ; + sb.append("\n") ; + sb.append("寮�濮嬫椂闂� : ") ; + sb.append(startDt == null?"鏈煡":startDt) ; + sb.append("\n") ; + sb.append("缁撴潫鏃堕棿 : ") ; + sb.append(endDt == null?"鏈煡":endDt) ; + sb.append("\n") ; + sb.append("姘磋〃绱娴侀噺 : ") ; + sb.append(waterTotalAmount == null?"鏈煡":waterTotalAmount) ; + sb.append("\n") ; + sb.append("鐢佃〃绱鐢甸噺 : ") ; + sb.append(eleTotalAmount == null?"鏈煡":eleTotalAmount) ; + sb.append("\n") ; + sb.append("鐢ㄦ埛鍓╀綑閲戦 : ") ; + sb.append(moneyRemain == null?"鏈煡":moneyRemain) ; + sb.append("\n") ; + sb.append("鐢ㄦ埛鍓╀綑姘撮噺 : ") ; + sb.append(waterRemain == null?"鏈煡":waterRemain) ; + sb.append("\n") ; + sb.append("鏈浣跨敤鐢甸噺 : ") ; + sb.append(thisEle == null?"鏈煡":thisEle) ; + sb.append("\n") ; + sb.append("鏈浣跨敤姘撮噺 : ") ; + sb.append(thisWater == null?"鏈煡":thisWater) ; + sb.append("\n") ; + sb.append("鏈浣跨敤閲戦 : ") ; + sb.append(thisMoney == null?"鏈煡":thisMoney) ; + sb.append("\n") ; + sb.append("鏈浣跨敤鏃堕暱 : ") ; + sb.append(thisDuration == null?"鏈煡": thisDuration) ; + sb.append("\n") ; + return sb.toString() + super.toString() ; + } + + + public String comLog(){ + StringBuilder sb = new StringBuilder() ; + sb.append("杩滅▼鍏抽榾鍛戒护鍥炲:\n"); + sb.append(clResult == null?"鏈煡":(clResult.byteValue() == 0x01 ? "鎴愬姛":"澶辫触")); + sb.append("\n"); + + return sb.toString() ; + } + + @Override + public String comLog(String code) { + return null; + } } diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java index 0d90840..c4f0df8 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeVirtualCardMapper.java @@ -49,8 +49,8 @@ /** * 鏍规嵁铏氭嫙鍗D鑾峰彇铏氭嫙鍗″璞� - * @param vcId - * @return + * @param vcId 铏氭嫙鍗D + * @return 铏氭嫙鍗″璞� */ VoVirtualCard getVcById(@Param("vcId") Long vcId); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java index 464894c..098039a 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java @@ -241,7 +241,6 @@ poLast.intakeId = controller==null?null:controller.getIntakeId(); poLast.rtuAddr = rtuAddr; poLast.updateFrom(dV1, dataCd83OpenVo, clearLastCloseValve); - if(poHistory != null){ poHistory.clientId = clientVo==null?null:clientVo.getId() ; poHistory.clientName = clientVo==null?null:clientVo.getName() ; diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java index e983270..273c54a 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java @@ -21,6 +21,9 @@ * @LastEditTime 2024-06-20 13:48 * @Description */ +/** + * 澶勭悊鎺у埗鍣ㄥ叧闃�涓婃姤 + */ public class TkDealCloseValveReportV202404 extends TaskSurpport { private static final Logger log = LogManager.getLogger(TkDealCloseValveReportV202404.class.getName()); @@ -29,7 +32,6 @@ /** * 鎵ц鑺傜偣浠诲姟锛氬叧闃�涓婃姤 - * * @param data 闇�瑕佸鐞嗙殑鏁版嵁 */ @Override @@ -310,5 +312,4 @@ poHistory.updateFrom(dV202404, dataCd85Vo, false); } } - } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java index e13c058..e32eac9 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java @@ -19,7 +19,8 @@ * @author ZhuBaoMin * @date 2024-06-17 9:36 * @LastEditTime 2024-06-17 9:36 - * @Description 鎺у埗鍣ㄥ紑闃�涓婃姤(鍔熻兘鐮�84) + * @Description + * 澶勭悊鎺у埗鍣ㄥ紑闃�涓婃姤 */ public class TkDealOpenValveReportV202404 extends TaskSurpport { private static final Logger log = LogManager.getLogger(TkDealTimingReportV202404.class.getName()); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java index d73dff8..f517210 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkRtuDealCommandResponseV202404.java @@ -1,8 +1,12 @@ package com.dy.rtuMw.server.rtuData.p206V202404; import com.dy.common.mw.protocol.Data; +import com.dy.common.mw.protocol.UpComResVo; import com.dy.common.mw.protocol.p206V202404.DataV202404; +import com.dy.common.util.DateTime; +import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; import com.dy.rtuMw.server.rtuData.TaskSurpport; +import com.dy.rtuMw.server.rtuData.dbSv.DbSv; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -29,18 +33,32 @@ if(protocolData != null){ DataV202404 dV202404 = (DataV202404)protocolData ; if(dV202404 != null) { -// if (dV1 != null && dV1.dataCdC0Vo != null) { -// Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ; -// DbSv sv = (DbSv)objs[0] ; -// PrController controller = (PrController)objs[1] ; -// try{ -// this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dV1, dV1.dataCdC0Vo) ; -// this.saveHistory(sv, controller, d.getRtuAddr(),dV1, dV1.dataCdC0Vo) ; -// }catch (Exception e){ -// log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); -// } -// } + Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId); + DbSv sv = (DbSv) objs[0]; + //PrController controller = (PrController) objs[1]; + try{ + RmCommandHistory po = sv.getCommandLog(d.commandId) ; + if(po != null){ + po = this.updateCommandLogPo(po, d.code, dV202404, dV202404.subData) ; + sv.updateCommandLog(po); + }else{ + log.error("鏈緱鍒板懡浠ゆ棩蹇楋紙" + d.getCommandId() + ")"); + } + }catch (Exception e){ + log.error("淇濆瓨鎺у埗鍣ㄨ嚜鎶ユ暟鎹椂鍙戠敓寮傚父", e); + } } } } + + public RmCommandHistory updateCommandLogPo(RmCommandHistory po, String code, DataV202404 dV202404, Object obj) throws Exception{ + po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV202404.dt==null?DateTime.yyyy_MM_dd_HH_mm_ss():dV202404.dt)); + if(obj instanceof UpComResVo){ + UpComResVo vo = (UpComResVo)obj ; + po.setResult((byte)1); + po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code)); + log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code))); + } + return po ; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java index a85d0fd..1ee1493 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; +import com.dy.common.util.Callback; import com.dy.common.util.NumUtil; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; @@ -73,7 +74,7 @@ res = super.doSend(sv, com) ; if(res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(dto.comCode); + res = super.after(dto.comCode, null); } }catch (Exception e){ res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null?"":e.getMessage())) ; @@ -111,7 +112,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java index b80ae41..45b05fe 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComCtrl.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.mw.protocol.Command; +import com.dy.common.util.Callback; import com.dy.common.util.IDLongGenerator; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; @@ -155,11 +156,11 @@ * 鍙戦�佸懡浠ゅ悗 * @return */ - public BaseResponse<Object> after(String comCode) { + public BaseResponse<Object> after(String comCode, Callback callback) { try{ //绛夊緟閫氫俊涓棿浠堕�氱煡鎺у埗鍣ㄦ墽琛屽懡浠や笂琛屾暟鎹紙鍛戒护缁撴灉锛� JSONObject resultData = feature.get(waitMwRtnResultTimeout, TimeUnit.SECONDS); - return BaseResponseUtils.buildSuccess(this.createRtnMsg(comCode, resultData)); + return BaseResponseUtils.buildSuccess(this.dealComResult(comCode, resultData, callback)); }catch (Exception e){ return BaseResponseUtils.buildFail("绛夊緟閫氫俊涓棿浠堕�氱煡鍛戒护缁撴灉瓒呮椂"); } @@ -189,5 +190,5 @@ /** * 鐢熸垚鍛戒护杩斿洖淇℃伅 */ - protected abstract String createRtnMsg(String code, JSONObject resultData); + protected abstract String dealComResult(String code, JSONObject resultData, Callback callback); } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java index 8fc35f5..c9fc53e 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/ComSv.java @@ -1,12 +1,19 @@ package com.dy.pipIrrRemote.monitor.common; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.dy.pipIrrGlobal.command.CommandSv; +import com.dy.pipIrrGlobal.daoPr.PrCommonIntakesMapper; import com.dy.pipIrrGlobal.daoPr.PrControllerMapper; import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper; +import com.dy.pipIrrGlobal.pojoPr.PrCommonIntakes; import com.dy.pipIrrGlobal.pojoPr.PrController; import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; +import com.dy.pipIrrGlobal.voRm.VoUnclosedParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; /** * @Author: liurunyu @@ -19,6 +26,8 @@ protected PrControllerMapper prControllerDao ; @Autowired protected RmCommandHistoryMapper rmCommandHistoryDao ; + @Autowired + private PrCommonIntakesMapper prCommonIntakesDao; public PrController getRtu(Long intakeId){ return this.getRtu(prControllerDao, intakeId); @@ -45,4 +54,43 @@ Long operator) { return this.saveComHistoryPo(rmCommandHistoryDao, comId, protocol, commandCode, commandName, intakeId, rtuAddr, param, operator) ; } + + + /** + * 娣诲姞甯哥敤鍙栨按鍙f垨鏇存柊浣跨敤淇℃伅 + * @param operatorId + * @param intakeId + * @return + */ + public PrCommonIntakes addOrUpdateOftenUseIntake(Long operatorId, Long intakeId) { + PrCommonIntakes po = prCommonIntakesDao.selectByOperatorAndIntake(operatorId, intakeId); + if(po == null) { + po = new PrCommonIntakes(); + po.setOperatorId(operatorId); + po.setIntakeId(intakeId); + po.setLastUsedTime(new Date()); + po.setUsageCount(1); + prCommonIntakesDao.insert(po); + }else{ + po.setLastUsedTime(new Date()); + po.setUsageCount(po.getUsageCount() + 1); + prCommonIntakesDao.updateByPrimaryKeySelective(po); + } + return po ; + } + + + /** + * 鏍规嵁鍙栨按鍙D鑾峰彇璇ュ彇姘村彛鏈叧闃�鍙傛暟锛屽钩鍙伴�夋嫨鍙栨按鍙e叧闃�浣跨敤 + * @param intakeId + * @return + */ + public VoUnclosedParam selectUncloseParam(Long intakeId, String rtuAddr) { + JSONArray jsonArr = new JSONArray(); + JSONObject jsonObj = new JSONObject(); + jsonObj.put("rtuAddr", rtuAddr); + jsonObj.put("isOnLine", true); + jsonArr.add(jsonObj); + return rmCommandHistoryDao.getUncloseParam(jsonArr.toJSONString(), intakeId); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdCtrl.java index 5a9e5c6..5fe92ef 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd15/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo; +import com.dy.common.util.Callback; import com.dy.common.util.NumUtil; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; @@ -64,7 +64,7 @@ //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇� SeClientCard icPo = sv.selectClientIcCardById(Long.parseLong(dto.icCardId.trim())) ; if(icPo == null){ - return BaseResponseUtils.buildError("鏈嶅姟绔嚭閿欙紝鏈緱鍒板啘鎴稩C鍗�") ; + return BaseResponseUtils.buildErrorMsg("鏈嶅姟绔嚭閿欙紝鏈緱鍒板啘鎴稩C鍗�") ; } CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType) .icCardAddr(icPo.getCardaddr())//IC鍗″湴鍧�(8浣嶆暟瀛楁垨瀛楁瘝) @@ -86,7 +86,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -121,7 +121,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdCtrl.java index e2a9622..8fb9122 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd16/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -14,7 +14,6 @@ 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.context.annotation.Scope; import org.springframework.http.MediaType; @@ -77,7 +76,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -112,7 +111,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdCtrl.java index 2dfae70..e1a544e 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd22/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -76,7 +76,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -111,7 +111,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdCtrl.java index f125356..3a32b0f 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd30/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -73,7 +73,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -93,7 +93,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdCtrl.java index 2b595a7..2ed66b1 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd31/CdCtrl.java @@ -5,6 +5,7 @@ import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -73,7 +74,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -93,7 +94,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdCtrl.java index ccf1caa..67b2c0a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd50/CdCtrl.java @@ -4,9 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd50Vo; -import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -16,7 +15,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Scope; import org.springframework.http.MediaType; import org.springframework.validation.BindingResult; @@ -75,7 +73,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -95,7 +93,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdCtrl.java index 52390fc..08d4a2a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd55/CdCtrl.java @@ -5,9 +5,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd55Vo; -import com.dy.common.mw.protocol.p206V202404.upVos.DataCd65Vo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -78,7 +77,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -98,7 +97,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONArray codeData = resultData.getJSONArray("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdCtrl.java index 7b989c1..963c623 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd56/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd56Vo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -73,7 +73,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -93,7 +93,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdCtrl.java index a86dea4..a18ba74 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5B/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd80_5BVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -73,7 +73,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -93,7 +93,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdCtrl.java index b96a3cc..a122add 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd5C/CdCtrl.java @@ -5,6 +5,7 @@ import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd5CVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -75,7 +76,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -95,7 +96,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdCtrl.java index 3b5460e..3e23e74 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd65/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd65Vo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -76,7 +76,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -96,7 +96,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdCtrl.java index 273ed49..531d0f7 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd68/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd68Vo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -73,7 +73,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -93,7 +93,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdCtrl.java new file mode 100644 index 0000000..5c62c48 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdCtrl.java @@ -0,0 +1,171 @@ +package com.dy.pipIrrRemote.monitor.p202404V201.cd92; + +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.p206V202404.upVos.DataCd92_A2Vo; +import com.dy.common.util.Callback; +import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.pipIrrGlobal.voSe.VoVirtualCard; +import com.dy.pipIrrRemote.common.dto.DtoBase; +import com.dy.pipIrrRemote.monitor.common.ComCtrl; +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.context.annotation.Scope; +import org.springframework.http.MediaType; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: liurunyu + * @Date: 2025/5/13 08:33 + * @Description + */ +@Slf4j +@Tag(name = "杩滅▼鍛戒护", description = "骞冲彴杩滅▼寮�闃�") +@RestController("cd92Ctrl") +@RequestMapping(path = "p202404V201/cd92") +@RequiredArgsConstructor +@Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞� +public class CdCtrl extends ComCtrl { + + private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁"; + + private static final String ComCode = "92" ; + + @Autowired + private CdSv sv ; + /** + * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠� + * @param dto 鍓嶇鍙戞潵鐨勫�煎璞� + * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋� + * @return 杩斿洖鍓嶇 + */ + @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE) + @SsoAop() + public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) { + BaseResponse<Object> res ; + //鍙戦�佸懡浠ゅ墠-1锛氶獙璇� + res = super.pre1(sv, ComCode, dto, bindingResult); + if(res == null) { + //鍙戦�佸懡浠ゅ墠-2锛氳幏寰楁暟鎹� + res = super.pre2(sv, ComCode, dto, bindingResult); + if (res == null) { + if(dto.vtCardId == null || "".equals(dto.vtCardId.trim())){ + Long vtId = sv.selectVcIdByIntakeId(dto.getIntakeId()) ; + if(vtId == null) { + return BaseResponseUtils.buildErrorMsg("璇烽�夋嫨涓�寮犺櫄鎷熷崱"); + }else{ + dto.vtCardId = vtId.toString() ; + } + } + VoVirtualCard vcPo = sv.selectClientVtCardById(Long.parseLong(dto.vtCardId.trim())) ; + if(vcPo == null){ + return BaseResponseUtils.buildErrorMsg("鏈嶅姟绔嚭閿欙紝鏈緱鍒板啘鎴疯櫄鎷熷崱") ; + } + if(vcPo.getInUse().booleanValue()){ + return BaseResponseUtils.buildErrorMsg("鍐滄埛璇ヨ櫄鎷熷崱宸茬粡琚崰鐢紝涓嶈兘鍐嶅簲鐢ㄥ叾寮�闃�") ; + } + if(vcPo.getMoney() <= 0.0){ + return BaseResponseUtils.buildErrorMsg("鍐滄埛璇ヨ櫄鎷熷崱涓墿浣欓噾棰濅负0锛屼笉鑳藉啀搴旂敤鍏跺紑闃�") ; + } + Double waterPrice = sv.selectWaterPrice() ; + if(waterPrice == null){ + return BaseResponseUtils.buildErrorMsg("鏈嶅姟绔嚭閿欙紝鏈緱鍒版按浠�") ; + } + CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType) + .icCardNo("" + vcPo.getVcNum())//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛� + .waterRemain(0.0)//鐢ㄦ埛鍓╀綑姘撮噺, 涓や釜灏忔暟鐐�, 鍗曚綅m3, 0~99999999.99 + .moneyRemain(vcPo.getMoney())//鐢ㄦ埛鍓╀綑姘撮噺, 涓や釜灏忔暟鐐�, 鍗曚綅m3, 0~99999999.99 + .waterPrice(waterPrice)//姘撮噺鍗曚环 鍗曚綅:鍏�, 2涓皬鏁扮偣 + .elePrice(0.0)//鐢甸噺鍗曚环 鍗曚綅:鍏�, 2涓皬鏁扮偣 + .orderNo(RandomStringUtils.randomNumeric(16))//璁㈠崟鍙凤紙16浣嶆暟瀛楋級 + .build(); + //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇� + res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam); + if (res == null) { + //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature + super.pre4(); + try { + //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛� + Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode); + com.rtuResultSendWebUrl = rtuResultSendWebUrl; + com.param = comParam; + //鍙戦�佸懡浠� + res = super.doSend(sv, com); + if (res == null) { + //鍙戦�佸懡浠ゅ悗 + res = super.after(ComCode, new Callback() { + @Override + public void call(Object obj) { + Boolean success = (Boolean) obj; + if(success){ + // 娣诲姞甯哥敤鍙栨按鍙f垨鏇存柊浣跨敤淇℃伅 + sv.addOrUpdateOftenUseIntake(dto.getOperator(), dto.getIntakeId()) ; + //寮�闃�鎴愬姛锛岃櫄鎷熷崱璁板綍涓婃爣璁板凡琚崰鐢� + sv.setVcUsed(vcPo.getId(), dto.getIntakeId()); + } + } + @Override + public void call(Object... objs) { + } + @Override + public void exception(Exception e) { + } + }); + } + } catch (Exception e) { + res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); + } finally { + //鏈�缁� + super.end(); + } + } + } + } + return res ; + } + + @Override + protected String checkDto(DtoBase dto) { + return null; + } + + @Override + protected String dealComResult(String code, JSONObject resultData, Callback callback){ + String msg; + if(resultData != null){ + JSONObject codeData = resultData.getJSONObject("data") ; + if(codeData == null){ + msg = RtuSuccessMsg ; + }else { + String json = codeData.toJSONString(); + DataCd92_A2Vo cvo = JSON.parseObject(json, DataCd92_A2Vo.class) ; + if(cvo != null){ + if(callback != null){ + if(cvo.opResult != null && cvo.opResult.byteValue() == (byte)0){ + callback.call(true);//寮�闃�鎴愬姛 + }else{ + callback.call(false);//寮�闃�澶辫触 + } + } + msg = cvo.toStr(false) ; + }else{ + msg = RtuSuccessMsg ; + } + } + }else{ + msg = RtuSuccessMsg ; + } + return msg; + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdDto.java new file mode 100644 index 0000000..3b7d68e --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdDto.java @@ -0,0 +1,19 @@ +package com.dy.pipIrrRemote.monitor.p202404V201.cd92; + +import com.dy.pipIrrRemote.common.dto.DtoBase; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @Author: liurunyu + * @Date: 2025/5/13 08:33 + * @Description + */ + +@Data +@EqualsAndHashCode(callSuper=true) +public class CdDto extends DtoBase { + public static final long serialVersionUID = 202505130833001L; + public String vtCardId ;//鐢ㄦ埛鍗�(铏氭嫙鍗�)搴忓垪鍙凤紙17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛� +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdParam.java new file mode 100644 index 0000000..267cf55 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdParam.java @@ -0,0 +1,25 @@ +package com.dy.pipIrrRemote.monitor.p202404V201.cd92; + +import com.dy.pipIrrRemote.monitor.common.CdParameter; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +/** + * @Author: liurunyu + * @Date: 2025/5/13 08:33 + * @Description + */ +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@SuperBuilder +public class CdParam extends CdParameter { + public String icCardNo ;//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛� + public Double waterRemain ;//鐢ㄦ埛鍓╀綑姘撮噺, 涓や釜灏忔暟鐐�, 鍗曚綅m3, 0~99999999.99 + public Double moneyRemain ;//鐢ㄦ埛鍓╀綑閲戦, 涓や釜灏忔暟鐐�, 鍗曚綅鍏�, 0~999999.99 + public Double waterPrice ;//姘撮噺鍗曚环 鍗曚綅:鍏�, 2涓皬鏁扮偣 + public Double elePrice ;//鐢甸噺鍗曚环 鍗曚綅:鍏�, 2涓皬鏁扮偣 + public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級 +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdSv.java new file mode 100644 index 0000000..b74f6f3 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd92/CdSv.java @@ -0,0 +1,57 @@ +package com.dy.pipIrrRemote.monitor.p202404V201.cd92; + +import com.dy.pipIrrGlobal.daoPr.PrIntakeVcMapper; +import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper; +import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; +import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper; +import com.dy.pipIrrGlobal.pojoSe.SeClientCard; +import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard; +import com.dy.pipIrrGlobal.voSe.VoVirtualCard; +import com.dy.pipIrrRemote.monitor.common.ComSv; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; + +/** + * @Author: liurunyu + * @Date: 2025/5/13 08:33 + * @Description + */ +@Slf4j +@Service("cd92Sv") +public class CdSv extends ComSv { + @Autowired + protected SeVirtualCardMapper seVirtualCardDao ; + @Autowired + protected PrWaterPriceMapper prWaterPriceDao ; + @Autowired + protected PrIntakeVcMapper prIntakeVcDao ; + + public VoVirtualCard selectClientVtCardById(Long id){ + return seVirtualCardDao.getVcById(id) ; + } + public Double selectWaterPrice(){ + return prWaterPriceDao.getPrice() ; + } + /** + * 鏍规嵁鍙栨按鍙D鑾峰彇涓庝箣缁戝畾铏氭嫙鍗D + * @param intakeId + * @return + */ + public Long selectVcIdByIntakeId(Long intakeId) { + return prIntakeVcDao.getVcIdByIntakeId(intakeId); + } + /** + * 璁剧疆铏氭嫙鍗¤鍗犵敤 + */ + public void setVcUsed(Long id, Long intakeId){ + SeVirtualCard po = new SeVirtualCard() ; + po.setId(id); + po.setIntakeId(intakeId); + po.setInUse((byte)1); + po.setOpenTime(new Date()); + seVirtualCardDao.updateByPrimaryKeySelective(po); + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdCtrl.java new file mode 100644 index 0000000..3c26d0a --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdCtrl.java @@ -0,0 +1,151 @@ +package com.dy.pipIrrRemote.monitor.p202404V201.cd93; + +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.p206V202404.upVos.DataCd93_A3Vo; +import com.dy.common.util.Callback; +import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.pipIrrGlobal.voRm.VoUnclosedParam; +import com.dy.pipIrrRemote.common.dto.DtoBase; +import com.dy.pipIrrRemote.monitor.common.ComCtrl; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.http.MediaType; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: liurunyu + * @Date: 2025/5/13 09:38 + * @Description + */ +@Slf4j +@Tag(name = "杩滅▼鍛戒护", description = "骞冲彴杩滅▼鍏抽榾") +@RestController("cd93Ctrl") +@RequestMapping(path = "p202404V201/cd93") +@RequiredArgsConstructor +@Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞� +public class CdCtrl extends ComCtrl { + + private static final String RtuSuccessMsg = "鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鎴愬姛锛屾棤杩斿洖鏁版嵁"; + + private static final String ComCode = "93" ; + + @Autowired + private CdSv sv ; + /** + * 鍚戣澶囷紙鎺у埗鍣級鍙戦�佸懡浠� + * @param dto 鍓嶇鍙戞潵鐨勫�煎璞� + * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋� + * @return 杩斿洖鍓嶇 + */ + @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE) + @SsoAop() + public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) { + BaseResponse<Object> res ; + //鍙戦�佸懡浠ゅ墠-1锛氶獙璇� + res = super.pre1(sv, ComCode, dto, bindingResult); + if(res == null) { + //鍙戦�佸懡浠ゅ墠-2锛氳幏寰楁暟鎹� + res = super.pre2(sv, ComCode, dto, bindingResult); + if (res == null) { + //鑾峰彇寮�闃�鍛戒护鍙傛暟 + VoUnclosedParam opPa = sv.selectUncloseParam(dto.getIntakeId(), ctrlPo.getRtuAddr()); + if(opPa == null) { + return BaseResponseUtils.buildFail("璇ュ彇姘村彛涓婃棤鎮ㄦ渶杩戠殑寮�闃�鎿嶄綔"); + } + Long vcId = sv.getVcIdByNum(opPa.getVcNum()) ; + if(vcId == null) { + return BaseResponseUtils.buildFail("鏈嶅姟绔嚭閿欙紝鏈緱鍒拌櫄鎷熷崱ID"); + } + //鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇� + CdParam comParam = CdParam.builder().commandCode(ComCode).projectNo(projectNo).controllerType(controllerType) + .icCardNo(opPa.getVcNum())//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛� + .orderNo(opPa.getOrderNo())//璁㈠崟鍙凤紙16浣嶆暟瀛楋級 + .build(); + res = super.pre3(sv, dto.getIntakeId(), dto.getOperator(), ComCode, comParam); + if (res == null) { + //鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature + super.pre4(); + try { + //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛� + Command com = sv.createOuterCommand(ctrlPo.getRtuAddr(), "" + comId, ComCode); + com.rtuResultSendWebUrl = rtuResultSendWebUrl; + com.param = comParam; + //鍙戦�佸懡浠� + res = super.doSend(sv, com); + if (res == null) { + //鍙戦�佸懡浠ゅ悗 + res = super.after(ComCode, new Callback() { + @Override + public void call(Object obj) { + Boolean success = (Boolean) obj; + if(success){ + //鍏抽榾鎴愬姛锛岃В闄よ櫄鎷熷崱琚崰鐢� + sv.setVcNoUsed(vcId); + } + } + @Override + public void call(Object... objs) { + } + @Override + public void exception(Exception e) { + } + }); + } + } catch (Exception e) { + res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); + } finally { + //鏈�缁� + super.end(); + } + } + } + } + return res ; + } + + @Override + protected String checkDto(DtoBase dto) { + return null; + } + + @Override + protected String dealComResult(String code, JSONObject resultData, Callback callback){ + String msg; + if(resultData != null){ + JSONObject codeData = resultData.getJSONObject("data") ; + if(codeData == null){ + msg = RtuSuccessMsg ; + }else { + String json = codeData.toJSONString(); + DataCd93_A3Vo cvo = JSON.parseObject(json, DataCd93_A3Vo.class) ; + if(cvo != null){ + if(callback != null){ + if(cvo.clResult != null && cvo.clResult == 0){ + callback.call(true);//鍏抽榾鎴愬姛 + }else{ + callback.call(false);//鍏抽榾澶辫触 + } + } + msg = cvo.toStr(false) ; + }else{ + msg = RtuSuccessMsg ; + } + } + }else{ + msg = RtuSuccessMsg ; + } + return msg; + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdDto.java new file mode 100644 index 0000000..31a0ca3 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdDto.java @@ -0,0 +1,18 @@ +package com.dy.pipIrrRemote.monitor.p202404V201.cd93; + +import com.dy.pipIrrRemote.common.dto.DtoBase; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @Author: liurunyu + * @Date: 2025/5/13 09:38 + * @Description + */ + +@Data +@EqualsAndHashCode(callSuper=true) +public class CdDto extends DtoBase { + public static final long serialVersionUID = 202505130938001L; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdParam.java new file mode 100644 index 0000000..c3421ae --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdParam.java @@ -0,0 +1,21 @@ +package com.dy.pipIrrRemote.monitor.p202404V201.cd93; + +import com.dy.pipIrrRemote.monitor.common.CdParameter; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +/** + * @Author: liurunyu + * @Date: 2025/5/13 09:38 + * @Description + */ +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +@SuperBuilder +public class CdParam extends CdParameter { + public String icCardNo ;//鐢ㄦ埛鍗″簭鍒楀彿锛�17浣嶆暟瀛楋級锛�6瀛楄妭BCD锛�2瀛楄妭HEX锛� + public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級 +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdSv.java new file mode 100644 index 0000000..c59ab53 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd93/CdSv.java @@ -0,0 +1,54 @@ +package com.dy.pipIrrRemote.monitor.p202404V201.cd93; + +import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper; +import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper; +import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard; +import com.dy.pipIrrGlobal.voSe.VoVirtualCard; +import com.dy.pipIrrRemote.monitor.common.ComSv; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Author: liurunyu + * @Date: 2025/5/13 09:38 + * @Description + */ +@Slf4j +@Service("cd93Sv") +public class CdSv extends ComSv { + + @Autowired + protected SeVirtualCardMapper seVirtualCardDao ; + + @Autowired + protected PrWaterPriceMapper prWaterPriceDao ; + + public VoVirtualCard selectClientVtCardById(Long id){ + return seVirtualCardDao.getVcById(id) ; + } + public Double selectWaterPrice(){ + return prWaterPriceDao.getPrice() ; + } + + /** + * 瑙i櫎铏氭嫙鍗¤鍗犵敤 + */ + public void setVcNoUsed(Long id){ + SeVirtualCard po = new SeVirtualCard() ; + po.setId(id); + po.setIntakeId(null); + po.setInUse((byte)0); + po.setOpenTime(null); + seVirtualCardDao.updateByPrimaryKeySelective(po); + } + + /** + * 閫氳繃铏氭嫙鍗$紪鍙峰緱鍒拌褰曞疄浣揑D + * @param vcNum + * @return + */ + public Long getVcIdByNum(String vcNum){ + return seVirtualCardDao.getVcIdByNum(vcNum) ; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdCtrl.java index 88adcaa..0875a90 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd97/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -73,7 +73,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -93,7 +93,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdCtrl.java index 2ce6db3..26950f7 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd98/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -73,7 +73,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -93,7 +93,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdCtrl.java index 10d92c8..d363b82 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/p202404V201/cd99/CdCtrl.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson2.JSONObject; import com.dy.common.aop.SsoAop; import com.dy.common.mw.protocol.Command; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCdXyVo; +import com.dy.common.util.Callback; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -73,7 +73,7 @@ res = super.doSend(sv, com); if (res == null) { //鍙戦�佸懡浠ゅ悗 - res = super.after(ComCode); + res = super.after(ComCode, null); } } catch (Exception e) { res = BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null ? "" : e.getMessage())); @@ -93,7 +93,7 @@ } @Override - protected String createRtnMsg(String code, JSONObject resultData){ + protected String dealComResult(String code, JSONObject resultData, Callback callback){ String msg; if(resultData != null){ JSONObject codeData = resultData.getJSONObject("data") ; -- Gitblit v1.8.0