From e8d6c405c367e1bd501a6f6b4fa8cfa0dddbd806 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 26 六月 2024 15:20:47 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseLastMapper.java | 36 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java | 6 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/valve/ValveCtrl.java | 669 +++--------- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java | 104 + pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java | 481 +++----- pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java | 13 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java | 153 +- pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Recharge.java | 34 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java | 43 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/enums/LastOperateENUM.java | 27 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCtrl.java | 1 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/qo/OnLineIntakesQO.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveClose.java | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/dto/Param.java | 14 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java | 12 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 1 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseHistoryMapper.xml | 375 +++++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java | 54 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/PayInfo.java | 176 +++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java | 62 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseHistoryMapper.java | 27 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictSv.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/Recharge.java | 33 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/qo/OnLineIntakesQO.java | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseLast.java | 217 ++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java | 2 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseLastMapper.xml | 383 +++++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml | 1 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseHistory.java | 217 ++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java | 2 30 files changed, 2,218 insertions(+), 933 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java index 644f9b7..ad83980 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java @@ -5,16 +5,18 @@ import com.dy.common.mw.protocol.Command; import com.dy.common.mw.protocol.CommandType; import com.dy.common.mw.protocol.Data; -import com.dy.common.mw.protocol.p206V202404.CodeV202404; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrGlobal.command.dto.Param; +import com.dy.pipIrrGlobal.command.enums.LastOperateENUM; import com.dy.pipIrrGlobal.command.result.CommandResultCode; import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper; import com.dy.pipIrrGlobal.daoPr.PrControllerMapper; 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 jakarta.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; @@ -42,8 +44,6 @@ * @Description 鍛戒护鏀拺绫� */ -//@Component -//@DependsOn({"baSettingsMapper", "prControllerMapper"}) public class ComSupport { protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ; @@ -64,11 +64,11 @@ @Autowired private PrControllerMapper prControllerMapper; - //@Autowired - //private CommandSv commandSv; - @Autowired private RmCommandHistoryMapper rmCommandHistoryMapper; + + @Autowired + private SeVirtualCardMapper seVirtualCardMapper; public static ComSupport comSupport; @@ -225,16 +225,19 @@ } /** - * 鍙戦�佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� * @param po * @return */ - protected BaseResponse dealWithCommandResult(Param po) { + protected BaseResponse<Boolean> dealWithCommandResult(Param po) { Long comId = po.getComId(); + Byte comType = po.getComType(); String commandCode = po.getCommandCode(); + String commandName = po.getCommandName(); Long intakeId = po.getIntakeId(); String rtuAddr = po.getRtuAddr(); String protocol = po.getProtocol(); + Long vcId = po.getVcId(); Object param = po.getParam(); String rtuResultSendWebUrl = po.getRtuResultSendWebUrl(); Long operator = po.getOperator(); @@ -245,28 +248,38 @@ // 鍙戦�佸懡浠� JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - //if(1 > 0) { // 璇锋眰鎴愬姛 // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV202404.getCodeName(commandCode); RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - //commandSv.insert(rmCommandHistory); rmCommandHistoryMapper.insert(rmCommandHistory); // 澶勭悊鍥炶皟 BaseResponse response_CallBack = dealWithCallBack(comId); - // 鍥炶皟澶辫触 + // 鍥炶皟寮傚父 if(!response_CallBack.getCode().equals("0001")) { // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 rmCommandHistory = new RmCommandHistory(); rmCommandHistory.setId(comId); rmCommandHistory.setResult((byte)0); - //commandSv.updateCommandResult(rmCommandHistory); rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory); - return BaseResponseUtils.buildFail(response_CallBack.getMsg()); - //return BaseResponseUtils.buildFail(response_CallBack.getContent().toString()); + return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); + } + + // 鍥炶皟瓒呮椂 + if (response_CallBack.getContent().toString().equals(CommandResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) { + /** + * 鍥炶皟瓒呮椂锛屾殏鏃惰涓烘墽琛屽け璐� + * 鍛戒护缃负澶辫触 + * 铏氭嫙鍗′緷鏃т繚鎸佷娇鐢ㄤ腑鐨勭姸鎬� + */ + + rmCommandHistory = new RmCommandHistory(); + rmCommandHistory.setId(comId); + rmCommandHistory.setResult((byte) 0); + rmCommandHistoryMapper.updateByPrimaryKeySelective(rmCommandHistory); + return BaseResponseUtils.buildErrorMsg(CommandResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage()); } // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 @@ -276,18 +289,33 @@ System.out.println(job_subData); Boolean dealResult = job_subData.getBoolean("success"); if(!dealResult) { - return BaseResponseUtils.buildFail(response_CallBack.getContent().toString()); + return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); } /** * 鎵ц鎴愬姛锛岃繑鍥炲洖璋冨唴瀹� + * 濡傛灉鏄紑鍏抽榾锛氭洿鏀硅櫄鎷熷崱鐘舵�侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� */ + if(comType != null) { + SeVirtualCard virtualCard = new SeVirtualCard(); + virtualCard.setId(vcId); + if(comType == 1) { + virtualCard.setInUse((byte) 1); + }else { + virtualCard.setInUse((byte) 0); + } + 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")); + return BaseResponseUtils.buildErrorMsg(job_param.getString("message")); } } } diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/dto/Param.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/dto/Param.java index e1541f7..9d5bcc7 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/dto/Param.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/dto/Param.java @@ -6,7 +6,7 @@ * @author ZhuBaoMin * @date 2024-06-04 11:25 * @LastEditTime 2024-06-04 11:25 - * @Description + * @Description 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋滄墍闇�鍙傛暟瀵硅薄 */ @Data @@ -15,7 +15,14 @@ private Long comId; + /** + * 鍛戒护绫诲瀷锛�1-寮�鍙戯紝2-鍏抽榾 + */ + private Byte comType; + private String commandCode; + + private String commandName; private Long intakeId; @@ -23,6 +30,11 @@ private String protocol; + private Long vcId; + + /** + * 瑙嗗浘瀵硅薄 + */ private Object param; private String rtuResultSendWebUrl; diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/enums/LastOperateENUM.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/enums/LastOperateENUM.java new file mode 100644 index 0000000..4fcdf28 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/enums/LastOperateENUM.java @@ -0,0 +1,27 @@ +package com.dy.pipIrrGlobal.command.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author ZhuBaoMin + * @date 2024-06-24 22:08 + * @LastEditTime 2024-06-24 22:08 + * @Description 铏氭嫙鍗℃搷浣滄灇涓� + */ + +@Getter +@AllArgsConstructor +public enum LastOperateENUM { + OPEN_ACCOUNT((byte)1, "寮�鎴�"), + RECHARGE((byte)2, "鍏呭��"), + CONSUME((byte)3, "娑堣垂"), + APPLY_REFUND((byte)4, "鐢宠閫�娆�"), + AUDIT_REFUND((byte)5, "閫�娆惧鏍�"), + REFUND((byte)6, "閫�娆�"), + OPEN_VALVE((byte)7, "寮�闃�"), + CLOSE_VALVE((byte)8, "鍏抽榾"); + + private final Byte code; + private final String message; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseHistoryMapper.java new file mode 100644 index 0000000..39c2f2d --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseHistoryMapper.java @@ -0,0 +1,27 @@ +package com.dy.pipIrrGlobal.daoRm; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseHistory; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author ZhuBaoMin + * @date 2024-06-20 10:34 + * @LastEditTime 2024-06-20 10:34 + * @Description + */ + +@Mapper +public interface RmOpenCloseHistoryMapper extends BaseMapper<RmOpenCloseHistory> { + int deleteByPrimaryKey(Long id); + + int insert(RmOpenCloseHistory record); + + int insertSelective(RmOpenCloseHistory record); + + RmOpenCloseHistory selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(RmOpenCloseHistory record); + + int updateByPrimaryKey(RmOpenCloseHistory record); +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseLastMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseLastMapper.java new file mode 100644 index 0000000..c94b41e --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseLastMapper.java @@ -0,0 +1,36 @@ +package com.dy.pipIrrGlobal.daoRm; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseLast; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @author ZhuBaoMin + * @date 2024-06-20 10:34 + * @LastEditTime 2024-06-20 10:34 + * @Description + */ + +@Mapper +public interface RmOpenCloseLastMapper extends BaseMapper<RmOpenCloseLast> { + int deleteByPrimaryKey(Long id); + + int insert(RmOpenCloseLast record); + + int insertSelective(RmOpenCloseLast record); + + RmOpenCloseLast selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(RmOpenCloseLast record); + + int updateByPrimaryKey(RmOpenCloseLast record); + + /** + * 鏍规嵁闃�鎺у櫒鍦板潃鑾峰彇寮�鍏抽榾涓婃姤鏈�鏂版暟鎹� + * @param rtuAddr + * @return + */ + List<RmOpenCloseLast> getRmOpenCloseReportLast(String rtuAddr); +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseHistory.java new file mode 100644 index 0000000..060b01f --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseHistory.java @@ -0,0 +1,217 @@ +package com.dy.pipIrrGlobal.pojoRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.mw.protocol.p206V202404.DataV202404; +import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo; +import com.dy.common.mw.protocol.p206V202404.upVos.DataCd85Vo; +import com.dy.common.po.BaseEntity; +import com.dy.common.util.DateTime; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2024-06-20 10:34 + * @LastEditTime 2024-06-20 10:34 + * @Description + */ +/** + * 寮�鍏抽榾鎶ュ巻鍙叉暟鎹〃 + */ + +@TableName(value="rm_open_close_history", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "寮�鍏抽榾鎶ュ巻鍙叉暟鎹〃") +public class RmOpenCloseHistory implements BaseEntity { + public static final long serialVersionUID = 202406201040001L; + + /** + * 涓婚敭 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + public Long id; + + /** + * 鎺у埗鍣ㄥ疄浣揑D锛堝閿級 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long controllerId; + + /** + * 鍙栨按鍙e疄浣揑D锛堝閿級 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long intakeId; + + /** + * 鎺у埗鍣ㄥ湴鍧� + */ + public String rtuAddr; + + /** + * 寮�闃�鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date opDt; + + /** + * 寮�闃�鎺у埗鍣ㄦ椂閽� + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date opRtuDt; + + /** + * IC鍗″湴鍧�锛堣繙绋嬪叧闂椂涓�0锛� + */ + public String opIcCardAddr; + + /** + * IC鍗$紪鍙凤紙17浣嶆暟瀛楋級 + */ + public String opIcCardNo; + + /** + * 寮�闃�璁㈠崟鍙凤紙16浣嶆暟瀛楋級 + */ + public String opOrderNo; + + /** + * 寮�娉�/闃�鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date openDt; + + /** + * 寮�闃�姘磋〃绱姘撮噺 + */ + public Double opWaterTotalAmount; + + /** + * 寮�闃�鐢佃〃绱鐢甸噺 + */ + public Double opEleTotalAmount; + + /** + * 寮�闃�鐢ㄦ埛鍓╀綑閲戦 + */ + public Double opMoneyRemainUser; + + /** + * 寮�闃�鐢ㄦ埛鍓╀綑姘撮噺 + */ + public Double opWaterRemainUser; + + /** + * 鍏虫车/闃�鏂瑰紡 + */ + public Byte opType; + + /** + * 鍏抽榾IC鍗″湴鍧�锛堣繙绋嬪叧闂椂涓�0锛� + */ + public String clIcCardAddr; + + /** + * 鍏抽榾IC鍗$紪鍙凤紙17浣嶆暟瀛楋級 + */ + public String clIcCardNo; + + /** + * 鍏抽榾璁㈠崟鍙凤紙16浣嶆暟瀛楋級 + */ + public String clOrderNo; + + /** + * 寮�濮嬫椂闂�(鍒嗘椂鏃ユ湀) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date startDt; + + /** + * 缁撴潫鏃堕棿(鍒嗘椂鏃ユ湀) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date endDt; + + /** + * 姘磋〃绱娴侀噺 + */ + public Double clWaterTotalAmount; + + /** + * 鐢佃〃绱鐢甸噺 + */ + public Double clEleTotalAmount; + + /** + * 鐢ㄦ埛鍓╀綑閲戦 + */ + public Double clMoneyRemainUser; + + /** + * 鐢ㄦ埛鍓╀綑姘撮噺 + */ + public Double clWaterRemainUser; + + /** + * 鏈浣跨敤鐢甸噺 + */ + public Double thisEle; + + /** + * 鏈浣跨敤姘撮噺 + */ + public Double thisWater; + + /** + * 鏈浣跨敤閲戦 + */ + public Double thisMoney; + + /** + * 鏈浣跨敤鏃堕棿闀� + */ + public Integer thisDuration; + + public void valueFrom84(DataV202404 dataV202404, DataCd84Vo cdData) throws Exception{ + this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt); + this.openDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.opDt); + //this.opRtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.opDt); + this.opIcCardAddr = cdData.icCardAddr; + this.opIcCardNo = cdData.icCardNo; + this.opOrderNo = cdData.orderNo; + this.opWaterTotalAmount = cdData.waterTotalAmount; + this.opEleTotalAmount = cdData.eleTotalAmount; + this.opMoneyRemainUser = cdData.moneyRemainUser; + this.opWaterRemainUser = cdData.waterRemainUser; + } + + public void valueFrom85(DataV202404 dataV202404, DataCd85Vo cdData) throws Exception{ + this.startDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.startDt); + this.endDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.endDt); + this.opType = cdData.opType; + this.clIcCardAddr = cdData.icCardAddr; + this.clIcCardNo = cdData.icCardNo; + this.clOrderNo = cdData.orderNo; + this.clWaterTotalAmount = cdData.waterTotalAmount; + this.clEleTotalAmount = cdData.eleTotalAmount; + this.clMoneyRemainUser = cdData.moneyRemain; + this.clWaterRemainUser = cdData.waterRemain; + this.thisEle = cdData.thisEle; + this.thisWater = cdData.thisWater; + this.thisMoney = cdData.thisMoney; + this.thisDuration = cdData.thisDuration; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseLast.java new file mode 100644 index 0000000..5c8723d --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseLast.java @@ -0,0 +1,217 @@ +package com.dy.pipIrrGlobal.pojoRm; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.dy.common.mw.protocol.p206V202404.DataV202404; +import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo; +import com.dy.common.mw.protocol.p206V202404.upVos.DataCd85Vo; +import com.dy.common.po.BaseEntity; +import com.dy.common.util.DateTime; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2024-06-20 10:34 + * @LastEditTime 2024-06-20 10:34 + * @Description + */ +/** + * 寮�鍏抽榾鎶ユ渶鏂版暟鎹〃 + */ + +@TableName(value="rm_open_close_last", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "寮�鍏抽榾鎶ユ渶鏂版暟鎹〃") +public class RmOpenCloseLast implements BaseEntity { + public static final long serialVersionUID = 202406201041001L; + + /** + * 涓婚敭 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + public Long id; + + /** + * 鎺у埗鍣ㄥ疄浣揑D锛堝閿級 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long controllerId; + + /** + * 鍙栨按鍙e疄浣揑D锛堝閿級 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long intakeId; + + /** + * 鎺у埗鍣ㄥ湴鍧� + */ + public String rtuAddr; + + /** + * 寮�闃�鏁版嵁鎺ユ敹鏃ユ湡鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date opDt; + + /** + * 寮�闃�鎺у埗鍣ㄦ椂閽� + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date opRtuDt; + + /** + * IC鍗″湴鍧�锛堣繙绋嬪叧闂椂涓�0锛� + */ + public String opIcCardAddr; + + /** + * IC鍗$紪鍙凤紙17浣嶆暟瀛楋級 + */ + public String opIcCardNo; + + /** + * 寮�闃�璁㈠崟鍙凤紙16浣嶆暟瀛楋級 + */ + public String opOrderNo; + + /** + * 寮�娉�/闃�鏃堕棿 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date openDt; + + /** + * 寮�闃�姘磋〃绱姘撮噺 + */ + public Double opWaterTotalAmount; + + /** + * 寮�闃�鐢佃〃绱鐢甸噺 + */ + public Double opEleTotalAmount; + + /** + * 寮�闃�鐢ㄦ埛鍓╀綑閲戦 + */ + public Double opMoneyRemainUser; + + /** + * 寮�闃�鐢ㄦ埛鍓╀綑姘撮噺 + */ + public Double opWaterRemainUser; + + /** + * 鍏虫车/闃�鏂瑰紡 + */ + public Byte opType; + + /** + * 鍏抽榾IC鍗″湴鍧�锛堣繙绋嬪叧闂椂涓�0锛� + */ + public String clIcCardAddr; + + /** + * 鍏抽榾IC鍗$紪鍙凤紙17浣嶆暟瀛楋級 + */ + public String clIcCardNo; + + /** + * 鍏抽榾璁㈠崟鍙凤紙16浣嶆暟瀛楋級 + */ + public String clOrderNo; + + /** + * 寮�濮嬫椂闂�(鍒嗘椂鏃ユ湀) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date startDt; + + /** + * 缁撴潫鏃堕棿(鍒嗘椂鏃ユ湀) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + public Date endDt; + + /** + * 姘磋〃绱娴侀噺 + */ + public Double clWaterTotalAmount; + + /** + * 鐢佃〃绱鐢甸噺 + */ + public Double clEleTotalAmount; + + /** + * 鐢ㄦ埛鍓╀綑閲戦 + */ + public Double clMoneyRemainUser; + + /** + * 鐢ㄦ埛鍓╀綑姘撮噺 + */ + public Double clWaterRemainUser; + + /** + * 鏈浣跨敤鐢甸噺 + */ + public Double thisEle; + + /** + * 鏈浣跨敤姘撮噺 + */ + public Double thisWater; + + /** + * 鏈浣跨敤閲戦 + */ + public Double thisMoney; + + /** + * 鏈浣跨敤鏃堕棿闀� + */ + public Integer thisDuration; + + public void valueFrom84(DataV202404 dataV202404, DataCd84Vo cdData) throws Exception{ + this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataV202404.dt); + this.openDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.opDt); + //this.opRtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.opDt); + this.opIcCardAddr = cdData.icCardAddr; + this.opIcCardNo = cdData.icCardNo; + this.opOrderNo = cdData.orderNo; + this.opWaterTotalAmount = cdData.waterTotalAmount; + this.opEleTotalAmount = cdData.eleTotalAmount; + this.opMoneyRemainUser = cdData.moneyRemainUser; + this.opWaterRemainUser = cdData.waterRemainUser; + } + + public void valueFrom85(DataV202404 dataV202404, DataCd85Vo cdData) throws Exception{ + this.startDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.startDt); + this.endDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.endDt); + this.opType = cdData.opType; + this.clIcCardAddr = cdData.icCardAddr; + this.clIcCardNo = cdData.icCardNo; + this.clOrderNo = cdData.orderNo; + this.clWaterTotalAmount = cdData.waterTotalAmount; + this.clEleTotalAmount = cdData.eleTotalAmount; + this.clMoneyRemainUser = cdData.moneyRemain; + this.clWaterRemainUser = cdData.waterRemain; + this.thisEle = cdData.thisEle; + this.thisWater = cdData.thisWater; + this.thisMoney = cdData.thisMoney; + this.thisDuration = cdData.thisDuration; + } +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseHistoryMapper.xml new file mode 100644 index 0000000..9b3896d --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseHistoryMapper.xml @@ -0,0 +1,375 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmOpenCloseHistoryMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseHistory"> + <!--@mbg.generated--> + <!--@Table rm_open_close_history--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="controller_id" jdbcType="BIGINT" property="controllerId" /> + <result column="intake_id" jdbcType="BIGINT" property="intakeId" /> + <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" /> + <result column="op_dt" jdbcType="TIMESTAMP" property="opDt" /> + <result column="op_rtu_dt" jdbcType="TIMESTAMP" property="opRtuDt" /> + <result column="op_ic_card_addr" jdbcType="VARCHAR" property="opIcCardAddr" /> + <result column="op_ic_card_no" jdbcType="VARCHAR" property="opIcCardNo" /> + <result column="op_order_no" jdbcType="VARCHAR" property="opOrderNo" /> + <result column="open_dt" jdbcType="TIMESTAMP" property="openDt" /> + <result column="op_water_total_amount" jdbcType="FLOAT" property="opWaterTotalAmount" /> + <result column="op_ele_total_amount" jdbcType="FLOAT" property="opEleTotalAmount" /> + <result column="op_money_remain_user" jdbcType="FLOAT" property="opMoneyRemainUser" /> + <result column="op_water_remain_user" jdbcType="FLOAT" property="opWaterRemainUser" /> + <result column="op_type" jdbcType="TINYINT" property="opType" /> + <result column="cl_ic_card_addr" jdbcType="VARCHAR" property="clIcCardAddr" /> + <result column="cl_ic_card_no" jdbcType="VARCHAR" property="clIcCardNo" /> + <result column="cl_order_no" jdbcType="VARCHAR" property="clOrderNo" /> + <result column="start_dt" jdbcType="TIMESTAMP" property="startDt" /> + <result column="end_dt" jdbcType="TIMESTAMP" property="endDt" /> + <result column="cl_water_total_amount" jdbcType="FLOAT" property="clWaterTotalAmount" /> + <result column="cl_ele_total_amount" jdbcType="FLOAT" property="clEleTotalAmount" /> + <result column="cl_money_remain_user" jdbcType="FLOAT" property="clMoneyRemainUser" /> + <result column="cl_water_remain_user" jdbcType="FLOAT" property="clWaterRemainUser" /> + <result column="this_ele" jdbcType="FLOAT" property="thisEle" /> + <result column="this_water" jdbcType="FLOAT" property="thisWater" /> + <result column="this_money" jdbcType="FLOAT" property="thisMoney" /> + <result column="this_duration" jdbcType="INTEGER" property="thisDuration" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, controller_id, intake_id, rtu_addr, op_dt, op_rtu_dt, op_ic_card_addr, op_ic_card_no, + op_order_no, open_dt, op_water_total_amount, op_ele_total_amount, op_money_remain_user, + op_water_remain_user, op_type, cl_ic_card_addr, cl_ic_card_no, cl_order_no, start_dt, + end_dt, cl_water_total_amount, cl_ele_total_amount, cl_money_remain_user, cl_water_remain_user, + this_ele, this_water, this_money, this_duration + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from rm_open_close_history + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from rm_open_close_history + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseHistory"> + <!--@mbg.generated--> + insert into rm_open_close_history (id, controller_id, intake_id, + rtu_addr, op_dt, op_rtu_dt, + op_ic_card_addr, op_ic_card_no, op_order_no, + open_dt, op_water_total_amount, op_ele_total_amount, + op_money_remain_user, op_water_remain_user, op_type, + cl_ic_card_addr, cl_ic_card_no, cl_order_no, + start_dt, end_dt, cl_water_total_amount, + cl_ele_total_amount, cl_money_remain_user, cl_water_remain_user, + this_ele, this_water, this_money, + this_duration) + values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, + #{rtuAddr,jdbcType=VARCHAR}, #{opDt,jdbcType=TIMESTAMP}, #{opRtuDt,jdbcType=TIMESTAMP}, + #{opIcCardAddr,jdbcType=VARCHAR}, #{opIcCardNo,jdbcType=VARCHAR}, #{opOrderNo,jdbcType=VARCHAR}, + #{openDt,jdbcType=TIMESTAMP}, #{opWaterTotalAmount,jdbcType=FLOAT}, #{opEleTotalAmount,jdbcType=FLOAT}, + #{opMoneyRemainUser,jdbcType=FLOAT}, #{opWaterRemainUser,jdbcType=FLOAT}, #{opType,jdbcType=TINYINT}, + #{clIcCardAddr,jdbcType=VARCHAR}, #{clIcCardNo,jdbcType=VARCHAR}, #{clOrderNo,jdbcType=VARCHAR}, + #{startDt,jdbcType=TIMESTAMP}, #{endDt,jdbcType=TIMESTAMP}, #{clWaterTotalAmount,jdbcType=FLOAT}, + #{clEleTotalAmount,jdbcType=FLOAT}, #{clMoneyRemainUser,jdbcType=FLOAT}, #{clWaterRemainUser,jdbcType=FLOAT}, + #{thisEle,jdbcType=FLOAT}, #{thisWater,jdbcType=FLOAT}, #{thisMoney,jdbcType=FLOAT}, + #{thisDuration,jdbcType=INTEGER}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseHistory"> + <!--@mbg.generated--> + insert into rm_open_close_history + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="controllerId != null"> + controller_id, + </if> + <if test="intakeId != null"> + intake_id, + </if> + <if test="rtuAddr != null"> + rtu_addr, + </if> + <if test="opDt != null"> + op_dt, + </if> + <if test="opRtuDt != null"> + op_rtu_dt, + </if> + <if test="opIcCardAddr != null"> + op_ic_card_addr, + </if> + <if test="opIcCardNo != null"> + op_ic_card_no, + </if> + <if test="opOrderNo != null"> + op_order_no, + </if> + <if test="openDt != null"> + open_dt, + </if> + <if test="opWaterTotalAmount != null"> + op_water_total_amount, + </if> + <if test="opEleTotalAmount != null"> + op_ele_total_amount, + </if> + <if test="opMoneyRemainUser != null"> + op_money_remain_user, + </if> + <if test="opWaterRemainUser != null"> + op_water_remain_user, + </if> + <if test="opType != null"> + op_type, + </if> + <if test="clIcCardAddr != null"> + cl_ic_card_addr, + </if> + <if test="clIcCardNo != null"> + cl_ic_card_no, + </if> + <if test="clOrderNo != null"> + cl_order_no, + </if> + <if test="startDt != null"> + start_dt, + </if> + <if test="endDt != null"> + end_dt, + </if> + <if test="clWaterTotalAmount != null"> + cl_water_total_amount, + </if> + <if test="clEleTotalAmount != null"> + cl_ele_total_amount, + </if> + <if test="clMoneyRemainUser != null"> + cl_money_remain_user, + </if> + <if test="clWaterRemainUser != null"> + cl_water_remain_user, + </if> + <if test="thisEle != null"> + this_ele, + </if> + <if test="thisWater != null"> + this_water, + </if> + <if test="thisMoney != null"> + this_money, + </if> + <if test="thisDuration != null"> + this_duration, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="controllerId != null"> + #{controllerId,jdbcType=BIGINT}, + </if> + <if test="intakeId != null"> + #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + #{rtuAddr,jdbcType=VARCHAR}, + </if> + <if test="opDt != null"> + #{opDt,jdbcType=TIMESTAMP}, + </if> + <if test="opRtuDt != null"> + #{opRtuDt,jdbcType=TIMESTAMP}, + </if> + <if test="opIcCardAddr != null"> + #{opIcCardAddr,jdbcType=VARCHAR}, + </if> + <if test="opIcCardNo != null"> + #{opIcCardNo,jdbcType=VARCHAR}, + </if> + <if test="opOrderNo != null"> + #{opOrderNo,jdbcType=VARCHAR}, + </if> + <if test="openDt != null"> + #{openDt,jdbcType=TIMESTAMP}, + </if> + <if test="opWaterTotalAmount != null"> + #{opWaterTotalAmount,jdbcType=FLOAT}, + </if> + <if test="opEleTotalAmount != null"> + #{opEleTotalAmount,jdbcType=FLOAT}, + </if> + <if test="opMoneyRemainUser != null"> + #{opMoneyRemainUser,jdbcType=FLOAT}, + </if> + <if test="opWaterRemainUser != null"> + #{opWaterRemainUser,jdbcType=FLOAT}, + </if> + <if test="opType != null"> + #{opType,jdbcType=TINYINT}, + </if> + <if test="clIcCardAddr != null"> + #{clIcCardAddr,jdbcType=VARCHAR}, + </if> + <if test="clIcCardNo != null"> + #{clIcCardNo,jdbcType=VARCHAR}, + </if> + <if test="clOrderNo != null"> + #{clOrderNo,jdbcType=VARCHAR}, + </if> + <if test="startDt != null"> + #{startDt,jdbcType=TIMESTAMP}, + </if> + <if test="endDt != null"> + #{endDt,jdbcType=TIMESTAMP}, + </if> + <if test="clWaterTotalAmount != null"> + #{clWaterTotalAmount,jdbcType=FLOAT}, + </if> + <if test="clEleTotalAmount != null"> + #{clEleTotalAmount,jdbcType=FLOAT}, + </if> + <if test="clMoneyRemainUser != null"> + #{clMoneyRemainUser,jdbcType=FLOAT}, + </if> + <if test="clWaterRemainUser != null"> + #{clWaterRemainUser,jdbcType=FLOAT}, + </if> + <if test="thisEle != null"> + #{thisEle,jdbcType=FLOAT}, + </if> + <if test="thisWater != null"> + #{thisWater,jdbcType=FLOAT}, + </if> + <if test="thisMoney != null"> + #{thisMoney,jdbcType=FLOAT}, + </if> + <if test="thisDuration != null"> + #{thisDuration,jdbcType=INTEGER}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseHistory"> + <!--@mbg.generated--> + update rm_open_close_history + <set> + <if test="controllerId != null"> + controller_id = #{controllerId,jdbcType=BIGINT}, + </if> + <if test="intakeId != null"> + intake_id = #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, + </if> + <if test="opDt != null"> + op_dt = #{opDt,jdbcType=TIMESTAMP}, + </if> + <if test="opRtuDt != null"> + op_rtu_dt = #{opRtuDt,jdbcType=TIMESTAMP}, + </if> + <if test="opIcCardAddr != null"> + op_ic_card_addr = #{opIcCardAddr,jdbcType=VARCHAR}, + </if> + <if test="opIcCardNo != null"> + op_ic_card_no = #{opIcCardNo,jdbcType=VARCHAR}, + </if> + <if test="opOrderNo != null"> + op_order_no = #{opOrderNo,jdbcType=VARCHAR}, + </if> + <if test="openDt != null"> + open_dt = #{openDt,jdbcType=TIMESTAMP}, + </if> + <if test="opWaterTotalAmount != null"> + op_water_total_amount = #{opWaterTotalAmount,jdbcType=FLOAT}, + </if> + <if test="opEleTotalAmount != null"> + op_ele_total_amount = #{opEleTotalAmount,jdbcType=FLOAT}, + </if> + <if test="opMoneyRemainUser != null"> + op_money_remain_user = #{opMoneyRemainUser,jdbcType=FLOAT}, + </if> + <if test="opWaterRemainUser != null"> + op_water_remain_user = #{opWaterRemainUser,jdbcType=FLOAT}, + </if> + <if test="opType != null"> + op_type = #{opType,jdbcType=TINYINT}, + </if> + <if test="clIcCardAddr != null"> + cl_ic_card_addr = #{clIcCardAddr,jdbcType=VARCHAR}, + </if> + <if test="clIcCardNo != null"> + cl_ic_card_no = #{clIcCardNo,jdbcType=VARCHAR}, + </if> + <if test="clOrderNo != null"> + cl_order_no = #{clOrderNo,jdbcType=VARCHAR}, + </if> + <if test="startDt != null"> + start_dt = #{startDt,jdbcType=TIMESTAMP}, + </if> + <if test="endDt != null"> + end_dt = #{endDt,jdbcType=TIMESTAMP}, + </if> + <if test="clWaterTotalAmount != null"> + cl_water_total_amount = #{clWaterTotalAmount,jdbcType=FLOAT}, + </if> + <if test="clEleTotalAmount != null"> + cl_ele_total_amount = #{clEleTotalAmount,jdbcType=FLOAT}, + </if> + <if test="clMoneyRemainUser != null"> + cl_money_remain_user = #{clMoneyRemainUser,jdbcType=FLOAT}, + </if> + <if test="clWaterRemainUser != null"> + cl_water_remain_user = #{clWaterRemainUser,jdbcType=FLOAT}, + </if> + <if test="thisEle != null"> + this_ele = #{thisEle,jdbcType=FLOAT}, + </if> + <if test="thisWater != null"> + this_water = #{thisWater,jdbcType=FLOAT}, + </if> + <if test="thisMoney != null"> + this_money = #{thisMoney,jdbcType=FLOAT}, + </if> + <if test="thisDuration != null"> + this_duration = #{thisDuration,jdbcType=INTEGER}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseHistory"> + <!--@mbg.generated--> + update rm_open_close_history + set controller_id = #{controllerId,jdbcType=BIGINT}, + intake_id = #{intakeId,jdbcType=BIGINT}, + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, + op_dt = #{opDt,jdbcType=TIMESTAMP}, + op_rtu_dt = #{opRtuDt,jdbcType=TIMESTAMP}, + op_ic_card_addr = #{opIcCardAddr,jdbcType=VARCHAR}, + op_ic_card_no = #{opIcCardNo,jdbcType=VARCHAR}, + op_order_no = #{opOrderNo,jdbcType=VARCHAR}, + open_dt = #{openDt,jdbcType=TIMESTAMP}, + op_water_total_amount = #{opWaterTotalAmount,jdbcType=FLOAT}, + op_ele_total_amount = #{opEleTotalAmount,jdbcType=FLOAT}, + op_money_remain_user = #{opMoneyRemainUser,jdbcType=FLOAT}, + op_water_remain_user = #{opWaterRemainUser,jdbcType=FLOAT}, + op_type = #{opType,jdbcType=TINYINT}, + cl_ic_card_addr = #{clIcCardAddr,jdbcType=VARCHAR}, + cl_ic_card_no = #{clIcCardNo,jdbcType=VARCHAR}, + cl_order_no = #{clOrderNo,jdbcType=VARCHAR}, + start_dt = #{startDt,jdbcType=TIMESTAMP}, + end_dt = #{endDt,jdbcType=TIMESTAMP}, + cl_water_total_amount = #{clWaterTotalAmount,jdbcType=FLOAT}, + cl_ele_total_amount = #{clEleTotalAmount,jdbcType=FLOAT}, + cl_money_remain_user = #{clMoneyRemainUser,jdbcType=FLOAT}, + cl_water_remain_user = #{clWaterRemainUser,jdbcType=FLOAT}, + this_ele = #{thisEle,jdbcType=FLOAT}, + this_water = #{thisWater,jdbcType=FLOAT}, + this_money = #{thisMoney,jdbcType=FLOAT}, + this_duration = #{thisDuration,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseLastMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseLastMapper.xml new file mode 100644 index 0000000..da66783 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseLastMapper.xml @@ -0,0 +1,383 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.dy.pipIrrGlobal.daoRm.RmOpenCloseLastMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseLast"> + <!--@mbg.generated--> + <!--@Table rm_open_close_last--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="controller_id" jdbcType="BIGINT" property="controllerId" /> + <result column="intake_id" jdbcType="BIGINT" property="intakeId" /> + <result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr" /> + <result column="op_dt" jdbcType="TIMESTAMP" property="opDt" /> + <result column="op_rtu_dt" jdbcType="TIMESTAMP" property="opRtuDt" /> + <result column="op_ic_card_addr" jdbcType="VARCHAR" property="opIcCardAddr" /> + <result column="op_ic_card_no" jdbcType="VARCHAR" property="opIcCardNo" /> + <result column="op_order_no" jdbcType="VARCHAR" property="opOrderNo" /> + <result column="open_dt" jdbcType="TIMESTAMP" property="openDt" /> + <result column="op_water_total_amount" jdbcType="FLOAT" property="opWaterTotalAmount" /> + <result column="op_ele_total_amount" jdbcType="FLOAT" property="opEleTotalAmount" /> + <result column="op_money_remain_user" jdbcType="FLOAT" property="opMoneyRemainUser" /> + <result column="op_water_remain_user" jdbcType="FLOAT" property="opWaterRemainUser" /> + <result column="op_type" jdbcType="TINYINT" property="opType" /> + <result column="cl_ic_card_addr" jdbcType="VARCHAR" property="clIcCardAddr" /> + <result column="cl_ic_card_no" jdbcType="VARCHAR" property="clIcCardNo" /> + <result column="cl_order_no" jdbcType="VARCHAR" property="clOrderNo" /> + <result column="start_dt" jdbcType="TIMESTAMP" property="startDt" /> + <result column="end_dt" jdbcType="TIMESTAMP" property="endDt" /> + <result column="cl_water_total_amount" jdbcType="FLOAT" property="clWaterTotalAmount" /> + <result column="cl_ele_total_amount" jdbcType="FLOAT" property="clEleTotalAmount" /> + <result column="cl_money_remain_user" jdbcType="FLOAT" property="clMoneyRemainUser" /> + <result column="cl_water_remain_user" jdbcType="FLOAT" property="clWaterRemainUser" /> + <result column="this_ele" jdbcType="FLOAT" property="thisEle" /> + <result column="this_water" jdbcType="FLOAT" property="thisWater" /> + <result column="this_money" jdbcType="FLOAT" property="thisMoney" /> + <result column="this_duration" jdbcType="INTEGER" property="thisDuration" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, controller_id, intake_id, rtu_addr, op_dt, op_rtu_dt, op_ic_card_addr, op_ic_card_no, + op_order_no, open_dt, op_water_total_amount, op_ele_total_amount, op_money_remain_user, + op_water_remain_user, op_type, cl_ic_card_addr, cl_ic_card_no, cl_order_no, start_dt, + end_dt, cl_water_total_amount, cl_ele_total_amount, cl_money_remain_user, cl_water_remain_user, + this_ele, this_water, this_money, this_duration + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from rm_open_close_last + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from rm_open_close_last + where id = #{id,jdbcType=BIGINT} + </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseLast"> + <!--@mbg.generated--> + insert into rm_open_close_last (id, controller_id, intake_id, + rtu_addr, op_dt, op_rtu_dt, + op_ic_card_addr, op_ic_card_no, op_order_no, + open_dt, op_water_total_amount, op_ele_total_amount, + op_money_remain_user, op_water_remain_user, op_type, + cl_ic_card_addr, cl_ic_card_no, cl_order_no, + start_dt, end_dt, cl_water_total_amount, + cl_ele_total_amount, cl_money_remain_user, cl_water_remain_user, + this_ele, this_water, this_money, + this_duration) + values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, + #{rtuAddr,jdbcType=VARCHAR}, #{opDt,jdbcType=TIMESTAMP}, #{opRtuDt,jdbcType=TIMESTAMP}, + #{opIcCardAddr,jdbcType=VARCHAR}, #{opIcCardNo,jdbcType=VARCHAR}, #{opOrderNo,jdbcType=VARCHAR}, + #{openDt,jdbcType=TIMESTAMP}, #{opWaterTotalAmount,jdbcType=FLOAT}, #{opEleTotalAmount,jdbcType=FLOAT}, + #{opMoneyRemainUser,jdbcType=FLOAT}, #{opWaterRemainUser,jdbcType=FLOAT}, #{opType,jdbcType=TINYINT}, + #{clIcCardAddr,jdbcType=VARCHAR}, #{clIcCardNo,jdbcType=VARCHAR}, #{clOrderNo,jdbcType=VARCHAR}, + #{startDt,jdbcType=TIMESTAMP}, #{endDt,jdbcType=TIMESTAMP}, #{clWaterTotalAmount,jdbcType=FLOAT}, + #{clEleTotalAmount,jdbcType=FLOAT}, #{clMoneyRemainUser,jdbcType=FLOAT}, #{clWaterRemainUser,jdbcType=FLOAT}, + #{thisEle,jdbcType=FLOAT}, #{thisWater,jdbcType=FLOAT}, #{thisMoney,jdbcType=FLOAT}, + #{thisDuration,jdbcType=INTEGER}) + </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseLast"> + <!--@mbg.generated--> + insert into rm_open_close_last + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="controllerId != null"> + controller_id, + </if> + <if test="intakeId != null"> + intake_id, + </if> + <if test="rtuAddr != null"> + rtu_addr, + </if> + <if test="opDt != null"> + op_dt, + </if> + <if test="opRtuDt != null"> + op_rtu_dt, + </if> + <if test="opIcCardAddr != null"> + op_ic_card_addr, + </if> + <if test="opIcCardNo != null"> + op_ic_card_no, + </if> + <if test="opOrderNo != null"> + op_order_no, + </if> + <if test="openDt != null"> + open_dt, + </if> + <if test="opWaterTotalAmount != null"> + op_water_total_amount, + </if> + <if test="opEleTotalAmount != null"> + op_ele_total_amount, + </if> + <if test="opMoneyRemainUser != null"> + op_money_remain_user, + </if> + <if test="opWaterRemainUser != null"> + op_water_remain_user, + </if> + <if test="opType != null"> + op_type, + </if> + <if test="clIcCardAddr != null"> + cl_ic_card_addr, + </if> + <if test="clIcCardNo != null"> + cl_ic_card_no, + </if> + <if test="clOrderNo != null"> + cl_order_no, + </if> + <if test="startDt != null"> + start_dt, + </if> + <if test="endDt != null"> + end_dt, + </if> + <if test="clWaterTotalAmount != null"> + cl_water_total_amount, + </if> + <if test="clEleTotalAmount != null"> + cl_ele_total_amount, + </if> + <if test="clMoneyRemainUser != null"> + cl_money_remain_user, + </if> + <if test="clWaterRemainUser != null"> + cl_water_remain_user, + </if> + <if test="thisEle != null"> + this_ele, + </if> + <if test="thisWater != null"> + this_water, + </if> + <if test="thisMoney != null"> + this_money, + </if> + <if test="thisDuration != null"> + this_duration, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="controllerId != null"> + #{controllerId,jdbcType=BIGINT}, + </if> + <if test="intakeId != null"> + #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + #{rtuAddr,jdbcType=VARCHAR}, + </if> + <if test="opDt != null"> + #{opDt,jdbcType=TIMESTAMP}, + </if> + <if test="opRtuDt != null"> + #{opRtuDt,jdbcType=TIMESTAMP}, + </if> + <if test="opIcCardAddr != null"> + #{opIcCardAddr,jdbcType=VARCHAR}, + </if> + <if test="opIcCardNo != null"> + #{opIcCardNo,jdbcType=VARCHAR}, + </if> + <if test="opOrderNo != null"> + #{opOrderNo,jdbcType=VARCHAR}, + </if> + <if test="openDt != null"> + #{openDt,jdbcType=TIMESTAMP}, + </if> + <if test="opWaterTotalAmount != null"> + #{opWaterTotalAmount,jdbcType=FLOAT}, + </if> + <if test="opEleTotalAmount != null"> + #{opEleTotalAmount,jdbcType=FLOAT}, + </if> + <if test="opMoneyRemainUser != null"> + #{opMoneyRemainUser,jdbcType=FLOAT}, + </if> + <if test="opWaterRemainUser != null"> + #{opWaterRemainUser,jdbcType=FLOAT}, + </if> + <if test="opType != null"> + #{opType,jdbcType=TINYINT}, + </if> + <if test="clIcCardAddr != null"> + #{clIcCardAddr,jdbcType=VARCHAR}, + </if> + <if test="clIcCardNo != null"> + #{clIcCardNo,jdbcType=VARCHAR}, + </if> + <if test="clOrderNo != null"> + #{clOrderNo,jdbcType=VARCHAR}, + </if> + <if test="startDt != null"> + #{startDt,jdbcType=TIMESTAMP}, + </if> + <if test="endDt != null"> + #{endDt,jdbcType=TIMESTAMP}, + </if> + <if test="clWaterTotalAmount != null"> + #{clWaterTotalAmount,jdbcType=FLOAT}, + </if> + <if test="clEleTotalAmount != null"> + #{clEleTotalAmount,jdbcType=FLOAT}, + </if> + <if test="clMoneyRemainUser != null"> + #{clMoneyRemainUser,jdbcType=FLOAT}, + </if> + <if test="clWaterRemainUser != null"> + #{clWaterRemainUser,jdbcType=FLOAT}, + </if> + <if test="thisEle != null"> + #{thisEle,jdbcType=FLOAT}, + </if> + <if test="thisWater != null"> + #{thisWater,jdbcType=FLOAT}, + </if> + <if test="thisMoney != null"> + #{thisMoney,jdbcType=FLOAT}, + </if> + <if test="thisDuration != null"> + #{thisDuration,jdbcType=INTEGER}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseLast"> + <!--@mbg.generated--> + update rm_open_close_last + <set> + <if test="controllerId != null"> + controller_id = #{controllerId,jdbcType=BIGINT}, + </if> + <if test="intakeId != null"> + intake_id = #{intakeId,jdbcType=BIGINT}, + </if> + <if test="rtuAddr != null"> + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, + </if> + <if test="opDt != null"> + op_dt = #{opDt,jdbcType=TIMESTAMP}, + </if> + <if test="opRtuDt != null"> + op_rtu_dt = #{opRtuDt,jdbcType=TIMESTAMP}, + </if> + <if test="opIcCardAddr != null"> + op_ic_card_addr = #{opIcCardAddr,jdbcType=VARCHAR}, + </if> + <if test="opIcCardNo != null"> + op_ic_card_no = #{opIcCardNo,jdbcType=VARCHAR}, + </if> + <if test="opOrderNo != null"> + op_order_no = #{opOrderNo,jdbcType=VARCHAR}, + </if> + <if test="openDt != null"> + open_dt = #{openDt,jdbcType=TIMESTAMP}, + </if> + <if test="opWaterTotalAmount != null"> + op_water_total_amount = #{opWaterTotalAmount,jdbcType=FLOAT}, + </if> + <if test="opEleTotalAmount != null"> + op_ele_total_amount = #{opEleTotalAmount,jdbcType=FLOAT}, + </if> + <if test="opMoneyRemainUser != null"> + op_money_remain_user = #{opMoneyRemainUser,jdbcType=FLOAT}, + </if> + <if test="opWaterRemainUser != null"> + op_water_remain_user = #{opWaterRemainUser,jdbcType=FLOAT}, + </if> + <if test="opType != null"> + op_type = #{opType,jdbcType=TINYINT}, + </if> + <if test="clIcCardAddr != null"> + cl_ic_card_addr = #{clIcCardAddr,jdbcType=VARCHAR}, + </if> + <if test="clIcCardNo != null"> + cl_ic_card_no = #{clIcCardNo,jdbcType=VARCHAR}, + </if> + <if test="clOrderNo != null"> + cl_order_no = #{clOrderNo,jdbcType=VARCHAR}, + </if> + <if test="startDt != null"> + start_dt = #{startDt,jdbcType=TIMESTAMP}, + </if> + <if test="endDt != null"> + end_dt = #{endDt,jdbcType=TIMESTAMP}, + </if> + <if test="clWaterTotalAmount != null"> + cl_water_total_amount = #{clWaterTotalAmount,jdbcType=FLOAT}, + </if> + <if test="clEleTotalAmount != null"> + cl_ele_total_amount = #{clEleTotalAmount,jdbcType=FLOAT}, + </if> + <if test="clMoneyRemainUser != null"> + cl_money_remain_user = #{clMoneyRemainUser,jdbcType=FLOAT}, + </if> + <if test="clWaterRemainUser != null"> + cl_water_remain_user = #{clWaterRemainUser,jdbcType=FLOAT}, + </if> + <if test="thisEle != null"> + this_ele = #{thisEle,jdbcType=FLOAT}, + </if> + <if test="thisWater != null"> + this_water = #{thisWater,jdbcType=FLOAT}, + </if> + <if test="thisMoney != null"> + this_money = #{thisMoney,jdbcType=FLOAT}, + </if> + <if test="thisDuration != null"> + this_duration = #{thisDuration,jdbcType=INTEGER}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseLast"> + <!--@mbg.generated--> + update rm_open_close_last + set controller_id = #{controllerId,jdbcType=BIGINT}, + intake_id = #{intakeId,jdbcType=BIGINT}, + rtu_addr = #{rtuAddr,jdbcType=VARCHAR}, + op_dt = #{opDt,jdbcType=TIMESTAMP}, + op_rtu_dt = #{opRtuDt,jdbcType=TIMESTAMP}, + op_ic_card_addr = #{opIcCardAddr,jdbcType=VARCHAR}, + op_ic_card_no = #{opIcCardNo,jdbcType=VARCHAR}, + op_order_no = #{opOrderNo,jdbcType=VARCHAR}, + open_dt = #{openDt,jdbcType=TIMESTAMP}, + op_water_total_amount = #{opWaterTotalAmount,jdbcType=FLOAT}, + op_ele_total_amount = #{opEleTotalAmount,jdbcType=FLOAT}, + op_money_remain_user = #{opMoneyRemainUser,jdbcType=FLOAT}, + op_water_remain_user = #{opWaterRemainUser,jdbcType=FLOAT}, + op_type = #{opType,jdbcType=TINYINT}, + cl_ic_card_addr = #{clIcCardAddr,jdbcType=VARCHAR}, + cl_ic_card_no = #{clIcCardNo,jdbcType=VARCHAR}, + cl_order_no = #{clOrderNo,jdbcType=VARCHAR}, + start_dt = #{startDt,jdbcType=TIMESTAMP}, + end_dt = #{endDt,jdbcType=TIMESTAMP}, + cl_water_total_amount = #{clWaterTotalAmount,jdbcType=FLOAT}, + cl_ele_total_amount = #{clEleTotalAmount,jdbcType=FLOAT}, + cl_money_remain_user = #{clMoneyRemainUser,jdbcType=FLOAT}, + cl_water_remain_user = #{clWaterRemainUser,jdbcType=FLOAT}, + this_ele = #{thisEle,jdbcType=FLOAT}, + this_water = #{thisWater,jdbcType=FLOAT}, + this_money = #{thisMoney,jdbcType=FLOAT}, + this_duration = #{thisDuration,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + </update> + + <!--鏍规嵁闃�鎺у櫒鍦板潃鑾峰彇寮�鍏抽榾涓婃姤鏈�鏂版暟鎹�--> + <select id="getRmOpenCloseReportLast" resultType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseLast"> + select + <include refid="Base_Column_List" /> + from rm_open_close_last + where rtu_addr = #{rtuAddr} + </select> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml index 97e9c98..20ef3f8 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml @@ -448,4 +448,5 @@ </if> </where> </select> + </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java index 1309936..7492484 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/dbSv/DbSv.java @@ -52,6 +52,11 @@ @Autowired private RmTimingReportLastMapper rmTimingReportLastDao; // 瀹氱偣涓婃姤鏈�鏂版暟鎹瓺AO + @Autowired + private RmOpenCloseHistoryMapper rmOpenCloseHistoryDao; + @Autowired + private RmOpenCloseLastMapper rmOpenCloseLastDao; + //@Autowired //@Lazy //private DbSv sv ; @@ -263,7 +268,45 @@ this.rmOpenCloseValveHistoryMapperDao.updateByPrimaryKeySelective(po) ; } + /** + * 淇濆瓨鎺у埗鍣ㄥ紑鍏抽榾涓婃姤鏁版嵁鏈�鏂拌褰�(202404) + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void saveRmOpenCloseLast(RmOpenCloseLast po){ + this.rmOpenCloseLastDao.insert(po) ; + } + /** + * 淇濆瓨鎺у埗鍣ㄥ紑鍏抽榾涓婃姤鏁版嵁鍘嗗彶璁板綍(202404) + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void saveRmOpenCloseHistory(RmOpenCloseHistory po){ + this.rmOpenCloseHistoryDao.insert(po) ; + } + + /** + * 寰楀埌鎺у埗鍣ㄥ紑鍏抽榾涓婃姤鏁版嵁鏈�鏂拌褰�(202404) + * @param rtuAddr + * @return + */ + public RmOpenCloseLast getRmOpenCloseLast(String rtuAddr){ + List<RmOpenCloseLast> list = rmOpenCloseLastDao.getRmOpenCloseReportLast(rtuAddr); + if(list != null && list.size() > 0){ + return list.get(0) ; + } + return null ; + } + + /** + * 淇濆瓨鎺у埗鍣ㄥ紑鍏抽榾涓婃姤鏁版嵁鏈�鏂拌褰�(202404) + * @param po + */ + @Transactional(rollbackFor = Exception.class) + public void updateRmOpenCloseLast(RmOpenCloseLast po){ + this.rmOpenCloseLastDao.updateByPrimaryKeySelective(po); + } ///////////////////////////////////////////////// // 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 new file mode 100644 index 0000000..43f32fe --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java @@ -0,0 +1,104 @@ +package com.dy.rtuMw.server.rtuData.p206V202404; + +import com.dy.common.mw.protocol.Data; +import com.dy.common.mw.protocol.p206V202404.DataV202404; +import com.dy.common.mw.protocol.p206V202404.upVos.DataCd85Vo; +import com.dy.pipIrrGlobal.pojoPr.PrController; +import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseHistory; +import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseLast; +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; + +/** + * @author ZhuBaoMin + * @date 2024-06-20 13:48 + * @LastEditTime 2024-06-20 13:48 + * @Description + */ +public class TkDealCloseValveReportV202404 extends TaskSurpport { + private static final Logger log = LogManager.getLogger(TkDealTimingReportV202404.class.getName()); + + //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� + public static final String taskId = "TkDealCloseValveReportV202404"; + + /** + * 鎵ц鑺傜偣浠诲姟锛氬叧闃�涓婃姤 + * + * @param data 闇�瑕佸鐞嗙殑鏁版嵁 + */ + @Override + public void execute(Object data) { + Data d = (Data) data; + DataV202404 dV202404 = (DataV202404) d.getSubData(); + Object cdObj = dV202404.subData; + if (cdObj != null) { + try { + Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId); + DbSv sv = (DbSv) objs[0]; + PrController controller = (PrController) objs[1]; + if (cdObj instanceof DataCd85Vo) { + DataCd85Vo cdData = (DataCd85Vo) (cdObj); + this.doDeal(sv, controller, d.getRtuAddr(), dV202404, (DataCd85Vo)cdObj); + } + } catch (Exception e) { + log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�鎶ユ暟鎹椂鍙戠敓寮傚父", e); + } + } + } + /** + * 澶勭悊鍏抽榾鎶ユ暟鎹� + * @param sv 鏈嶅姟 + * @param controller 鎺у埗鍣ㄥ璞� + * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� + * @param dataV202404 鍗忚鏁版嵁 + * @param cdData 鍔熻兘鏁版嵁 + */ + private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd85Vo cdData) throws Exception { + this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData); + this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData); + } + + /** + * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒鍏抽榾鎶ユ渶鏂版暟鎹� + * @param sv 鏈嶅姟bean + * @param controller 鎺у埗鍣ㄥ璞� + * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� + * @param dataV202404 鍗忚鏁版嵁 + * @param cdData 鍔熻兘鏁版嵁 + */ + private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd85Vo cdData)throws Exception { + RmOpenCloseLast po = sv.getRmOpenCloseLast(rtuAddr); + if(po == null){ + po = new RmOpenCloseLast(); + po.controllerId = controller==null?null:controller.getId(); + po.intakeId = controller==null?null:controller.getIntakeId(); + po.rtuAddr = rtuAddr; + po.valueFrom85(dataV202404, cdData); + sv.saveRmOpenCloseLast(po); + }else{ + po.controllerId = controller==null?null:controller.getId(); + po.intakeId = controller==null?null:controller.getIntakeId(); + po.valueFrom85(dataV202404, cdData); + sv.updateRmOpenCloseLast(po); + } + } + + /** + * 淇濆瓨鎺у埗鍣ㄥ叧闃�鎶ュ巻鍙叉暟鎹� + * @param sv 鏈嶅姟bean + * @param controller 鎺у埗鍣ㄥ璞� + * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� + * @param dataV202404 鍗忚鏁版嵁 + * @param cdData 鍔熻兘鏁版嵁 + */ + private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd85Vo cdData)throws Exception { + RmOpenCloseHistory po = new RmOpenCloseHistory(); + po.controllerId = controller==null?null:controller.getId(); + po.intakeId = controller==null?null:controller.getIntakeId(); + po.rtuAddr = rtuAddr; + po.valueFrom85(dataV202404, cdData); + sv.saveRmOpenCloseHistory(po); ; + } +} 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 18fdf20..76f11b8 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 @@ -4,6 +4,8 @@ import com.dy.common.mw.protocol.p206V202404.DataV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo; import com.dy.pipIrrGlobal.pojoPr.PrController; +import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseHistory; +import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseLast; import com.dy.rtuMw.server.rtuData.TaskSurpport; import com.dy.rtuMw.server.rtuData.dbSv.DbSv; import org.apache.logging.log4j.LogManager; @@ -54,8 +56,8 @@ * @param cdData 鍔熻兘鏁版嵁 */ private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData) throws Exception { - //this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData); - //this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData); + this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData); + this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData); } /** @@ -66,22 +68,22 @@ * @param dataV202404 鍗忚鏁版嵁 * @param cdData 鍔熻兘鏁版嵁 */ - //private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception { - // RmTimingReportLast po = sv.getRmTimingReportLast(rtuAddr) ; - // if(po == null){ - // po = new RmTimingReportLast(); - // po.controllerId = controller==null?null:controller.getId(); - // po.intakeId = controller==null?null:controller.getIntakeId(); - // po.rtuAddr = rtuAddr; - // po.valueFrom(dataV202404, cdData); - // sv.saveRmTimingReportLast(po) ; - // }else{ - // po.controllerId = controller==null?null:controller.getId(); - // po.intakeId = controller==null?null:controller.getIntakeId(); - // po.valueFrom(dataV202404, cdData); - // sv.updateRmTimingReportLast(po); - // } - //} + private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception { + RmOpenCloseLast po = sv.getRmOpenCloseLast(rtuAddr); + if(po == null){ + po = new RmOpenCloseLast(); + po.controllerId = controller==null?null:controller.getId(); + po.intakeId = controller==null?null:controller.getIntakeId(); + po.rtuAddr = rtuAddr; + po.valueFrom84(dataV202404, cdData); + sv.saveRmOpenCloseLast(po); + }else{ + po.controllerId = controller==null?null:controller.getId(); + po.intakeId = controller==null?null:controller.getIntakeId(); + po.valueFrom84(dataV202404, cdData); + sv.updateRmOpenCloseLast(po); + } + } /** * 淇濆瓨鎺у埗鍣ㄥ伐浣滄姤鍘嗗彶鏁版嵁 @@ -91,12 +93,12 @@ * @param dataV202404 鍗忚鏁版嵁 * @param cdData 鍔熻兘鏁版嵁 */ - //private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception { - // RmTimingReportHistory po = new RmTimingReportHistory(); - // po.controllerId = controller==null?null:controller.getId(); - // po.intakeId = controller==null?null:controller.getIntakeId(); - // po.rtuAddr = rtuAddr; - // po.valueFrom(dataV202404, cdData); - // sv.saveRmTimingReportHistory(po); ; - //} + private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception { + RmOpenCloseHistory po = new RmOpenCloseHistory(); + po.controllerId = controller==null?null:controller.getId(); + po.intakeId = controller==null?null:controller.getIntakeId(); + po.rtuAddr = rtuAddr; + po.valueFrom84(dataV202404, cdData); + sv.saveRmOpenCloseHistory(po); ; + } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml index 891127c..50a0e54 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/RtuDataDealTree.xml @@ -42,6 +42,7 @@ <task id="TkDealWorkingReportV202404" name="鎺у埗鍣ㄥ伐浣滄姤(鍔熻兘鐮�80)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealWorkingReportV202404" /> <task id="TkDealTimingReportV202404" name="鎺у埗鍣ㄥ畾鏃朵笂鎶�(鍔熻兘鐮�83)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealTimingReportV202404" /> <task id="TkDealOpenValveReportV202404" name="鎺у埗鍣ㄥ紑闃�涓婃姤(鍔熻兘鐮�84)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealOpenValveReportV202404" /> + <task id="TkDealCloseValveReportV202404" name="鎺у埗鍣ㄥ叧闃�涓婃姤(鍔熻兘鐮�85)" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkDealCloseValveReportV202404" /> </task> <!-- 璇嗗埆鍛戒护鍝嶅簲鏁版嵁 --> <task id="TkFindComResponseV202404" name="璇嗗埆鍝嶅簲鍛戒护鏁版嵁" enable="true" class="com.dy.rtuMw.server.rtuData.p206V202404.TkFindComResponseV202404"> diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictSv.java index 33f880e..48e7256 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictSv.java @@ -75,7 +75,7 @@ */ @Transactional public int delete(Long id){ - return this.dao.deleteLogicById(id) ; + return this.dao.deleteByPrimaryKey(id) ; } /** diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java index 602291e..585e387 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java @@ -10,8 +10,10 @@ import com.dy.pipIrrGlobal.daoPr.PrIntakeVcMapper; import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper; import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper; +import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper; import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; +import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voPr.VoOnLineIntake; import com.dy.pipIrrGlobal.voRm.VoUnclosedParam; import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; @@ -41,6 +43,7 @@ private final PrIntakeMapper prIntakeMapper; private final PrWaterPriceMapper prWaterPriceMapper; private final PrIntakeVcMapper prIntakeVcMapper; + private final SeClientCardMapper seClientCardMapper; /** * 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄 @@ -158,7 +161,6 @@ jsonObject.put("isOnLine", entry.getValue()); jsonArray.add(jsonObject); } - System.out.println(jsonArray); return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId); } else { @@ -168,4 +170,13 @@ } } + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱瀵硅薄锛岃繙绋嬪厖鍊间娇鐢� + * @param cardId + * @return + */ + public SeClientCard geClientCardByCardId(Long cardId) { + return seClientCardMapper.selectByPrimaryKey(cardId); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Recharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Recharge.java new file mode 100644 index 0000000..d636a31 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/dto/Recharge.java @@ -0,0 +1,34 @@ +package com.dy.pipIrrRemote.common.dto; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-06-26 8:44 + * @LastEditTime 2024-06-26 8:44 + * @Description + */ + +@Data +public class Recharge extends DtoBase { + public static final long serialVersionUID = 202406260745001L; + + /** + * 姘村崱ID + */ + @NotNull(message = "姘村崱ID涓嶈兘涓虹┖") + private Long cardId; + + /** + * 鍏呭�奸噾棰� + */ + @NotNull(message = "鍏呭�奸噾棰濅笉鑳戒负绌�") + private Double chargeMoney; + + /** + * 鍏呭�兼按閲� + */ + private Double chargeWater; + +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java index 9aab06e..564ad50 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/result/RemoteResultCode.java @@ -19,14 +19,16 @@ GET_RESULT_ERROR(10002, "鑾峰彇缁撴灉寮傚父"), PLEASE_SELECT_A_VC(10003, "璇烽�夋嫨涓�寮犺櫄鎷熷崱"), IN_USE_VC_CANNOT_OPEN_VALVE(10004, "浣跨敤涓櫄鎷熷崱涓嶈兘鐢ㄦ潵寮�闃�"), - VALVE_CLOSED(10005, "璇ュ彇姘村彛宸插叧闃�"), + VALVE_CLOSED(10005, "璇ュ彇姘村彛涓嶅湪绾挎垨宸插叧闃�"), /** * RTU */ - RTU_NOT_EXIST(20001, "闃�鎺у櫒涓嶅瓨鍦�"); + RTU_NOT_EXIST(20001, "闃�鎺у櫒涓嶅瓨鍦�"), //RTU_ADDR_CANNOT_BE_NULL(20002, "闃�鎺у櫒鍦板潃涓嶈兘涓虹┖"); + CLIENT_CARD_NOT_EXIST(30001, "姘村崱涓嶅瓨鍦�"); + private final Integer code; private final String message; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java index 86cc3c9..381fadb 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtu/RtuCtrl.java @@ -1,10 +1,7 @@ package com.dy.pipIrrRemote.rtu; -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.p206V1_0_0.CodeV1_0_1; import com.dy.common.mw.protocol.p206V1_0_0.downVos.Com97Vo; import com.dy.common.mw.protocol.p206V202404.CodeV202404; @@ -15,7 +12,6 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrGlobal.command.ComSupport; import com.dy.pipIrrGlobal.command.dto.Param; -import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; import com.dy.pipIrrRemote.common.CommandSv; import com.dy.pipIrrRemote.common.dto.Addr; import com.dy.pipIrrRemote.common.dto.DtoBase; @@ -26,7 +22,10 @@ import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.*; +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; import java.util.Objects; @@ -88,75 +87,32 @@ // 鍒涘缓瑙嗗浘 ComCd10Vo param = new ComCd10Vo() ; param.controllerType = controllerType; - param.projectNo =projectNo; + param.projectNo = projectNo; param.rtuNewAddr = newRtuAddr; - // 鍙戦�佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� - Param po = new Param(); - po.setComId(comId); - po.setCommandCode(commandCode); - po.setIntakeId(intakeId); - po.setRtuAddr(rtuAddr); - po.setProtocol(protocol); - po.setParam(param); - po.setRtuResultSendWebUrl(rtuResultSendWebUrl); - po.setOperator(operator); - return dealWithCommandResult(po); + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 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(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); } else if(protocol.equals("p206V1_0_1")) { // 鑾峰彇鍔熻兘鐮� commandCode = CodeV1_0_1.cd_10; // 鍒涘缓瑙嗗浘 Com97Vo param = new Com97Vo() ; - - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - //if(1 > 0) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV1_0_1.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - //鍥炶皟澶辫触 - if(!response_CallBack.getCode().equals("0001")) { - // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.updateCommandResult(rmCommandHistory); - return BaseResponseUtils.buildFail(response_CallBack.getMsg()); - //return BaseResponseUtils.buildFail(response_CallBack.getContent().toString()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildFail(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛锛岃繑鍥炲洖璋冨唴瀹� - */ - 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")); - } + return BaseResponseUtils.buildSuccess(""); } else { return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); } @@ -176,32 +132,59 @@ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } - String commandCode = CodeV202404.cd_97; + //String commandCode = CodeV202404.cd_97; Long intakeId = po.getIntakeId(); Long operator = po.getOperator(); Long comId = idLongGenerator.generate(); + // 鑾峰彇绯荤粺鍙傛暟 + if(!setuped) { + setUp(); + } + // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚 - //PrController prController = commandSv.getControllerByIntakeId(intakeId); - //if(prController == null) { - // return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage()); - //} - //String rtuAddr = prController.getRtuAddr(); - //String protocol = prController.getProtocol(); - String rtuAddr = ""; - String protocol = ""; + 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"); - // 鍒涘缓瑙嗗浘 - ComCdXyVo param = new ComCdXyVo(); - param.controllerType = controllerType; - param.projectNo = projectNo; + String commandCode = null; + if(protocol.equals("p206V202404")) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV202404.cd_97; - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, "",intakeId, rtuAddr, protocol, param, operator); - comId = commandSv.insert(rmCommandHistory); + // 鍒涘缓瑙嗗浘 + ComCdXyVo param = new ComCdXyVo(); + param.controllerType = controllerType; + param.projectNo = projectNo; - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode,"", rtuAddr, protocol, param); - return sendCom2Mw(com); + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 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(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); + } else if(protocol.equals("p206V1_0_1")) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV1_0_1.cd_10; + + // 鍒涘缓瑙嗗浘 + Com97Vo param = new Com97Vo() ; + return BaseResponseUtils.buildSuccess(""); + } else { + return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); + } } } 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 d3eb063..caed798 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,45 +1,43 @@ 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.p206V1_0_0.CodeV1_0_1; 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.util.IDLongGenerator; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrGlobal.command.ComSupport; +import com.dy.pipIrrGlobal.command.dto.Param; import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper; -import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; -import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard; +import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voRm.VoUnclosedParam; 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.ValveClose; +import com.dy.pipIrrRemote.common.dto.Recharge; import com.dy.pipIrrRemote.common.dto.ValveOpen; -import com.dy.pipIrrRemote.common.enums.LastOperateENUM; 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.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import java.time.format.DateTimeFormatter; -import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.Optional; /** * @author ZhuBaoMin @@ -135,71 +133,24 @@ param.elePrice = 0.0; param.orderNo = orderNo; - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - //if(1 > 0) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV202404.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - // 鍥炶皟澶辫触 - if(!response_CallBack.getCode().equals("0001")) { - // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 - //rmCommandHistory = new RmCommandHistory(); - //rmCommandHistory.setId(comId); - //rmCommandHistory.setResult((byte)0); - //commandSv.updateCommandResult(rmCommandHistory); - return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg()); - //return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ -// SeVirtualCard virtualCard = new SeVirtualCard(); -// virtualCard.setId(vcId); -// virtualCard.setInUse((byte) 1); -// virtualCard.setIntakeId(intakeId); -// virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode()); -// virtualCard.setLastOperateTime(new Date()); -// seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard); - - // 鍥炶皟杩斿洖鐨勫唴瀹� - //Data myData = (Data)response_CallBack.getContent(); - //return BaseResponseUtils.buildSuccess(myData); - - JSONObject job_response = new JSONObject(); - job_response.put("rtuAddr", rtuAddr); - job_response.put("vcNum", vc.getVcNum()); - job_response.put("orderNo", orderNo); - //job_response.put("operator", operator); - return BaseResponseUtils.buildSuccess(job_response); - } else { - // 璇锋眰澶辫触 - JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param"); - return BaseResponseUtils.buildErrorMsg(job_param.getString("message")); - } + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)1); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); } else if(protocol.equals("p206V1_0_1")) { // 鑾峰彇鍔熻兘鐮� commandCode = CodeV1_0_1.cd_92; @@ -211,299 +162,24 @@ param.waterPrice = waterPrice; param.orderNo = orderNo; - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - //if(1 > 0) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV1_0_1.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - //鍥炶皟寮傚父 - if(!response_CallBack.getCode().equals("0001")) { - // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.updateCommandResult(rmCommandHistory); - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - // 鍥炶皟瓒呮椂 - if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) { - /** - * 鍥炶皟瓒呮椂锛屾殏鏃惰涓烘墽琛屽け璐� - * 鍛戒护缃负澶辫触 - * 铏氭嫙鍗′緷鏃т繚鎸佷娇鐢ㄤ腑鐨勭姸鎬� - * 涓嶈繑鍥炲叧闃�鍙傛暟 - */ - - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.updateCommandResult(rmCommandHistory); - - //SeVirtualCard virtualCard = new SeVirtualCard(); - //virtualCard.setId(vcId); - //virtualCard.setInUse((byte) 1); - //virtualCard.setIntakeId(intakeId); - //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode()); - //virtualCard.setLastOperateTime(new Date()); - //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard); - - //JSONObject job_response = new JSONObject(); - //job_response.put("message", RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage()); - //job_response.put("rtuAddr", rtuAddr); - //job_response.put("vcNum", vc.getVcNum()); - //job_response.put("orderNo", orderNo); - //return BaseResponseUtils.buildSuccess(job_response); - return BaseResponseUtils.buildErrorMsg(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage()); - - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ - SeVirtualCard virtualCard = new SeVirtualCard(); - virtualCard.setId(vcId); - virtualCard.setInUse((byte) 1); - virtualCard.setIntakeId(intakeId); - virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode()); - virtualCard.setLastOperateTime(new Date()); - seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard); - - // 鍥炶皟杩斿洖鐨勫唴瀹� - //Data myData = (Data)response_CallBack.getContent(); - //return BaseResponseUtils.buildSuccess(myData) ; - - JSONObject job_response = new JSONObject(); - job_response.put("message", "ok"); - job_response.put("rtuAddr", rtuAddr); - job_response.put("vcNum", vc.getVcNum()); - job_response.put("orderNo", orderNo); - //job_response.put("operator", operator); - return BaseResponseUtils.buildSuccess(job_response); - - } else { - // 璇锋眰澶辫触 - JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param"); - return BaseResponseUtils.buildErrorMsg(job_param.getString("message")); - } - } else { - return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); - } - } - - /** - * 骞冲彴杩滅▼鍏抽榾_鍙傛暟妯″紡 - * @param valve - * @param bindingResult - * @return - */ - @PostMapping(path = "close", consumes = MediaType.APPLICATION_JSON_VALUE) - @Transactional(rollbackFor = Exception.class) - @SsoAop() - public BaseResponse<Boolean> close(@RequestBody @Valid ValveClose valve, BindingResult bindingResult) { - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss"); - if(bindingResult != null && bindingResult.hasErrors()){ - return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); - } - - String rtuAddr = valve.getRtuAddr(); - String vcNum = valve.getVcNum(); - String orderNo = valve.getOrderNo(); - Long operator = valve.getOperator(); - Long comId = idLongGenerator.generate(); - - // 鑾峰彇绯荤粺鍙傛暟 - if(!setuped) { - setUp(); - } - - // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚 - JSONObject job_rtu = getRtu(null, rtuAddr); - if(job_rtu == null) { - return BaseResponseUtils.buildErrorMsg(RemoteResultCode.RTU_NOT_EXIST.getMessage()); - } - Long intakeId = job_rtu.getLong("intakeId"); - String protocol = job_rtu.getString("protocol"); - - String commandCode = null; - if(protocol.equals("p206V202404")) { - // 鑾峰彇鍔熻兘鐮� - commandCode = CodeV202404.cd_93; - - // 鍒涘缓瑙嗗浘 - ComCd93_A3Vo param = new ComCd93_A3Vo(); - param.controllerType = controllerType; - param.projectNo = projectNo; - param.icCardNo = vcNum; - param.orderNo = orderNo; - - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV202404.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - // 鍥炶皟澶辫触 - if(!response_CallBack.getCode().equals("0001")) { - // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 - //rmCommandHistory = new RmCommandHistory(); - //rmCommandHistory.setId(comId); - //rmCommandHistory.setResult((byte)0); - //commandSv.updateCommandResult(rmCommandHistory); - return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg()); - //return BaseResponseUtils.buildErrorMsgMsg(WechatResultCode.GET_RESULT_ERROR.getMessage()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ - //SeVirtualCard virtualCard = seVirtualCardMapper.getVcCardByNum(vcNum); - //virtualCard.setInUse((byte) 0); - //virtualCard.setIntakeId(null); - //virtualCard.setLastOperate(LastOperateENUM.CLOSE_VALVE.getCode()); - //virtualCard.setLastOperateTime(new Date()); - //seVirtualCardMapper.updateByPrimaryKey(virtualCard); - - // 鍥炶皟杩斿洖鐨勫唴瀹� - Data myData = (Data)response_CallBack.getContent(); - return BaseResponseUtils.buildSuccess(myData) ; - } else { - // 璇锋眰澶辫触 - JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param"); - return BaseResponseUtils.buildErrorMsg(job_param.getString("message")); - } - } else if(protocol.equals("p206V1_0_1")) { - // 鑾峰彇鍔熻兘鐮� - commandCode = CodeV1_0_1.cd_93; - - // 鍒涘缓瑙嗗浘 - Com98Vo param = new Com98Vo() ; - param.icCardNo = vcNum; - param.orderNo = orderNo; - - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - //if(1 > 0) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV1_0_1.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - // 鍥炶皟寮傚父 - if(!response_CallBack.getCode().equals("0001")) { - // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.updateCommandResult(rmCommandHistory); - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - // 鍥炶皟瓒呮椂 - if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) { - /** - * 鍥炶皟瓒呮椂锛屾殏鏃惰涓烘墽琛屽け璐� - * 鍛戒护缃负澶辫触 - * 铏氭嫙鍗′緷鏃т繚鎸佷娇鐢ㄤ腑鐨勭姸鎬� - */ - - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.updateCommandResult(rmCommandHistory); - - - //SeVirtualCard virtualCard = seVirtualCardMapper.getVcCardByNum(vcNum); - //virtualCard.setInUse((byte) 0); - //virtualCard.setIntakeId(null); - //virtualCard.setLastOperate(LastOperateENUM.CLOSE_VALVE.getCode()); - //virtualCard.setLastOperateTime(new Date()); - //seVirtualCardMapper.updateByPrimaryKey(virtualCard); - return BaseResponseUtils.buildErrorMsg(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ - SeVirtualCard virtualCard = seVirtualCardMapper.getVcCardByNum(vcNum); - virtualCard.setInUse((byte) 0); - virtualCard.setIntakeId(null); - virtualCard.setLastOperate(LastOperateENUM.CLOSE_VALVE.getCode()); - virtualCard.setLastOperateTime(new Date()); - seVirtualCardMapper.updateByPrimaryKey(virtualCard); - - // 鍥炶皟杩斿洖鐨勫唴瀹� - Data myData = (Data)response_CallBack.getContent(); - return BaseResponseUtils.buildSuccess(myData) ; - } else { - // 璇锋眰澶辫触 - JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param"); - return BaseResponseUtils.buildErrorMsg(job_param.getString("message")); - } + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)1); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); } else { return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); } @@ -519,7 +195,6 @@ @Transactional(rollbackFor = Exception.class) @SsoAop() public BaseResponse<Boolean> closeByIntake(@RequestBody @Valid DtoBase dtoBase, BindingResult bindingResult) { - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss"); if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -539,6 +214,7 @@ } String rtuAddr = voUnclosedParam.getRtuAddr(); String vcNum = voUnclosedParam.getVcNum(); + Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L); String orderNo = voUnclosedParam.getOrderNo(); Long comId = idLongGenerator.generate(); @@ -567,63 +243,24 @@ param.icCardNo = vcNum; param.orderNo = orderNo; - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV202404.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - // 鍥炶皟澶辫触 - if(!response_CallBack.getCode().equals("0001")) { - // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 - //rmCommandHistory = new RmCommandHistory(); - //rmCommandHistory.setId(comId); - //rmCommandHistory.setResult((byte)0); - //commandSv.updateCommandResult(rmCommandHistory); - return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg()); - //return BaseResponseUtils.buildErrorMsgMsg(WechatResultCode.GET_RESULT_ERROR.getMessage()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ - //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum); - //SeVirtualCard virtualCard = new SeVirtualCard(); - //virtualCard.setId(vcId); - //virtualCard.setInUse((byte) 0); - //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.buildErrorMsg(job_param.getString("message")); - } + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)2); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); } else if(protocol.equals("p206V1_0_1")) { // 鑾峰彇鍔熻兘鐮� commandCode = CodeV1_0_1.cd_93; @@ -633,86 +270,24 @@ param.icCardNo = vcNum; param.orderNo = orderNo; - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - //if(1 > 0) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV1_0_1.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - // 鍥炶皟寮傚父 - if(!response_CallBack.getCode().equals("0001")) { - // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.updateCommandResult(rmCommandHistory); - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - // 鍥炶皟瓒呮椂 - if(response_CallBack.getContent().toString().equals(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) { - /** - * 鍥炶皟瓒呮椂锛屾殏鏃惰涓烘墽琛屽け璐� - * 鍛戒护缃负澶辫触 - * 铏氭嫙鍗′緷鏃т繚鎸佷娇鐢ㄤ腑鐨勭姸鎬� - */ - - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.updateCommandResult(rmCommandHistory); - - //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum); - //SeVirtualCard virtualCard = new SeVirtualCard(); - //virtualCard.setId(vcId); - //virtualCard.setInUse((byte) 0); - //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode()); - //virtualCard.setLastOperateTime(new Date()); - //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard); - return BaseResponseUtils.buildErrorMsg(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ - Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum); - SeVirtualCard virtualCard = new SeVirtualCard(); - virtualCard.setId(vcId); - virtualCard.setInUse((byte) 0); - 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.buildErrorMsg(job_param.getString("message")); - } + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)2); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); } else { return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); } @@ -734,4 +309,90 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } + + /** + * 骞冲彴杩滅▼鍏呭�� + * @param po + * @param bindingResult + * @return + */ + @PostMapping(path = "recharge", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> recharge(@RequestBody @Valid Recharge po, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + Long intakeId = po.getIntakeId(); + Long cardId = po.getCardId(); + Double chargeMoney = po.getChargeMoney(); + Double chargeWater = po.getChargeWater(); + Long operator = po.getOperator(); + String flowNo = RandomStringUtils.randomNumeric(12); // 鐢熸垚12浣嶉殢鏈烘暟 + 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"); + + // 姘村崱ID鎹㈡按鍗″湴鍧�鍙婃按鍗$紪鍙� + SeClientCard seClientCard = commandSv.geClientCardByCardId(cardId); + if(seClientCard == null) { + return BaseResponseUtils.buildErrorMsg(RemoteResultCode.CLIENT_CARD_NOT_EXIST.getMessage()); + } + String icCardAddr = seClientCard.getCardaddr(); + String icCardNo = seClientCard.getCardnum(); + + String commandCode = null; + if(protocol.equals("p206V202404")) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV202404.cd_15; + + // 鍒涘缓瑙嗗浘 + ComCd15Vo param = new ComCd15Vo(); + param.controllerType = controllerType; + param.projectNo = projectNo; + param.icCardAddr = icCardAddr; + param.icCardNo = icCardNo; + param.chargeMoney = chargeMoney; + param.chargeWater = chargeWater; + param.flowNo = flowNo; + + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 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(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); + } else if(protocol.equals("p206V1_0_1")) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV1_0_1.cd_10; + + // 鍒涘缓瑙嗗浘 + Com97Vo param = new Com97Vo() ; + return BaseResponseUtils.buildSuccess(""); + } else { + return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); + } + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCtrl.java index aa43460..1161ebb 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCtrl.java @@ -8,7 +8,6 @@ import com.dy.pipIrrGlobal.pojoSe.SeCodeVerify; import com.dy.pipIrrGlobal.pojoSe.SeOpenId; import com.dy.pipIrrGlobal.voSe.VoClientWechat; -import com.dy.pipIrrSell.wechatpay.PayInfo; import com.dy.pipIrrWechat.client.dto.CodeLoginDTO; import com.dy.pipIrrWechat.client.dto.CodeVerifyDTO; import com.dy.pipIrrWechat.result.WechatResultCode; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/PayInfo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/PayInfo.java new file mode 100644 index 0000000..fe36705 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/PayInfo.java @@ -0,0 +1,176 @@ +package com.dy.pipIrrWechat.client; + +/** + * @author ZhuBaoMin + * @date 2024-03-06 13:49 + * @LastEditTime 2024-03-06 13:49 + * @Description + */ +public class PayInfo { + /** + * 灏忕▼搴忕櫥褰旳PI + */ + public static String loginUrl = "https://api.weixin.qq.com/sns/jscode2session"; + + /** + * 妫�楠岀櫥褰曟�� + */ + public static String checkSessionUrl = "https://api.weixin.qq.com/wxa/checksession"; + + /** + * 閲嶇疆鐧诲綍鎬� + */ + public static String resetUserSessionKeyUrl = "https://api.weixin.qq.com/wxa/resetusersessionkey"; + + /** + * 鑾峰彇鎺ュ彛璋冪敤鍑嵁 + */ + public static String tokenUrl = "https://api.weixin.qq.com/cgi-bin/token"; + + /** + * 缁熶竴涓嬪崟API + */ + //public static String orderUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder"; + public static String orderUrl = "https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi"; + + /** + * 骞冲彴璇佷功涓嬭浇URL + */ + public static String certificates = "https://api.mch.weixin.qq.com/v3/certificates"; + + /* + * 鏀粯缁撴灉閫氱煡API + */ + public static String notifyUrl = "https://44978f7456.imdo.co/sell/payment/orderNotify"; + + /* + * 鏌ヨ璁㈠崟API + */ + public static String queryUrl = "https://api.mch.weixin.qq.com/pay/orderquery"; + + /** + * 鐢宠閫�娆続PI + */ + public static String refundUrl = "https://api.mch.weixin.qq.com/v3/refund/domestic/refunds"; + + /* + * 閫�娆鹃�氱煡API + */ + public static String refundNotifyUrl = "https://www.muxiaobao.com/wxpay/pay.action"; + + /* + * 閫�娆炬煡璇PI + */ + public static String refundQueryUrl = "https://api.mch.weixin.qq.com/pay/refundquery"; + + /* + * 灏忕▼搴忓敮涓�鏍囪瘑 + */ + //public static String appid = "wxbc2b6a00dd904ead"; + public static String appid = "wxf773810cd5643196"; + + /* + * 灏忕▼搴忕殑 app secret + */ + //public static String secret = "796ffe3e9921f756db0499e80d6ed0cd"; + public static String secret = "080d4f947095551e988cfe9338e27f15"; + + /* + * 灏忕▼搴忕殑鎺堟潈绫诲瀷锛岀櫥褰曞嚟璇佹牎楠屼娇鐢� + */ + public static String grantType = "authorization_code"; + + /* + * 鍟嗘埛鍙�(寰俊鏀粯鍒嗛厤鐨勫晢鎴峰彿) + */ + public static String mchid = "1640721520"; + + /* + * 鍟嗘埛骞冲彴璁剧疆鐨勫瘑閽ey + */ + public static String key = "DaYuJieShuiYanJiuYuan20230412ABC"; + + /** + * 鍟嗘埛API璇佷功搴忓垪鍙� + */ + public static String serial_no = "52D65AA66405C738670377F467178F4C950E1606"; + + /* + * 缁堢IP锛岃皟鐢ㄥ井淇℃敮浠楢PI鐨勬満鍣↖P + */ + public static String addrIp = "47.104.211.89"; + + /* + * 闅忔満瀛楃涓诧紝闀垮害瑕佹眰鍦�32浣嶄互鍐� + */ + //public static String nonceStr = PayHelper.generateRandomString(); + + /* + * 鏃堕棿鎴� 浠�1970骞�1鏈�1鏃�00:00:00鑷充粖鐨勭鏁�,鍗冲綋鍓嶇殑鏃堕棿 + */ + //public static Long timeStamp = PayHelper.getTimeStamp(); + + /* + * 浜ゆ槗绫诲瀷锛屽皬绋嬪簭鍙栧�糐SAPI + */ + public static String tradeType = "JSAPI"; + + /* + * 绛惧悕绫诲瀷 + */ + //public static String signType = "MD5"; + public static String signType = "RSA"; + + /* + * 鍟嗗搧鎻忚堪 鍟嗗搧绠�鍗曟弿杩帮紝璇ュ瓧娈佃鎸夌収瑙勮寖浼犻�� + */ + //public static String body = "澶х鐮旂┒闄�-姘磋垂"; + public static String description = "澶х鐮旂┒闄�-姘磋垂"; + + /* + * 闄勫姞鏁版嵁锛屽湪鏌ヨAPI鍜屾敮浠橀�氱煡涓師鏍疯繑鍥烇紝鍙綔涓鸿嚜瀹氫箟鍙傛暟浣跨敤 + */ + public static String attach = "澶╂触"; + + /* + * 绛惧悕锛屽弬涓庣鍚嶅弬鏁帮細appid銆乤ttach銆乵ch_id銆乶once_str銆乥ody銆乷ut_trade_no銆乼otal_fee銆乻pbill_create_ip銆乶otify_url銆乼rade_type銆乷penid + */ + public String sign = ""; + + /** + * HTTP澶磋璇佺被鍨� + */ + public static String schema = "WECHATPAY2-SHA256-RSA2048"; + + /** + * 绉侀挜鏂囦欢璺緞 + */ + public static String privateCertFileName = "C:\\webchat\\apiclient_key.pem"; + + public static String publicCertFileName = "C:\\webchat\\wxp_cert.pem"; + + /* + * 寰俊璁㈠崟鍙凤紝浼樺厛浣跨敤 + */ + public static String transactionid = ""; + + /* + * 鍟嗘埛绯荤粺鍐呴儴璁㈠崟鍙� + */ + public static String out_trade_no = ""; + + /* + * 鍟嗘埛閫�娆惧崟鍙� + */ + public static String out_refund_no = ""; + + /* + * 閫�娆鹃噾棰� + */ + public static Float refundfee; + + /* + * 璁㈠崟閲戦 + */ + public static Float totalfee; +} 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 beb671d..6d032a7 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 @@ -10,8 +10,10 @@ import com.dy.pipIrrGlobal.daoPr.PrIntakeVcMapper; import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper; import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper; +import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper; import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; +import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voPr.VoOnLineIntake; import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; @@ -40,6 +42,7 @@ private final PrIntakeMapper prIntakeMapper; private final PrWaterPriceMapper prWaterPriceMapper; private final PrIntakeVcMapper prIntakeVcMapper; + private final SeClientCardMapper seClientCardMapper; /** * 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄 @@ -123,4 +126,13 @@ public Long getVcIdByIntakeId(Long intakeId) { return prIntakeVcMapper.getVcIdByIntakeId(intakeId); } + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱瀵硅薄锛岃繙绋嬪厖鍊间娇鐢� + * @param cardId + * @return + */ + public SeClientCard geClientCardByCardId(Long cardId) { + return seClientCardMapper.selectByPrimaryKey(cardId); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java index d3fc309..f678e9b 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/ValveCtrl.java @@ -1,42 +1,39 @@ package com.dy.pipIrrWechat.command; -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.p206V1_0_0.CodeV1_0_1; 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.util.IDLongGenerator; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrGlobal.command.ComSupport; +import com.dy.pipIrrGlobal.command.dto.Param; import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper; -import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; -import com.dy.pipIrrGlobal.pojoSe.SeVirtualCard; +import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; import com.dy.pipIrrGlobal.voSe.VoVirtualCard; +import com.dy.pipIrrWechat.command.dto.Recharge; import com.dy.pipIrrWechat.command.dto.ValveClose; import com.dy.pipIrrWechat.command.dto.ValveOpen; -import com.dy.pipIrrWechat.command.enums.LastOperateENUM; import com.dy.pipIrrWechat.result.WechatResultCode; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.RandomStringUtils; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; -import java.time.format.DateTimeFormatter; -import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.Optional; /** * @author ZhuBaoMin @@ -48,13 +45,13 @@ @Slf4j @Tag(name = "灏忕▼搴忛榾鎺у櫒鎺у埗", description = "灏忕▼搴忛榾鎺у櫒鎺у埗") @RestController -@RequestMapping(path="valve") +@RequestMapping(path = "valve") @RequiredArgsConstructor public class ValveCtrl extends ComSupport { private final CommandSv commandSv; private final SeVirtualCardMapper seVirtualCardMapper; private final IDLongGenerator idLongGenerator; - private String rtuResultSendWebUrl = "http://127.0.0.1:8087/wx/comRes/receive" ; + private String rtuResultSendWebUrl = "http://127.0.0.1:8087/wx/comRes/receive"; /** * 灏忕▼搴忚繙绋嬪紑闃� @@ -64,10 +61,8 @@ */ @PostMapping(path = "open_wx", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) - @SsoAop() public BaseResponse<Boolean> open(@RequestBody @Valid ValveOpen valve, BindingResult bindingResult) { - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss"); - if(bindingResult != null && bindingResult.hasErrors()){ + if (bindingResult != null && bindingResult.hasErrors()) { return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -81,24 +76,24 @@ * 濡傛灉鍐滄埛鏈�夋嫨铏氭嫙鍗★紝鍒欐牴鎹彇姘村彛ID鑾峰彇涓庝箣缁戝畾鐨勮櫄鎷熷崱 * 濡傛灉鍙栨按鍙f病鏈変笌涔嬬粦瀹氱殑铏氭嫙鍗★紝鍒欐彁绀哄啘鎴烽�夋嫨涓�寮犺櫄鎷熷崱 */ - if(vcId == null) { + if (vcId == null) { vcId = commandSv.getVcIdByIntakeId(intakeId); - if(vcId == null) { + if (vcId == null) { return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_VC.getMessage()); } } // 鑾峰彇绯荤粺鍙傛暟 - if(!setuped) { + if (!setuped) { setUp(); } // 铏氭嫙鍗D鎹㈣櫄鎷熷崱瀵硅薄 VoVirtualCard vc = commandSv.getVcById(vcId); - if(vc == null) { + if (vc == null) { return BaseResponseUtils.buildErrorMsg(WechatResultCode.PLEASE_SELECT_A_VC.getMessage()); } - if(vc.getInUse() == 1) { + if (vc.getInUse() == 1) { return BaseResponseUtils.buildErrorMsg(WechatResultCode.IN_USE_VC_CANNOT_OPEN_VALVE.getMessage()); } @@ -107,7 +102,7 @@ // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚 JSONObject job_rtu = getRtu(intakeId, null); - if(job_rtu == null) { + if (job_rtu == null) { return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_EXIST.getMessage()); } String rtuAddr = job_rtu.getString("rtuAddr"); @@ -117,7 +112,7 @@ String orderNo = generateOrderNo(); String commandCode = null; - if(protocol.equals("p206V202404")) { + if (protocol.equals("p206V202404")) { // 鑾峰彇鍔熻兘鐮� commandCode = CodeV202404.cd_A2; @@ -132,147 +127,54 @@ param.elePrice = 0.0; param.orderNo = orderNo; - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)1); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - //if(1 > 0) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV202404.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - // 鍥炶皟澶辫触 - if(!response_CallBack.getCode().equals("0001")) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg()); - //return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ - //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.buildErrorMsg(job_param.getString("message")); - } - } else if(protocol.equals("p206V1_0_1")) { + } else if (protocol.equals("p206V1_0_1")) { // 鑾峰彇鍔熻兘鐮� commandCode = CodeV1_0_1.cd_97; // 鍒涘缓瑙嗗浘 - Com97Vo param = new Com97Vo() ; + Com97Vo param = new Com97Vo(); param.icCardNo = vc.getVcNum(); param.moneyRemain = vc.getMoney(); param.waterPrice = waterPrice; param.orderNo = orderNo; - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - //if(1 > 0) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV1_0_1.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - //鍥炶皟寮傚父 - if(!response_CallBack.getCode().equals("0001")) { - // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.update(rmCommandHistory); - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - // 鍥炶皟瓒呮椂 - if(response_CallBack.getContent().toString().equals(WechatResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) { - /** - * 鍥炶皟瓒呮椂锛屾殏鏃惰涓烘墽琛屽け璐� - * 鍛戒护缃负澶辫触 - * 铏氭嫙鍗′緷鏃т繚鎸佷娇鐢ㄤ腑鐨勭姸鎬� - */ - - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.update(rmCommandHistory); - - //SeVirtualCard virtualCard = new SeVirtualCard(); - //virtualCard.setId(vcId); - //virtualCard.setInUse((byte) 1); - //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode()); - //virtualCard.setLastOperateTime(new Date()); - //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard); - return BaseResponseUtils.buildErrorMsg(WechatResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ - 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.buildErrorMsg(job_param.getString("message")); - } + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)1); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV1_0_1.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); } else { return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); } @@ -280,40 +182,40 @@ /** * 灏忕▼搴忚繙绋嬪叧闃� + * * @param valve * @param bindingResult * @return */ @PostMapping(path = "close_wx", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) - @SsoAop() public BaseResponse<Boolean> close(@RequestBody @Valid ValveClose valve, BindingResult bindingResult) { - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyMMddHHmmss"); - if(bindingResult != null && bindingResult.hasErrors()){ + if (bindingResult != null && bindingResult.hasErrors()) { return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } String rtuAddr = valve.getRtuAddr(); String vcNum = valve.getVcNum(); + Long vcId = Optional.ofNullable(seVirtualCardMapper.getVcIdByNum(vcNum)).orElse(0L); String orderNo = valve.getOrderNo(); Long operator = valve.getOperator(); Long comId = idLongGenerator.generate(); // 鑾峰彇绯荤粺鍙傛暟 - if(!setuped) { + if (!setuped) { setUp(); } // 闃�鎺у櫒鍦板潃鎹㈠彇姘村彛ID鍜岄�氳鍗忚 JSONObject job_rtu = getRtu(null, rtuAddr); - if(job_rtu == null) { + if (job_rtu == null) { return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_EXIST.getMessage()); } Long intakeId = job_rtu.getLong("intakeId"); String protocol = job_rtu.getString("protocol"); String commandCode = null; - if(protocol.equals("p206V202404")) { + if (protocol.equals("p206V202404")) { // 鑾峰彇鍔熻兘鐮� commandCode = CodeV202404.cd_A3; @@ -324,147 +226,51 @@ param.icCardNo = vcNum; param.orderNo = orderNo; - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV202404.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - // 鍥炶皟澶辫触 - if(!response_CallBack.getCode().equals("0001")) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getMsg()); - //return BaseResponseUtils.buildErrorMsg(WechatResultCode.GET_RESULT_ERROR.getMessage()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ - //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum); - //SeVirtualCard virtualCard = new SeVirtualCard(); - //virtualCard.setId(vcId); - //virtualCard.setInUse((byte) 0); - //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.buildErrorMsg(job_param.getString("message")); - } - } else if(protocol.equals("p206V1_0_1")) { + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)2); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV202404.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); + } else if (protocol.equals("p206V1_0_1")) { // 鑾峰彇鍔熻兘鐮� commandCode = CodeV1_0_1.cd_98; // 鍒涘缓瑙嗗浘 - Com98Vo param = new Com98Vo() ; + Com98Vo param = new Com98Vo(); param.icCardNo = vcNum; param.orderNo = orderNo; - // 鏋勯�犲懡浠� - Command com = command(comId, commandCode, rtuAddr, protocol, rtuResultSendWebUrl, param); - - // 鍙戦�佸懡浠� - JSONObject response_SendCom= (JSONObject) JSON.toJSON(sendCom2Mw(com)); - if(response_SendCom != null && response_SendCom.getString("code").equals("0001")) { - //if(1 > 0) { - // 璇锋眰鎴愬姛 - - // 鍒涘缓鍛戒护鏃ュ織瀵硅薄骞舵坊鍔犲埌鏁版嵁搴撲腑 - String commandName = CodeV1_0_1.getCodeName(commandCode); - RmCommandHistory rmCommandHistory = getComHistory(comId, commandCode, commandName, intakeId, rtuAddr, protocol, param, operator); - commandSv.insert(rmCommandHistory); - - // 澶勭悊鍥炶皟 - BaseResponse response_CallBack = dealWithCallBack(comId); - - // 鍥炶皟寮傚父 - if(!response_CallBack.getCode().equals("0001")) { - // 鍛戒护鏃ュ織鎵ц缁撴灉鏀逛负澶辫触 - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.update(rmCommandHistory); - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - // 鍥炶皟瓒呮椂 - if(response_CallBack.getContent().toString().equals(WechatResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage())) { - /** - * 鍥炶皟瓒呮椂锛屾殏鏃惰涓烘墽琛屽け璐� - * 鍛戒护缃负澶辫触 - * 铏氭嫙鍗′緷鏃т繚鎸佷娇鐢ㄤ腑鐨勭姸鎬� - */ - - rmCommandHistory = new RmCommandHistory(); - rmCommandHistory.setId(comId); - rmCommandHistory.setResult((byte)0); - commandSv.update(rmCommandHistory); - - //Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum); - //SeVirtualCard virtualCard = new SeVirtualCard(); - //virtualCard.setId(vcId); - //virtualCard.setInUse((byte) 0); - //virtualCard.setLastOperate(LastOperateENUM.OPEN_VALVE.getCode()); - //virtualCard.setLastOperateTime(new Date()); - //seVirtualCardMapper.updateByPrimaryKeySelective(virtualCard); - return BaseResponseUtils.buildErrorMsg(WechatResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage()); - } - - // 鍥炶皟鎴愬姛锛屽啀鍒ゆ柇鎵ц鏄惁鎴愬姛 - JSONObject job_content = (JSONObject)JSON.toJSON(response_CallBack.getContent()); - System.out.println(job_content); - JSONObject job_subData = (JSONObject) job_content.getJSONObject("subData").getJSONObject("subData"); - System.out.println(job_subData); - Boolean dealResult = job_subData.getBoolean("success"); - if(!dealResult) { - return BaseResponseUtils.buildErrorMsg(response_CallBack.getContent().toString()); - } - - /** - * 鎵ц鎴愬姛 - * 鏇存敼铏氭嫙鍗$姸鎬侊細鏄惁浣跨敤涓�佹渶鍚庢搷浣溿�佹渶鍚庢搷浣滄椂闂� - */ - Long vcId = seVirtualCardMapper.getVcIdByNum(vcNum); - SeVirtualCard virtualCard = new SeVirtualCard(); - virtualCard.setId(vcId); - virtualCard.setInUse((byte) 0); - 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.buildErrorMsg(job_param.getString("message")); - } + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 1 鍑嗗鍙傛暟 + * 2 璋冪敤鍏叡鏂规硶 + */ + Param myParam = new Param(); + myParam.setComId(comId); + myParam.setComType((byte)2); + myParam.setCommandCode(commandCode); + myParam.setCommandName(CodeV1_0_1.getCodeName(commandCode)); + myParam.setIntakeId(intakeId); + myParam.setRtuAddr(rtuAddr); + myParam.setProtocol(protocol); + myParam.setVcId(vcId); + myParam.setParam(param); + myParam.setRtuResultSendWebUrl(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); } else { return BaseResponseUtils.buildErrorMsg("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); } @@ -472,18 +278,103 @@ /** * 鏍规嵁鎿嶄綔鍛業D鑾峰彇鏈叧闃�璁板綍 + * * @param operator * @return */ @GetMapping(path = "/get") - //@SsoAop() - public BaseResponse<List<VoUnclosedValve>> getUnclosedValves(@RequestParam Long operator){ + public BaseResponse<List<VoUnclosedValve>> getUnclosedValves(@RequestParam Long operator) { try { List<VoUnclosedValve> res = commandSv.getUnclosedValves(operator); return BaseResponseUtils.buildSuccess(res); } catch (Exception e) { log.error("鑾峰彇鏈叧闃�璁板綍寮傚父", e); - return BaseResponseUtils.buildException(e.getMessage()) ; + return BaseResponseUtils.buildException(e.getMessage()); + } + } + + /** + * 灏忕▼搴忚繙绋嬪厖鍊� + * @param po + * @param bindingResult + * @return + */ + @PostMapping(path = "recharge", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + public BaseResponse<Boolean> recharge(@RequestBody @Valid Recharge po, BindingResult bindingResult) { + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + Long intakeId = po.getIntakeId(); + Long cardId = po.getCardId(); + Double chargeMoney = po.getChargeMoney(); + Double chargeWater = po.getChargeWater(); + Long operator = po.getOperator(); + String flowNo = RandomStringUtils.randomNumeric(12); // 鐢熸垚12浣嶉殢鏈烘暟 + Long comId = idLongGenerator.generate(); + + // 鑾峰彇绯荤粺鍙傛暟 + if(!setuped) { + setUp(); + } + + // 鍙栨按鍙D鎹㈤榾鎺у櫒鍦板潃鍙婇�氳鍗忚 + JSONObject job_rtu = getRtu(intakeId, null); + if(job_rtu == null) { + return BaseResponseUtils.buildErrorMsg(WechatResultCode.RTU_NOT_EXIST.getMessage()); + } + String rtuAddr = job_rtu.getString("rtuAddr"); + String protocol = job_rtu.getString("protocol"); + + // 姘村崱ID鎹㈡按鍗″湴鍧�鍙婃按鍗$紪鍙� + SeClientCard seClientCard = commandSv.geClientCardByCardId(cardId); + if(seClientCard == null) { + return BaseResponseUtils.buildErrorMsg(WechatResultCode.CLIENT_CARD_NOT_EXIST.getMessage()); + } + String icCardAddr = seClientCard.getCardaddr(); + String icCardNo = seClientCard.getCardnum(); + + String commandCode = null; + if(protocol.equals("p206V202404")) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV202404.cd_15; + + // 鍒涘缓瑙嗗浘 + ComCd15Vo param = new ComCd15Vo(); + param.controllerType = controllerType; + param.projectNo = projectNo; + param.icCardAddr = icCardAddr; + param.icCardNo = icCardNo; + param.chargeMoney = chargeMoney; + param.chargeWater = chargeWater; + param.flowNo = flowNo; + + /** + * 鏋勯�犲懡浠ゃ�佸彂閫佸懡浠ゅ苟澶勭悊璇锋眰缁撴灉鍙婃墽琛岀粨鏋� + * 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(rtuResultSendWebUrl); + myParam.setOperator(operator); + return dealWithCommandResult(myParam); + } else if(protocol.equals("p206V1_0_1")) { + // 鑾峰彇鍔熻兘鐮� + commandCode = CodeV1_0_1.cd_10; + + // 鍒涘缓瑙嗗浘 + Com97Vo param = new Com97Vo() ; + return BaseResponseUtils.buildSuccess(""); + } else { + return BaseResponseUtils.buildFail("绯荤粺鏆備笉鏀寔璇ュ崗璁�"); } } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/Recharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/Recharge.java new file mode 100644 index 0000000..937e7cd --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/Recharge.java @@ -0,0 +1,33 @@ +package com.dy.pipIrrWechat.command.dto; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-06-26 10:45 + * @LastEditTime 2024-06-26 10:45 + * @Description + */ + +@Data +public class Recharge extends DtoBase { + public static final long serialVersionUID = 202406261045001L; + + /** + * 姘村崱ID + */ + @NotNull(message = "姘村崱ID涓嶈兘涓虹┖") + private Long cardId; + + /** + * 鍏呭�奸噾棰� + */ + @NotNull(message = "鍏呭�奸噾棰濅笉鑳戒负绌�") + private Double chargeMoney; + + /** + * 鍏呭�兼按閲� + */ + private Double chargeWater; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveClose.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveClose.java index 6a6ef28..1429bb5 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveClose.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveClose.java @@ -3,6 +3,7 @@ import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; +import lombok.EqualsAndHashCode; /** * @author ZhuBaoMin @@ -12,6 +13,7 @@ */ @Data +@EqualsAndHashCode(callSuper = false) public class ValveClose { public static final long serialVersionUID = 202405241727001L; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java index 481b8a8..e7e3dcb 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/dto/ValveOpen.java @@ -1,6 +1,7 @@ package com.dy.pipIrrWechat.command.dto; import lombok.Data; +import lombok.EqualsAndHashCode; /** * @author ZhuBaoMin @@ -10,6 +11,7 @@ */ @Data +@EqualsAndHashCode(callSuper = false) public class ValveOpen extends DtoBase{ public static final long serialVersionUID = 202405231531001L; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/qo/OnLineIntakesQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/qo/OnLineIntakesQO.java index 6cb009b..03cb834 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/qo/OnLineIntakesQO.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/qo/OnLineIntakesQO.java @@ -4,6 +4,7 @@ import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import lombok.Data; +import lombok.EqualsAndHashCode; /** * @author ZhuBaoMin @@ -13,6 +14,7 @@ */ @Data +@EqualsAndHashCode(callSuper = false) public class OnLineIntakesQO extends QueryConditionVo { /** * 涓棿浠惰繑鍥炵殑RTU鍦ㄧ嚎鎯呭喌瀵硅薄鏁扮粍 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/qo/OnLineIntakesQO.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/qo/OnLineIntakesQO.java index e305015..da34da0 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/qo/OnLineIntakesQO.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/qo/OnLineIntakesQO.java @@ -4,6 +4,7 @@ import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import lombok.Data; +import lombok.EqualsAndHashCode; /** * @author ZhuBaoMin @@ -13,6 +14,7 @@ */ @Data +@EqualsAndHashCode(callSuper = false) public class OnLineIntakesQO extends QueryConditionVo { /** * 涓棿浠惰繑鍥炵殑RTU鍦ㄧ嚎鎯呭喌瀵硅薄鏁扮粍 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java index 1b61317..1a81590 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/result/WechatResultCode.java @@ -28,6 +28,8 @@ RTU_NOT_EXIST(20001, "闃�鎺у櫒涓嶅瓨鍦�"), //RTU_ADDR_CANNOT_BE_NULL(20002, "闃�鎺у櫒鍦板潃涓嶈兘涓虹┖"); + CLIENT_CARD_NOT_EXIST(30001, "姘村崱涓嶅瓨鍦�"), + /** * 寰俊鐢ㄦ埛 */ -- Gitblit v1.8.0