From 5683c6a1ee9839ce3d87265865ca9b284730b9f4 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期二, 02 一月 2024 20:23:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java | 18 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd92Vo.java | 24 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd93Vo.java | 24 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Up.java | 70 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Down.java | 97 + pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java | 22 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java | 15 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/WalletCtrl.java | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java | 13 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml | 22 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java | 70 + pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java | 120 + pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java | 4 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/QueryVo.java | 10 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java | 11 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCardInfo.java | 31 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java | 60 + pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java | 116 ++ pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/client/ClientCtrl.java | 11 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java | 66 + pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictSv.java | 19 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java | 15 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerCtrl.java | 71 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java | 94 + pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java | 28 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoController.java | 56 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java | 106 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java | 16 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java | 36 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java | 20 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeSv.java | 32 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java | 1 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/clientType/ClientTypeCtrl.java | 11 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java | 4 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 10 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java | 6 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Up.java | 74 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java | 2 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java | 147 ++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaDistrictMapper.xml | 16 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Up.java | 61 + pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java | 14 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java | 34 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrController.java | 84 + pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java | 156 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java | 66 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Up.java | 70 + pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java | 14 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java | 28 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossSv.java | 15 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Down.java | 98 + pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java | 30 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml | 51 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java | 98 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Up.java | 64 + pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardSv.java | 33 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java | 44 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd21Vo.java | 27 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java | 33 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java | 42 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/divide/DivideCtrl.java | 11 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelSv.java | 28 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java | 11 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java | 20 pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/comResult/CommandResultDeal.java | 1 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd10Vo.java | 24 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaDistrictMapper.java | 13 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml | 306 ++++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java | 43 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/QueryVo.java | 6 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml | 128 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java | 27 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java | 23 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java | 60 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java | 5 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java | 10 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java | 4 83 files changed, 3,067 insertions(+), 297 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java index 32c3863..b633bba 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java @@ -3,18 +3,30 @@ public class CodeV1_0_1 { //鍔熻兘鐮佷负瀛楃涓诧紝鍗佸叚杩涘埗鏁版嵁 public static final String cd_02 = "02" ;//閬ユ祴绔欓摼璺娴� + public static final String cd_10 = "10" ;//璁剧疆閬ユ祴绔欑粓绔湴鍧� + public static final String cd_21 = "21" ;//璁剧疆鏈嶅姟绔疘P鍜岀鍙� + public static final String cd_50 = "50" ;//鏌ヨ閬ユ祴绔欑粓绔湴鍧� + public static final String cd_66 = "66" ;//鏌ヨ闃�闂ㄧ姸鎬�(闈虫�绘妸璇ュ懡浠よ璁℃垚鍙祴83鍔熻兘鐮佹暟鎹殑鍛戒护浜嗭紝鍥犱负杩欎釜鍛戒护鍥炴墽娌℃湁闃�闂ㄧ姸鎬佹暟鎹煙锛屾墍浠ヨ繖涓懡浠ゅ彧鑳戒綔涓哄彫娴嬪懡浠ょ敤浜�) public static final String cd_71 = "71" ;//璁剧疆宸ヤ綔妯″紡锛堟潕澶╄祼鍒跺畾鐨勫崗璁紝褰撳墠鏈疄鐜帮級 public static final String cd_83 = "83" ;//閬ユ祴绔欏紑鍏抽榾鑷姤 public static final String cd_84 = "84" ;//寮�闃�宸ヤ綔鎶� + public static final String cd_92 = "92" ;//閬ユ帶鍚姩闃�闂� + public static final String cd_93 = "93" ;//閬ユ帶鍏抽棴闃�闂� public static final String cd_C0 = "C0" ;//閬ユ祴绔欒嚜鎶ュ疄鏃舵暟鎹� public static String getCodeName(String code) { String name = (code.equals(cd_02) ? "閾捐矾妫�娴�" : - (code.equals(cd_71) ? "鏌ヨ闃�闂ㄧ姸鎬�" : + (code.equals(cd_10) ? "璁剧疆閬ユ祴绔欑粓绔湴鍧�" : + (code.equals(cd_21) ? "璁剧疆IP鍜岀鍙�" : + (code.equals(cd_50) ? "鏌ヨ閬ユ祴绔欑粓绔湴鍧�" : + (code.equals(cd_66) ? "鏌ヨ闃�闂ㄧ姸鎬�" : + (code.equals(cd_71) ? "璁剧疆宸ヤ綔妯″紡" : (code.equals(cd_83) ? "寮�鍏抽榾鑷姤" : (code.equals(cd_84) ? "寮�闃�宸ヤ綔鎶�" : + (code.equals(cd_92) ? "閬ユ帶鍚姩闃�闂�" : + (code.equals(cd_93) ? "閬ユ帶鍏抽棴闃�闂�" : (code.equals(cd_C0) ? "鑷姤瀹炴椂鏁版嵁" : - ""))))) ; + ""))))))))))) ; return name ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java index 1538331..a80528a 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CommonV1_0_1.java @@ -88,6 +88,24 @@ return rtuAddrBCD + rtuAddrStr ; } + + /** + * 鍒嗘瀽Rtu鍦板潃 + * @param bs 涓婅瀛楄妭鏁扮粍 + * @param index 鍚浣� + * @return 鎺у埗鍣ㄥ湴鍧� + * @throws Exception 寮傚父 + */ + public String parseRtuAddr(byte[] bs, int index)throws Exception{ + String rtuAddrBCD = "" + ByteUtil.BCD2Long_BE(bs, index, index + 2) ; + String rtuAddrStr = "" + ByteUtilUnsigned.bytes2Short_BE(bs, index + 3) ; + while(rtuAddrStr.length() < 4){ + rtuAddrStr = "0" + rtuAddrStr ; + } + return rtuAddrBCD + rtuAddrStr ; + } + + /** * 鍒嗘瀽鍔熻兘鐮� * @param bs 涓婅瀛楄妭鏁扮粍 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd10Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd10Vo.java new file mode 100644 index 0000000..8209317 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd10Vo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2023/12/25 11:28 + * @LastEditTime 2023/12/25 11:28 + * @Description + */ +@Data +public class DataCd10Vo { + public String newRtuAddr ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁惧RTU鍦板潃搴旂瓟:\n"); + sb.append(" 鏂板湴鍧�锛�"); + sb.append(newRtuAddr); + sb.append("\n"); + + return sb.toString() ; + } +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd21Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd21Vo.java new file mode 100644 index 0000000..a3026fa --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd21Vo.java @@ -0,0 +1,27 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2023/12/25 21:14 + * @LastEditTime 2023/12/25 21:14 + * @Description + */ +@Data +public class DataCd21Vo { + public String ip ; + public Integer port ; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 璁剧疆IP搴旂瓟:\n"); + sb.append(" IP锛�"); + sb.append(ip); + sb.append(" 绔彛锛�"); + sb.append(port); + sb.append("\n"); + + return sb.toString() ; + } +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd92Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd92Vo.java new file mode 100644 index 0000000..fb2ee24 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd92Vo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2023/12/25 21:14 + * @LastEditTime 2023/12/25 21:14 + * @Description + */ +@Data +public class DataCd92Vo { + public boolean success; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 寮�闃�搴旂瓟:\n"); + sb.append(" 缁撴灉锛�"); + sb.append(success?"鎵ц":"澶辫触"); + sb.append("\n"); + + return sb.toString() ; + } +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd93Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd93Vo.java new file mode 100644 index 0000000..1365ee6 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataCd93Vo.java @@ -0,0 +1,24 @@ +package com.dy.common.mw.protocol.p206V1_0_0; + +import lombok.Data; + +/** + * @Author liurunyu + * @Date 2023/12/25 21:14 + * @LastEditTime 2023/12/25 21:14 + * @Description + */ +@Data +public class DataCd93Vo { + public boolean success; + + public String toString(){ + StringBuilder sb = new StringBuilder() ; + sb.append(" 鍏抽榾搴旂瓟:\n"); + sb.append(" 缁撴灉锛�"); + sb.append(success?"鎵ц":"澶辫触"); + sb.append("\n"); + + return sb.toString() ; + } +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java index c8c3116..05e5b1c 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/DataV1_0_1.java @@ -10,11 +10,15 @@ public String rtuAddr ;//RtuAddr public DataCd02Vo dataCd02Vo;//閾捐矾妫�娴� - public DataCdC0Vo dataCdC0Vo;//缁堢鑷姤瀹炴椂鏁版嵁 + public DataCd10Vo dataCd10Vo;//璁剧疆RTU鍦板潃 + public DataCd21Vo dataCd21Vo;//璁剧疆IP鍦板潃 + public DataCd71Vo dataCd71Vo;//鏌ヨ闃�闂ㄧ姸鎬� public DataCd83OpenVo dataCd83OpenVo;//寮�闃�鑷姤 public DataCd83CloseVo dataCd83CloseVo;//鍏抽榾鑷姤 public DataCd84Vo dataCd84Vo;//寮�闃�宸ヤ綔鎶� - public DataCd71Vo dataCd71Vo;//鏌ヨ闃�闂ㄧ姸鎬� + public DataCd92Vo dataCd92Vo;//寮�闃�搴旂瓟 + public DataCd93Vo dataCd93Vo;//鍏抽榾搴旂瓟 + public DataCdC0Vo dataCdC0Vo;//缁堢鑷姤瀹炴椂鏁版嵁 public String dt ;//閫氫俊涓棿浠朵骇鐢熷彂鎶ユ椂闂�(yyyy-MM-dd hh:mm:ss) @@ -25,8 +29,14 @@ if(dataCd02Vo != null){ sb.append(dataCd02Vo.toString()) ; } - if(dataCdC0Vo != null){ - sb.append(dataCdC0Vo.toString()) ; + if(dataCd10Vo != null){ + sb.append(dataCd10Vo.toString()) ; + } + if(dataCd21Vo != null){ + sb.append(dataCd21Vo.toString()) ; + } + if(dataCd71Vo != null){ + sb.append(dataCd71Vo.toString()) ; } if(dataCd83OpenVo != null){ sb.append(dataCd83OpenVo.toString()) ; @@ -37,8 +47,14 @@ if(dataCd84Vo != null){ sb.append(dataCd84Vo.toString()) ; } - if(dataCd71Vo != null){ - sb.append(dataCd71Vo.toString()) ; + if(dataCd92Vo != null){ + sb.append(dataCd92Vo.toString()) ; + } + if(dataCd93Vo != null){ + sb.append(dataCd93Vo.toString()) ; + } + if(dataCdC0Vo != null){ + sb.append(dataCdC0Vo.toString()) ; } return sb.toString() ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java new file mode 100644 index 0000000..e8eceb9 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Down.java @@ -0,0 +1,98 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2023/12/25 11:11 + * @LastEditTime 2023/12/25 11:11 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_10 +}) +public class Cd_10_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 + midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�; + midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 + midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 + midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_10 + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[12] ; + String newRtuAddr = (String)para.param ; + GlCreate.createRtuAddr(newRtuAddr, bs, index); + index += 5 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Up.java new file mode 100644 index 0000000..30989c7 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_10_Up.java @@ -0,0 +1,64 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2023/12/25 11:27 + * @LastEditTime 2023/12/25 11:27 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_10 +}) +public class Cd_10_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_10_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + midRs.reportOrResponse_trueOrFalse = false ;//鍛戒护搴旂瓟 + + callback.callback(midRs.reportOrResponse_trueOrFalse); + return new MidResult[]{midRs} ; + } + /** + * 鎵ц鍒嗘瀽 + * @param bs 瀛楄妭鏁扮粍 + * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級 + * @param dataCode 鍔熻兘鐮� + * @param data 鏁版嵁 + * @throws Exception 寮傚父 + */ + protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd10Vo cdData = new DataCd10Vo() ; + dV1.dataCd10Vo = cdData ; + cdData.newRtuAddr = new CommonV1_0_1().parseRtuAddr(bs, ProtocolConstantV206V1_0_0.dataIndex) ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java new file mode 100644 index 0000000..6abb786 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Down.java @@ -0,0 +1,106 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; +import com.dy.common.util.ByteUtilUnsigned; + +/** + * @Author liurunyu + * @Date 2023/12/25 11:37 + * @LastEditTime 2023/12/25 11:37 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_21 +}) +public class Cd_21_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 + midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�; + midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 + midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 + midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_21 + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[14] ; + String ipPort = (String)para.param ; + String[] ipPorts = ipPort.split(",") ; + ByteUtilUnsigned.short2Bytes_LE(bs, (byte) Integer.parseInt(ipPorts[0]), index++); + ByteUtilUnsigned.short2Bytes_LE(bs, (byte) Integer.parseInt(ipPorts[1]), index++); + ByteUtilUnsigned.short2Bytes_LE(bs, (byte) Integer.parseInt(ipPorts[2]), index++); + ByteUtilUnsigned.short2Bytes_LE(bs, (byte) Integer.parseInt(ipPorts[3]), index++); + ByteUtilUnsigned.short2Bytes_LE(bs, Integer.parseInt(ipPorts[4]), index); + index += 2 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} + diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Up.java new file mode 100644 index 0000000..7a7948d --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_21_Up.java @@ -0,0 +1,74 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtilUnsigned; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2023/12/25 13:40 + * @LastEditTime 2023/12/25 13:40 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_21 +}) +@SuppressWarnings("unused") +public class Cd_21_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_21_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + midRs.reportOrResponse_trueOrFalse = false ;//鍛戒护搴旂瓟 + + callback.callback(midRs.reportOrResponse_trueOrFalse); + return new MidResult[]{midRs} ; + } + /** + * 鎵ц鍒嗘瀽 + * @param bs 瀛楄妭鏁扮粍 + * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級 + * @param dataCode 鍔熻兘鐮� + * @param data 鏁版嵁 + * @throws Exception 寮傚父 + */ + protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd21Vo cdData = new DataCd21Vo() ; + dV1.dataCd21Vo = cdData ; + short index = ProtocolConstantV206V1_0_0.dataIndex ; + String ip1 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; + String ip2 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; + String ip3 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; + String ip4 = "" +ByteUtilUnsigned.byte2Byte(bs, index++) ; + + cdData.ip = ip1 + "." + ip2 + "." + ip3 + "." + ip4 ; + + String port = "" +ByteUtilUnsigned.bytes2Short_LE(bs, index++) ; + cdData.port = Integer.parseInt(port) ; + } +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java new file mode 100644 index 0000000..420acb8 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Down.java @@ -0,0 +1,94 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2023/12/23 9:35 + * @LastEditTime 2023/12/23 9:35 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_66 +}) +public class Cd_66_Down implements CodeParse { + + //private static Logger log = LogManager.getLogger(Cd_66_Down.class); + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 + midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�; + midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 + midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 + midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_66 + "鐨勪笅琛屽懡浠�") ; + }else{ + byte flag = ((Integer)para.param).byteValue() ; + byte[] bs = new byte[]{flag} ; + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Up.java new file mode 100644 index 0000000..d30dc83 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_66_Up.java @@ -0,0 +1,61 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2023/12/23 9:48 + * @LastEditTime 2023/12/23 9:48 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_66 +}) +@SuppressWarnings("unused") +public class Cd_66_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_66_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽鍛戒护搴旂瓟鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + midRs.reportOrResponse_trueOrFalse = false ;//鍛戒护搴旂瓟 + + callback.callback(midRs.reportOrResponse_trueOrFalse); + return new MidResult[]{midRs} ; + } + /** + * 鎵ц鍒嗘瀽 + * @param bs 瀛楄妭鏁扮粍 + * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級 + * @param dataCode 鍔熻兘鐮� + * @param data 鏁版嵁 + * @throws Exception 寮傚父 + */ + protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java index d7a57f8..29289ca 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_71_Down.java @@ -21,7 +21,7 @@ byte[] bs = this.doParse(para) ; MidResultToRtu midRs = new MidResultToRtu() ; - midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;////rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java index d99d3f9..459107a 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Down.java @@ -21,7 +21,7 @@ byte[] bs = this.doParse(para) ; MidResultToRtu midRs = new MidResultToRtu() ; - midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;////rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java index 8326fb0..59b9b98 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_83_Up.java @@ -82,7 +82,6 @@ * @throws Exception 寮傚父 */ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { - short index = ProtocolConstantV206V1_0_0.dataIndex ; byte opType = bs[ProtocolConstantV206V1_0_0.dataIndex]; if(opType == 1 || opType == 3 || opType == 8){ this.doParseOpen(opType, bs, bsLen, dataCode, data); diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java index a90316a..1541de3 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_84_Down.java @@ -21,7 +21,7 @@ byte[] bs = this.doParse(para) ; MidResultToRtu midRs = new MidResultToRtu() ; - midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;////rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Down.java new file mode 100644 index 0000000..73b0961 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Down.java @@ -0,0 +1,97 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2023/12/26 8:49 + * @LastEditTime 2023/12/26 8:49 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_92 +}) +public class Cd_92_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 + midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�; + midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 + midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 + midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_92 + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[9] ; + bs[index++] = (byte)0xF0 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Up.java new file mode 100644 index 0000000..cb5ea08 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_92_Up.java @@ -0,0 +1,70 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtil; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2023/12/26 8:49 + * @LastEditTime 2023/12/26 8:49 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_92 +}) +@SuppressWarnings("unused") +public class Cd_92_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_92_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤 + + callback.callback(midRs.reportOrResponse_trueOrFalse); + return new MidResult[]{midRs} ; + } + /** + * 鎵ц鍒嗘瀽 + * @param bs 瀛楄妭鏁扮粍 + * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級 + * @param dataCode 鍔熻兘鐮� + * @param data 鏁版嵁 + * @throws Exception 寮傚父 + */ + protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd92Vo cdData = new DataCd92Vo() ; + dV1.dataCd92Vo = cdData ; + String bin = ByteUtil.byte2Binary(bs[ProtocolConstantV206V1_0_0.dataIndex]); + if(bin.startsWith("1010")){ + cdData.success = true ; + }else{ + cdData.success = false ; + } + } +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Down.java new file mode 100644 index 0000000..40dbd6c --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Down.java @@ -0,0 +1,98 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.CodeV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ParseParamsForDownV1_0_1; +import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlCreate; +import com.dy.common.util.ByteUtil; + +/** + * @Author liurunyu + * @Date 2023/12/26 8:50 + * @LastEditTime 2023/12/26 8:50 + * @Description + */ +@AnnotationCodeDown(ifAny={ + CodeV1_0_1.cd_93 +}) +public class Cd_93_Down implements CodeParse { + + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback) throws Exception { + ParseParamsForDownV1_0_1 para = (ParseParamsForDownV1_0_1) params ; + byte[] bs = this.doParse(para) ; + + MidResultToRtu midRs = new MidResultToRtu() ; + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� + midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 + midRs.downCode = para.commandCode ;//涓嬭鍛戒护鍔熻兘鐮�; + midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 + midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 + midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue + + if(isLowPower != null && isLowPower.booleanValue()){ + //浣庡姛鑰楁椂锛屽敖蹇彂閫� + midRs.isQuickSend = true ; + } + + return new MidResult[]{midRs} ; + } + + /** + * 鏋勯�犱笅琛屾暟鎹� + * @param para 鍙傛暟 + * @return 瀛楄妭鏁扮粍 + * @throws Exception 寮傚父 + */ + public byte[] doParse(ParseParamsForDownV1_0_1 para) throws Exception { + CommonV1_0_1 commonV1_0_1 = new CommonV1_0_1() ; + byte[] bytes ; + byte[] bsHead = new byte[ProtocolConstantV206V1_0_0.lenHead2Code] ; + byte index = 0 ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = 0 ;//甯ч暱搴� + + index++ ; + bsHead[index] = ProtocolConstantV206V1_0_0.P_Head_Byte ; + + index++ ; + bsHead[index] = commonV1_0_1.createCtrl((byte)0, (byte)0) ; + + index++ ; + GlCreate.createRtuAddr(para.rtuAddr, bsHead, index); + index += 5 ; + + ByteUtil.hex2Bytes(para.commandCode, bsHead, index) ; + + if(para.param == null){ + throw new Exception("鏈彁渚涘懡浠ゅ弬鏁版暟鎹紝涓嶈兘鏋勯�犲姛鑳界爜涓�" + CodeV1_0_1.cd_93 + "鐨勪笅琛屽懡浠�") ; + }else{ + index = 0 ; + byte[] bs = new byte[9] ; + bs[index++] = (byte)0xF0 ; + GlCreate.createPw(bs, index); + index += 2 ; + GlCreate.createTp(bs, index); + + bytes = ByteUtil.bytesMerge(bsHead, bs) ; + } + + GlCreate.createLen(bytes);//闀垮害鏀惧瓧鑺傛暟缁勪腑 + + byte[] bsTail = GlCreate.createCrcTail(bytes) ;//CRC鍜屽熬鍙犲姞瀛楄妭鏁扮粍涓� + + bytes = ByteUtil.bytesMerge(bytes, bsTail) ; + + return bytes ; + } + +} + diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Up.java new file mode 100644 index 0000000..8b21185 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_93_Up.java @@ -0,0 +1,70 @@ +package com.dy.common.mw.protocol.p206V1_0_0.parse; + +import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1_0_0.*; +import com.dy.common.util.ByteUtil; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +/** + * @Author liurunyu + * @Date 2023/12/26 8:49 + * @LastEditTime 2023/12/26 8:49 + * @Description + */ +@AnnotationCodeUp(ifAny={ + CodeV1_0_1.cd_93 +}) +@SuppressWarnings("unused") +public class Cd_93_Up implements CodeParse { + + private static final Logger log = LogManager.getLogger(Cd_93_Up.class); + + /** + * 鍒嗘瀽涓婅鏁版嵁 + */ + @Override + public MidResult[] parse(Boolean isLowPower, CodeParseParams params, CodeParseCallback callback)throws Exception { + ParseParamsForUpV1_0_1 para = (ParseParamsForUpV1_0_1)params ; + int bsLen = new CommonV1_0_1().parseDataLen(para.upBuffer) ; + if(bsLen > 0){ + this.doParse(para.upBuffer, + bsLen, + para.upCode, + para.data) ; + } + log.info("鍒嗘瀽涓婅鏁版嵁<" + CodeV1_0_1.getCodeName(para.upCode) + " RTU鍦板潃=" + para.rtuAddr + ">:\n" + para.data.toString()); + + MidResultFromRtu midRs = new MidResultFromRtu() ; + midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О + midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃 + midRs.upCode = para.upCode ;//涓婅鏁版嵁涓殑鍔熻兘鐮� + midRs.upHex = para.upHex ;//涓婅鏁版嵁鍗佸叚杩涘埗褰㈠紡 + midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 + midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 + + midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤 + + callback.callback(midRs.reportOrResponse_trueOrFalse); + return new MidResult[]{midRs} ; + } + /** + * 鎵ц鍒嗘瀽 + * @param bs 瀛楄妭鏁扮粍 + * @param bsLen 瀛楄妭闀垮害锛堟�诲寘闀匡紝鍖呮嫭鍖呭ご鍜屽寘灏撅級 + * @param dataCode 鍔熻兘鐮� + * @param data 鏁版嵁 + * @throws Exception 寮傚父 + */ + protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { + DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; + DataCd93Vo cdData = new DataCd93Vo() ; + dV1.dataCd93Vo = cdData ; + String bin = ByteUtil.byte2Binary(bs[ProtocolConstantV206V1_0_0.dataIndex]); + if(bin.startsWith("1010")){ + cdData.success = true ; + }else{ + cdData.success = false ; + } + } +} diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java index 28ab71f..cba13dd 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Down.java @@ -21,7 +21,7 @@ byte[] bs = this.doParse(para) ; MidResultToRtu midRs = new MidResultToRtu() ; - midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;////rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL + midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ;//rtu杩斿洖鍛戒护缁撴灉 鍙戝悜鐩殑鍦皐eb URL midRs.protocolName = para.protocolName ;//鍗忚鍚嶇О midRs.rtuAddr = para.rtuAddr ;//Rtu鍦板潃锛堢數淇″钩鍙拌澶嘔MEI锛� midRs.commandId = para.commandId ;//鍛戒护ID锛屽彂璧峰懡浠ょ殑瀹㈡埛绔�(web绔�)鐢熸垚锛屼互鍖归厤鍛戒护缁撴灉 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java index 2567d99..b830c19 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java @@ -19,6 +19,11 @@ ByteUtilUnsigned.short2Bytes_BE(bs, rtuAddr2Int.shortValue(), index); } + public static void createPw(byte[] bs, int index) throws Exception { + bs[index] = 0; + bs[index + 1] = 0; + } + public static void createTp(byte[] bs, int index) throws Exception { ByteUtil.string2BCD_LE(bs, DateTime.yyMMddhhmmss(), index) ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java index ce00ba0..7fe22e9 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java @@ -33,9 +33,8 @@ * @param index 涓嬫爣浣� * @param len 闀垮害 * @return 杩斿洖 杩斿洖 - * @throws Exception 寮傚父 */ - public static boolean bytesIsAll0xFF(byte[] bs, int index, int len)throws Exception { + public static boolean bytesIsAll0xFF(byte[] bs, int index, int len){ int count = 0 ; for(int i = index; i < index + len; i++){ if(bs[i] == (byte)0xFF){ @@ -47,26 +46,11 @@ /** * 浜岃繘鍒惰浆鍗佽繘鍒舵暟 - * @param str + * @param str 浜岃繘鍒跺瓧绗︿覆 * @return 杩斿洖 - * @throws Exception 寮傚父 */ - public static int binary2Int(String str) throws Exception { - int cnt=0; - int sum=0; - str=new StringBuilder(str).reverse().toString();//鍙嶈浆瀛楃涓� - for(int i=0;i<str.length();i++){ - cnt++; - if (str.charAt(i)=='1'){ - int mul=1; - for (int j=1;j<cnt;j++){ - mul*=2; - } - sum+=mul; - } - else continue; - } - return sum; + public static int binary2Int(String str) { + return Integer.parseInt(str, 2); } @@ -74,26 +58,18 @@ * 瀛楄妭杞瓨浜岃繘鍒� * * @param b byte - * @throws Exception 寮傚父 * @return 杩斿洖 String */ - public static String byte2Binary(byte b) throws Exception { - int n = (b + 256) % 256 + 256; - try { - return Integer.toBinaryString(n).substring(1); - } catch (Exception e) { - throw new Exception("瀛楄妭杞崲鎴愪簩杩涘埗鐨勫瓧绗︿覆鍑洪敊锛�", null); - } + public static String byte2Binary(byte b) { + return Integer.toBinaryString(b & 0xFF) ; } /** * 瀛楄妭杞瓨8浣嶄簩杩涘埗 * - * @param b - * byte - * @throws Exception 寮傚父 + * @param b byte * @return 杩斿洖 String */ - public static String byte2bit8Binary(byte b) throws Exception { + public static String byte2bit8Binary(byte b) { String s = byte2Binary(b); int len = s.length(); for (int i = 0; i < 8 - len; i++) { @@ -103,13 +79,11 @@ } /** - * 瀛楄妭鍙朾it - * @param b - * @param b - * @throws Exception 寮傚父 + * 瀛楄妭鏁� 鍙栧嚭8涓猙it + * @param b 瀛楄妭鏁� * @return 杩斿洖 String */ - public static byte[] getBit(byte b) throws Exception { + public static byte[] getBit(byte b) { byte[] bs = new byte[8] ; bs[0] = (byte)(b & 1) ; bs[1] = (byte)((b & 2) >> 1) ; @@ -123,8 +97,8 @@ } /** - * 瀛楄妭鍙朾it - * @param b + * 瀛楄妭鏁� 鍙栧嚭bit + * @param b 瀛楄妭鏁� * @param index 涓嬫爣浣� * @throws Exception 寮傚父 * @return 杩斿洖 String @@ -178,8 +152,7 @@ public static void double2Bytes_BE(byte[] bs, double value, int from)throws Exception { boolean b = isOutOfArrLength(bs.length, (from - 1) + 8); if (b) { - Long l = Double.doubleToLongBits(value); - long2Bytes_BE(bs, l, from); + long2Bytes_BE(bs, Double.doubleToLongBits(value), from); } else { throw new Exception("double2Bytes鏃舵暟缁勮秺鐣�"); } @@ -195,8 +168,7 @@ public static void double2Bytes_LE(byte[] bs, double value, int from)throws Exception { boolean b = isOutOfArrLength(bs.length, (from - 1) + 8); if (b) { - Long l = Double.doubleToLongBits(value); - long2Bytes_LE(bs, l, from); + long2Bytes_LE(bs, Double.doubleToLongBits(value), from); } else { throw new Exception("double2Bytes鏃舵暟缁勮秺鐣�"); } @@ -452,7 +424,7 @@ boolean b = isOutOfArrLength(bs.length, (from - 1) + 8); if (b) { long s = 0; - long s0 = bs[from + 0] ;// 鏈�浣庝綅 + long s0 = bs[from] ;// 鏈�浣庝綅 long s1 = bs[from + 1] ; long s2 = bs[from + 2] ; long s3 = bs[from + 3] ; diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaDistrictMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaDistrictMapper.java index b941586..bf05ee2 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaDistrictMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoBa/BaDistrictMapper.java @@ -82,4 +82,17 @@ */ Map getDistrictsByVillageId(@Param("villageId") Long villageId); + /** + * 鏍规嵁绾у埆鑾峰彇琛屾斂鍖哄垝鍒楄〃 + * @param level 琛屾斂鍖哄垝灞傜骇 + * @return 琛屾斂鍖哄垝鍒楄〃 + */ + List<Map<String, Object>> getDistrictgsByLevel(@Param("level") Integer level); + + /** + * 鏍规嵁鐖禝D鑾峰彇琛屾斂鍖哄垝鍒楄〃 + * @param supperId 琛屾斂鍖哄垝鐖剁骇ID + * @return 琛屾斂鍖哄垝鍒楄〃 + */ + List<Map<String, Object>> getDistrictsBySupperId(@Param("supperId") Long supperId); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java new file mode 100644 index 0000000..bf30cae --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java @@ -0,0 +1,27 @@ +package com.dy.pipIrrGlobal.daoPr; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dy.pipIrrGlobal.pojoPr.PrController; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author ZhuBaoMin + * @date 2023-12-29 9:59 + * @LastEditTime 2023-12-29 9:59 + * @Description + */ + +@Mapper +public interface PrControllerMapper extends BaseMapper<PrController> { + int deleteByPrimaryKey(Long id); + + int insert(PrController record); + + int insertSelective(PrController record); + + PrController selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(PrController record); + + int updateByPrimaryKey(PrController record); +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java index 5eb7697..c267e59 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java @@ -1,7 +1,10 @@ package com.dy.pipIrrGlobal.daoPr; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoPr.PrDivide; import com.dy.pipIrrGlobal.voPr.VoDivide; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -12,7 +15,8 @@ * @LastEditTime 2023/12/21 9:16 * @Description */ -public interface PrDivideMapper { +@Mapper +public interface PrDivideMapper extends BaseMapper<PrDivide> { int deleteByPrimaryKey(Long id); int insert(PrDivide record); @@ -38,4 +42,18 @@ * @return */ List<VoDivide> getDivides(Map<?, ?> params); + + /** + * 鏍规嵁鍒嗘按鎴縄D閫昏緫鍒犻櫎鍒嗘按鎴� + * @param id + * @return + */ + Integer deleteDivideById(@Param("id") Long id); + + /** + * 鏍规嵁鍒嗘按鎴跨紪鍙疯幏鍙栨墍灞炵墖鍖虹紪鍙� + * @param divideId + * @return + */ + Long getBlockIdById(@Param("divideId") Long divideId); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java index fdd551b..946c184 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java @@ -2,9 +2,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; +import com.dy.pipIrrGlobal.voSe.VoCardInfo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -56,4 +58,38 @@ */ Map getCardIdAndClientNum(@Param("cardNum") String cardNum); + /** + * 鏍规嵁鍐滄埛涓婚敭鑾峰彇姘村崱鍒楄〃 + * @param clientId + * @return + */ + List<VoCardInfo> getCardInfoByClientId(@Param("clientId") Long clientId); + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍒楄〃 + * @param cardNum 姘村崱缂栧彿 + * @return 姘村崱鎿嶄綔璁板綍鍒楄〃 + */ + List<Map<String, Object>> getOperateRecordsByCardNum(@Param("cardNum") Long cardNum); + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇浣欓 + * @param cardNum 姘村崱缂栧彿 + * @return 浣欓 + */ + Float getMoneyByCardNum(@Param("cardNum") Long cardNum); + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇鍏呭�兼�婚 + * @param cardNum + * @return + */ + Float sumRechargeByCardNum(@Param("cardNum") Long cardNum); + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇鍗$墖鐘舵�� + * @param cardNum + * @return + */ + String getCardStateByCardNum(@Param("cardNum") Long cardNum); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java index 304af36..44e1e11 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dy.pipIrrGlobal.pojoSe.SeClient; import com.dy.pipIrrGlobal.voSe.VoClient; +import com.dy.pipIrrGlobal.voSe.VoOperate; +import com.dy.pipIrrGlobal.voSe.VoStatistics; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -11,8 +13,8 @@ /** * @author ZhuBaoMin - * @date 2023/12/22 9:50 - * @LastEditTime 2023/12/22 9:50 + * @date 2023-12-26 10:32 + * @LastEditTime 2023-12-26 10:32 * @Description */ @@ -78,4 +80,58 @@ * @return 鏉戜富閿� */ Long getVillageIdById(@Param("id") Long id); + + /** + * 鑾峰彇铏氭嫙鍗″彿鏈�澶у�� + * @return + */ + Long getMa1xVirtualId(); + + /** + * 鑾峰彇鐢ㄦ按鏂瑰紡鍒楄〃 + * @return + */ + List<Map<String, Object>> getWaterTypes(); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨�� + * @param params 缁熻鏉′欢 + * @return 璐按閲戦銆佽喘鍗¢噾棰� + */ + Map getSums(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鎿嶄綔璁板綍鏁� + * @param params 鏌ヨ鏉′欢 + * @return 绗﹀悎鏉′欢鐨勮褰曟暟 + */ + Long getOperateRecordCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鎿嶄綔璁板綍 + * @param params 鏌ヨ鏉′欢 + * @return 绗﹀悎鏉′欢鐨勪氦鏄撹褰� + */ + List<VoOperate> getOperates(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗绗旀暟姹囨�诲拰浜ゆ槗閲戦姹囨�� + * @param params + * @return + */ + Map getStatisticSums(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇姹囨�昏褰曟暟 + * @param params + * @return + */ + Long getStatisticRecordCount(Map<?, ?> params); + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍 + * @param params + * @return + */ + List<VoStatistics> getStatistics(Map<?, ?> params); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrController.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrController.java new file mode 100644 index 0000000..481982a --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrController.java @@ -0,0 +1,84 @@ +package com.dy.pipIrrGlobal.pojoPr; + +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.po.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.*; +import org.hibernate.validator.constraints.Length; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2023-12-29 9:59 + * @LastEditTime 2023-12-29 9:59 + * @Description + */ + +/** + * 鎺у埗鍣ㄨ〃 + */ + +@TableName(value="pr_controller", autoResultMap = true) +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +@Schema(name = "鎺у埗鍣ㄥ疄浣�") +public class PrController implements BaseEntity { + public static final long serialVersionUID = 1L; + + /** + * 涓婚敭 + */ + @JSONField(serializeUsing= ObjectWriterImplToString.class) + @TableId(type = IdType.INPUT) + @Schema(description = "瀹炰綋id", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long id; + + /** + * 缂栧彿 + */ + @Schema(description = "缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "鎺у埗鍣ㄧ紪鍙蜂笉鑳戒负绌�") + @Length(message = "鎺у埗鍣ㄧ紪鍙蜂笉澶т簬{max}瀛�",max = 25) + private String code; + + /** + * 閫氳鍗忚 + */ + @Schema(description = "閫氳鍗忚", requiredMode = Schema.RequiredMode.REQUIRED) + @NotBlank(message = "閫氳鍗忚涓嶈兘涓虹┖") + @Length(message = "閫氳鍗忚涓嶅ぇ浜巤max}瀛�",max = 25) + private String protocol; + + /** + * 娣诲姞鏂瑰紡;1-绯荤粺鑷姩锛�2-鎵嬪姩 + */ + @Schema(description = "娣诲姞鏂瑰紡", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Byte addways; + + /** + * 鎿嶄綔浜虹紪鍙� + */ + @Schema(description = "鎿嶄綔浜虹紪鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long operator; + + /** + * 鎿嶄綔鏃堕棿 + */ + @Schema(description = "鎿嶄綔鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Date operatedt; + + /** + * 閫昏緫鍒犻櫎鏍囪瘑;0-鏈垹闄わ紝1-鍒犻櫎 + */ + @Schema(description = "鍒犻櫎鏍囪瘑", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Byte deleted; +} \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java index 250d9d4..e61a205 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClient.java @@ -89,6 +89,13 @@ private String name; /** + * 铏氭嫙鍗″彿;10浣嶏紝浠�1000000000寮�濮� + */ + @Schema(description = "铏氭嫙鍗″彿", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "铏氭嫙鍗″彿涓嶈兘涓虹┖") + private Long virtualid; + + /** * 鍐滄埛缂栧彿;6浣嶅尯鍒� + 4涓洪『搴忓彿 */ @JSONField(serializeUsing= ObjectWriterImplToString.class) @@ -134,6 +141,12 @@ private Double area; /** + * 鐢ㄦ按绫诲瀷ID + */ + @Schema(description = "鐢ㄦ按绫诲瀷ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long typeid; + + /** * 琛楅亾鍙婇棬鐗屽彿 */ @Schema(description = "琛楅亾+闂ㄧ墝鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java index 304f837..6eaa503 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoSe/SeClientCard.java @@ -69,7 +69,7 @@ * 浣欓 */ @Schema(description = "浣欓", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - private Double money; + private Float money; /** * 鍗$墖鐘舵��;1-姝e父锛�2-宸叉敞閿�锛�3-宸叉寕澶� diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoController.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoController.java new file mode 100644 index 0000000..1d632e8 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoController.java @@ -0,0 +1,56 @@ +package com.dy.pipIrrGlobal.voPr; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2023-12-29 10:27 + * @LastEditTime 2023-12-29 10:27 + * @Description + */ + +@Data +@Schema(title = "鎺у埗鍣ㄨ鍥惧璞�") +public class VoController implements BaseEntity { + private static final long serialVersionUID = 1L; + + @Schema(title = "ID") + @ExcelProperty("ID") + @ColumnWidth(10) + private Long id; + + @Schema(title = "鎺у埗鍣ㄧ紪鍙�") + @ExcelProperty("鎺у埗鍣ㄧ紪鍙�") + @ColumnWidth(15) + private String code; + + @Schema(title = "鍦ㄧ嚎鐘舵��") + @ExcelProperty("鍦ㄧ嚎鐘舵��") + @ColumnWidth(15) + private String state; + + @Schema(title = "缁戝畾鍙栨按鍙�") + @ExcelProperty("缁戝畾鍙栨按鍙�") + @ColumnWidth(10) + private String intakeName; + + @Schema(title = "缁戝畾娆℃暟") + @ExcelProperty("缁戝畾娆℃暟") + @ColumnWidth(10) + private Integer bindings; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Schema(title = "鏈�杩戜笂鎶ユ椂闂�") + @ExcelProperty("鏈�杩戜笂鎶ユ椂闂�") + @ColumnWidth(30) + private Date operateDt; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCardInfo.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCardInfo.java new file mode 100644 index 0000000..509eb17 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoCardInfo.java @@ -0,0 +1,31 @@ +package com.dy.pipIrrGlobal.voSe; + +import com.dy.common.po.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2023-12-27 19:22 + * @LastEditTime 2023-12-27 19:22 + * @Description + */ + +@Data +@Schema(title = "IC鍗¤鍥惧璞�") +public class VoCardInfo implements BaseEntity { + private static final long serialVersionUID = 1L; + + @Schema(title = "姘村崱缂栧彿") + private Long cardNum; + + @Schema(title = "鍗$墖绫诲瀷") + private String cardType; + + @Schema(title = "浣欓") + private Float money; + + @Schema(title = "姘村崱鐘舵��") + private String state; + +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java index 2a1cf2d..76fe8c1 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoClient.java @@ -23,6 +23,39 @@ @Schema(title = "ID") private Long id; + @Schema(title = "鍘縄D") + private String countyId; + @Schema(title = "鍘垮悕绉�") + private String countryName; + + @Schema(title = "闀嘔D") + private String townId; + @Schema(title = "闀囧悕绉�") + private String townName; + + @Schema(title = "鏉慖D") + private String villageId; + @Schema(title = "鏉戝悕绉�") + private String villageName; + + @Schema(title = "鐗囧尯ID") + private String blockId; + @Schema(title = "鐗囧尯鍚嶇О") + private String bolckName; + + @Schema(title = "鍒嗘按鎴縄D") + private String divideId; + @Schema(title = "鍒嗘按鎴垮悕绉�") + private String divideName; + + @Schema(title = "鐢ㄦ埛绫诲瀷ID") + private String waterTypeId; + @Schema(title = "鐢ㄦ埛绫诲瀷鍚嶇О") + private String waterTypeName; + + @Schema(title = "鍐滄埛ID") + private String clientId; + @Schema(title = "鍐滄埛濮撳悕") private String name; @@ -33,7 +66,10 @@ private String phone; @Schema(title = "韬唤璇佸彿") - private String idCard; + private String idcard; + + @Schema(title = "绉嶆闈㈢Н") + private Double area; @Schema(title = "鍗$墖鏁伴噺") private Integer cardCount; @@ -41,10 +77,11 @@ @Schema(title = "鍦板潃") private String address; + @Schema(title = "澶囨敞") + private String remarks; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Schema(title = "娉ㄥ唽鏃堕棿") private Date operateDt; - - } diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java new file mode 100644 index 0000000..711ea95 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java @@ -0,0 +1,66 @@ +package com.dy.pipIrrGlobal.voSe; + +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2023-12-26 20:44 + * @LastEditTime 2023-12-26 20:44 + * @Description + */ + +@Data +@Schema(title = "鎿嶄綔璁板綍瑙嗗浘瀵硅薄") +public class VoOperate implements BaseEntity { + private static final long serialVersionUID = 1L; + + @Schema(title = "鏉慖D") + private Long villageId; + + @Schema(title = "鍖哄垝鍚嶇О涓�") + private String districtTitle; + + @Schema(title = "鍐滄埛缂栧彿") + private String clientNum; + + @Schema(title = "鍐滄埛濮撳悕") + private String name; + + @Schema(title = "姘村崱缂栧彿") + private Long cardNum; + + @Schema(title = "韬唤璇佸彿") + private String idCard; + + @Schema(title = "鎵嬫満鍙�") + private String phone; + + @Schema(title = "鍏呭�奸噾棰�") + private Float money; + + @Schema(title = "璐崱閲戦") + private Integer cardCost; + + @Schema(title = "鏀粯鏂瑰紡缂栧彿") + private Long paymentId; + + @Schema(title = "鏀粯鏂瑰紡鍚嶇О") + private String paymentMethod; + + @Schema(title = "涓氬姟绫诲瀷") + private String operateType; + + @Schema(title = "浜ゆ槗鏃堕棿") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date operateDt; + + @Schema(title = "鎿嶄綔鍛�") + private String operatorName; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java new file mode 100644 index 0000000..a003b59 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java @@ -0,0 +1,42 @@ +package com.dy.pipIrrGlobal.voSe; + +import com.dy.common.po.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @author ZhuBaoMin + * @date 2023-12-27 15:01 + * @LastEditTime 2023-12-27 15:01 + * @Description + */ + +@Data +@Schema(title = "浜ゆ槗姹囨�昏鍥惧璞�") +public class VoStatistics implements BaseEntity { + private static final long serialVersionUID = 1L; + + @Schema(title = "鏉戝簞ID") + private Long villageId; + + @Schema(title = "鏉戝簞") + private String districtTitle; + + @Schema(title = "涓氬姟绫诲瀷") + private String operateType; + + @Schema(title = "浜ゆ槗鏃ユ湡") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date operateDt; + + @Schema(title = "浜ゆ槗绗旀暟") + private Integer count; + + @Schema(title = "浜ゆ槗閲戦") + private Float money; +} diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml index 7e13709..b1b3f1f 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml @@ -110,4 +110,12 @@ project: webPort: 8085 actutorPort: 9085 - idSuffix: 7 \ No newline at end of file + idSuffix: 7 + +#椤圭洰缂栧彿 +projectCode: + ym: 100 + pj: 101 + +#閫氳鍗忚 +protocol: DYJS_2023,DYJS_2024 \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaDistrictMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaDistrictMapper.xml index 23dd4ce..c011351 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaDistrictMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaDistrictMapper.xml @@ -165,4 +165,20 @@ INNER JOIN ba_district pro ON cit.supperId = pro.id WHERE vil.id = ${villageId} </select> + + <!--鏍规嵁绾у埆鑾峰彇琛屾斂鍖哄垝鍒楄〃--> + <select id="getDistrictgsByLevel" resultType="java.util.Map"> + SELECT + CAST(id AS char) AS id, + name + FROM ba_district WHERE `level` = ${level} + </select> + + <!--鏍规嵁鐖禝D鑾峰彇琛屾斂鍖哄垝鍒楄〃--> + <select id="getDistrictsBySupperId" resultType="java.util.Map"> + SELECT + CAST(id AS char) AS id, + name + FROM ba_district WHERE supperId = ${supperId} + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml new file mode 100644 index 0000000..9781e59 --- /dev/null +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml @@ -0,0 +1,128 @@ +<?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.daoPr.PrControllerMapper"> + <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrController"> + <!--@mbg.generated--> + <!--@Table pr_controller--> + <id column="id" jdbcType="BIGINT" property="id" /> + <result column="code" jdbcType="VARCHAR" property="code" /> + <result column="protocol" jdbcType="VARCHAR" property="protocol" /> + <result column="addWays" jdbcType="TINYINT" property="addways" /> + <result column="operator" jdbcType="BIGINT" property="operator" /> + <result column="operateDt" jdbcType="TIMESTAMP" property="operatedt" /> + <result column="deleted" jdbcType="TINYINT" property="deleted" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, code, protocol, addWays, `operator`, operateDt, deleted + </sql> + <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> + <!--@mbg.generated--> + select + <include refid="Base_Column_List" /> + from pr_controller + where id = #{id,jdbcType=BIGINT} + </select> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> + <!--@mbg.generated--> + delete from pr_controller + where id = #{id,jdbcType=BIGINT} + </delete> + + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> + <!--@mbg.generated--> + insert into pr_controller (id, code, protocol, + addWays, `operator`, operateDt, + deleted) + values (#{id,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR}, + #{addways,jdbcType=TINYINT}, #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}, + #{deleted,jdbcType=TINYINT}) + </insert> + + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> + <!--@mbg.generated--> + insert into pr_controller + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="code != null"> + code, + </if> + <if test="protocol != null"> + protocol, + </if> + <if test="addways != null"> + addWays, + </if> + <if test="operator != null"> + `operator`, + </if> + <if test="operatedt != null"> + operateDt, + </if> + <if test="deleted != null"> + deleted, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id,jdbcType=BIGINT}, + </if> + <if test="code != null"> + #{code,jdbcType=VARCHAR}, + </if> + <if test="protocol != null"> + #{protocol,jdbcType=VARCHAR}, + </if> + <if test="addways != null"> + #{addways,jdbcType=TINYINT}, + </if> + <if test="operator != null"> + #{operator,jdbcType=BIGINT}, + </if> + <if test="operatedt != null"> + #{operatedt,jdbcType=TIMESTAMP}, + </if> + <if test="deleted != null"> + #{deleted,jdbcType=TINYINT}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> + <!--@mbg.generated--> + update pr_controller + <set> + <if test="code != null"> + code = #{code,jdbcType=VARCHAR}, + </if> + <if test="protocol != null"> + protocol = #{protocol,jdbcType=VARCHAR}, + </if> + <if test="addways != null"> + addWays = #{addways,jdbcType=TINYINT}, + </if> + <if test="operator != null"> + `operator` = #{operator,jdbcType=BIGINT}, + </if> + <if test="operatedt != null"> + operateDt = #{operatedt,jdbcType=TIMESTAMP}, + </if> + <if test="deleted != null"> + deleted = #{deleted,jdbcType=TINYINT}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController"> + <!--@mbg.generated--> + update pr_controller + set code = #{code,jdbcType=VARCHAR}, + protocol = #{protocol,jdbcType=VARCHAR}, + addWays = #{addways,jdbcType=TINYINT}, + `operator` = #{operator,jdbcType=BIGINT}, + operateDt = #{operatedt,jdbcType=TIMESTAMP}, + deleted = #{deleted,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml index d9b4ac4..d3d19f3 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml @@ -227,8 +227,9 @@ lat = #{lat,jdbcType=DOUBLE}, remarks = #{remarks,jdbcType=VARCHAR}, `operator` = #{operator,jdbcType=BIGINT}, - operateDt = #{operatedt,jdbcType=TIMESTAMP}, - deleted = #{deleted,jdbcType=TINYINT} + operateDt = #{operatedt,jdbcType=TIMESTAMP} +<!-- ,--> +<!-- deleted = #{deleted,jdbcType=TINYINT}--> where id = #{id,jdbcType=BIGINT} </update> @@ -243,6 +244,7 @@ INNER JOIN ba_district village ON divi.villageid = village.id , (SELECT @i:=0) AS itable <where> + AND divi. deleted = 0 <if test = "divideName != null and divideName !=''"> AND divi.name LIKE CONCAT('%',#{divideName},'%') </if> @@ -270,6 +272,7 @@ INNER JOIN ba_district village ON divi.villageid = village.id , (SELECT @i:=0) AS itable <where> + AND divi. deleted = 0 <if test = "divideName != null and divideName !=''"> AND divi.name LIKE CONCAT('%',#{divideName},'%') </if> @@ -284,4 +287,19 @@ </if> </select> + <!--鏍规嵁鍒嗘按鎴縄D閫昏緫鍒犻櫎鍒嗘按鎴�--> + <update id="deleteDivideById" parameterType="java.lang.Long"> + update pr_divide set deleted = 1 + <where> + <if test = "id != null and id > 0"> + AND id = ${id} + </if> + </where> + </update> + + <!--鏍规嵁鍒嗘按鎴跨紪鍙疯幏鍙栨墍灞炵墖鍖虹紪鍙�--> + <select id="getBlockIdById" resultType="java.lang.Long"> + SELECT blockId FROM pr_divide WHERE id = ${divideId}} + </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 4bf5062..e5bb9af 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml @@ -257,4 +257,55 @@ remarks = #{remarks,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} </update> + + <!--鏍规嵁鍐滄埛涓婚敭鑾峰彇姘村崱鍒楄〃--> + <select id="getCardInfoByClientId" resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo"> + SELECT + cardNum, + '鐢ㄦ埛鍗�' AS cardType, + money, + (CASE + WHEN state = 1 THEN "姝e父" + WHEN state = 2 THEN "宸叉敞閿�" + ELSE "宸叉寕澶�" + END) AS state + FROM se_client_card + WHERE clientId = ${clientId} + </select> + + <!--鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍒楄〃--> + <select id="getOperateRecordsByCardNum" resultType="java.util.HashMap"> + SELECT * FROM v_operate WHERE cardNum = ${cardNum} + </select> + + <!--鏍规嵁姘村崱缂栧彿鑾峰彇浣欓--> + <select id="getMoneyByCardNum" resultType="java.lang.Float"> + SELECT money FROM se_client_card WHERE cardNum = ${cardNum} + </select> + + <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍏呭�兼�婚--> + <select id="sumRechargeByCardNum" resultType="java.lang.Float"> + SELECT + SUM(his.amount) AS amount + FROM se_recharge_history his + INNER JOIN se_client_card card ON his.cardId = card.id + WHERE card.cardNum = ${cardNum} + </select> + + <!--鏍规嵁姘村崱缂栧彿鑾峰彇鍗$墖鐘舵�侊細1-寮�鍗★紝2-琛ュ崱锛�3-鍏呭�硷紝4-鎸傚け锛�5-娉ㄩ攢锛�6-瑙i攣锛�7-鍐叉锛�8-娑堣垂--> + <select id="getCardStateByCardNum" resultType="java.lang.String"> + SELECT + (CASE + WHEN lastOper = 1 THEN "寮�鍗�" + WHEN lastOper = 2 THEN "琛ュ崱" + WHEN lastOper = 3 THEN "鍏呭��" + WHEN lastOper = 4 THEN "鎸傚け" + WHEN lastOper = 5 THEN "娉ㄩ攢" + WHEN lastOper = 6 THEN "瑙i攣" + WHEN lastOper = 7 THEN "鍐叉" + WHEN lastOper = 8 THEN "娑堣垂" + END) AS stateName + FROM se_client_card + WHERE cardNum = ${cardNum} + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml index ce8f63e..c41166f 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml @@ -11,12 +11,14 @@ <result column="blockId" jdbcType="BIGINT" property="blockid" /> <result column="divideId" jdbcType="BIGINT" property="divideid" /> <result column="name" jdbcType="VARCHAR" property="name" /> + <result column="virtualId" jdbcType="BIGINT" property="virtualid" /> <result column="clientNum" jdbcType="VARCHAR" property="clientnum" /> <result column="districtNum" jdbcType="BIGINT" property="districtnum" /> <result column="districtTitle" jdbcType="VARCHAR" property="districttitle" /> <result column="phone" jdbcType="VARCHAR" property="phone" /> <result column="idCard" jdbcType="VARCHAR" property="idcard" /> <result column="area" jdbcType="DOUBLE" property="area" /> + <result column="typeId" jdbcType="BIGINT" property="typeid" /> <result column="address" jdbcType="VARCHAR" property="address" /> <result column="remarks" jdbcType="VARCHAR" property="remarks" /> <result column="operator" jdbcType="BIGINT" property="operator" /> @@ -26,9 +28,9 @@ </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, countyId, townId, villageId, blockId, divideId, `name`, clientNum, districtNum, - districtTitle, phone, idCard, area, address, remarks, `operator`, operateDt, disabled, - deleted + id, countyId, townId, villageId, blockId, divideId, `name`, virtualId, clientNum, + districtNum, districtTitle, phone, idCard, area, typeId, address, remarks, `operator`, + operateDt, disabled, deleted </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <!--@mbg.generated--> @@ -42,23 +44,27 @@ delete from se_client where id = #{id,jdbcType=BIGINT} </delete> + <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClient"> <!--@mbg.generated--> insert into se_client (id, countyId, townId, villageId, blockId, divideId, - `name`, clientNum, districtNum, - districtTitle, phone, idCard, - area, address, remarks, - `operator`, operateDt, disabled, - deleted) + `name`, virtualId, clientNum, + districtNum, districtTitle, phone, + idCard, area, typeId, + address, remarks, `operator`, + operateDt, disabled, deleted + ) values (#{id,jdbcType=BIGINT}, #{countyid,jdbcType=BIGINT}, #{townid,jdbcType=BIGINT}, #{villageid,jdbcType=BIGINT}, #{blockid,jdbcType=BIGINT}, #{divideid,jdbcType=BIGINT}, - #{name,jdbcType=VARCHAR}, #{clientnum,jdbcType=VARCHAR}, #{districtnum,jdbcType=BIGINT}, - #{districttitle,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{idcard,jdbcType=VARCHAR}, - #{area,jdbcType=DOUBLE}, #{address,jdbcType=VARCHAR}, #{remarks,jdbcType=VARCHAR}, - #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}, #{disabled,jdbcType=TINYINT}, - #{deleted,jdbcType=TINYINT}) + #{name,jdbcType=VARCHAR}, #{virtualid,jdbcType=BIGINT}, #{clientnum,jdbcType=VARCHAR}, + #{districtnum,jdbcType=BIGINT}, #{districttitle,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, + #{idcard,jdbcType=VARCHAR}, #{area,jdbcType=DOUBLE}, #{typeid,jdbcType=BIGINT}, + #{address,jdbcType=VARCHAR}, #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, + #{operatedt,jdbcType=TIMESTAMP}, #{disabled,jdbcType=TINYINT}, #{deleted,jdbcType=TINYINT} + ) </insert> + <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClient"> <!--@mbg.generated--> insert into se_client @@ -84,6 +90,9 @@ <if test="name != null"> `name`, </if> + <if test="virtualid != null"> + virtualId, + </if> <if test="clientnum != null"> clientNum, </if> @@ -101,6 +110,9 @@ </if> <if test="area != null"> area, + </if> + <if test="typeid != null"> + typeId, </if> <if test="address != null"> address, @@ -143,6 +155,9 @@ <if test="name != null"> #{name,jdbcType=VARCHAR}, </if> + <if test="virtualid != null"> + #{virtualid,jdbcType=BIGINT}, + </if> <if test="clientnum != null"> #{clientnum,jdbcType=VARCHAR}, </if> @@ -160,6 +175,9 @@ </if> <if test="area != null"> #{area,jdbcType=DOUBLE}, + </if> + <if test="typeid != null"> + #{typeid,jdbcType=BIGINT}, </if> <if test="address != null"> #{address,jdbcType=VARCHAR}, @@ -203,6 +221,9 @@ <if test="name != null"> `name` = #{name,jdbcType=VARCHAR}, </if> + <if test="virtualid != null"> + virtualId = #{virtualid,jdbcType=BIGINT}, + </if> <if test="clientnum != null"> clientNum = #{clientnum,jdbcType=VARCHAR}, </if> @@ -220,6 +241,9 @@ </if> <if test="area != null"> area = #{area,jdbcType=DOUBLE}, + </if> + <if test="typeid != null"> + typeId = #{typeid,jdbcType=BIGINT}, </if> <if test="address != null"> address = #{address,jdbcType=VARCHAR}, @@ -251,17 +275,18 @@ blockId = #{blockid,jdbcType=BIGINT}, divideId = #{divideid,jdbcType=BIGINT}, `name` = #{name,jdbcType=VARCHAR}, +<!-- virtualId = #{virtualid,jdbcType=BIGINT},--> clientNum = #{clientnum,jdbcType=VARCHAR}, districtNum = #{districtnum,jdbcType=BIGINT}, districtTitle = #{districttitle,jdbcType=VARCHAR}, phone = #{phone,jdbcType=VARCHAR}, idCard = #{idcard,jdbcType=VARCHAR}, area = #{area,jdbcType=DOUBLE}, + typeId = #{typeid,jdbcType=BIGINT}, address = #{address,jdbcType=VARCHAR}, remarks = #{remarks,jdbcType=VARCHAR}, `operator` = #{operator,jdbcType=BIGINT}, - operateDt = #{operatedt,jdbcType=TIMESTAMP} -<!-- ,--> + operateDt = #{operatedt,jdbcType=TIMESTAMP}, <!-- disabled = #{disabled,jdbcType=TINYINT},--> <!-- deleted = #{deleted,jdbcType=TINYINT}--> where id = #{id,jdbcType=BIGINT} @@ -283,18 +308,22 @@ FROM se_client cli , (SELECT @i:=0) AS itable <where> - AND disabled = 0 - AND deleted = 0 + AND cli.disabled = 0 + AND cli.deleted = 0 <if test = "name != null and name !=''"> - AND name like CONCAT('%',#{name},'%') + AND cli.name like CONCAT('%',#{name},'%') </if> - <if test = "num != null and num !=''"> - AND clientNum like CONCAT('%',#{num},'%') + <if test = "clientNum != null and clientNum !=''"> + AND cli.clientNum like CONCAT('%',#{clientNum},'%') </if> <if test = "phone != null and phone !=''"> - AND phone like CONCAT('%',#{phone},'%') + AND cli.phone like CONCAT('%',#{phone},'%') + </if> + + <if test = "address != null and address !=''"> + AND cli.address like CONCAT('%',#{address},'%') </if> </where> @@ -305,35 +334,56 @@ <select id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient"> SELECT (@i:=@i+1) AS id, - name, - clientNum, - phone, - idCard, - (SELECT COUNT(*) FROM se_client_card WHERE clientNum = cli.clientNum) AS cardCount, - address, - operateDt + CAST(cli.countyId AS char) AS countyId, + dis_con.name AS countryName, + CAST(cli.townId AS char) AS townId, + dis_town.name AS townName, + CAST(cli.villageId AS char) AS villageId, + dis_village.name AS villageName, + CAST(cli.blockId AS char) AS blockId, + blo.name AS bolckName, + CAST(cli.divideId AS char) AS divideId, + divi.name AS divideName, + CAST(cli.typeId AS char) AS waterTypeId, + wat.typeName AS waterTypeName, + CAST(cli.id AS char) AS clientId, + cli.name, + cli.clientNum, + cli.phone, + cli.idCard, + cli.area, + (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id) AS cardCount, + cli.address, + cli.remarks, + cli.operateDt FROM se_client cli - , (SELECT @i:=0) AS itable + LEFT JOIN ba_district dis_con ON cli.countyId = dis_con.id + LEFT JOIN ba_district dis_town ON cli.townId = dis_town.id + LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id + LEFT JOIN ba_block blo ON cli.blockId = blo.id + LEFT JOIN pr_divide divi ON cli.divideId = divi.id + LEFT JOIN se_water_type wat ON cli.typeId = wat.id + , (SELECT @i:=0) AS itable <where> - AND disabled = 0 - AND deleted = 0 + AND cli.disabled = 0 + AND cli.deleted = 0 <if test = "name != null and name !=''"> - AND name like CONCAT('%',#{name},'%') + AND cli.name like CONCAT('%',#{name},'%') </if> <if test = "clientNum != null and clientNum !=''"> - AND clientNum like CONCAT('%',#{clientNum},'%') + AND cli.clientNum like CONCAT('%',#{clientNum},'%') </if> <if test = "phone != null and phone !=''"> - AND phone like CONCAT('%',#{phone},'%') + AND cli.phone like CONCAT('%',#{phone},'%') </if> <if test = "address != null and address !=''"> - AND address like CONCAT('%',#{address},'%') + AND cli.address like CONCAT('%',#{address},'%') </if> </where> - ORDER BY operateDt DESC + ORDER BY cli.operateDt DESC <if test="pageCurr != null and pageSize != null"> LIMIT ${pageCurr}, ${pageSize} </if> @@ -363,4 +413,188 @@ <select id="getVillageIdById" parameterType="java.lang.Long" resultType="java.lang.Long"> SELECT villageId FROM se_client WHERE id = ${id} </select> + + <!--鑾峰彇铏氭嫙鍗″彿鏈�澶у��--> + <select id="getMa1xVirtualId" resultType="java.lang.Long"> + SELECT virtualId FROM se_client ORDER BY id DESC LIMIT 0,1 + </select> + + <!--鑾峰彇鐢ㄦ按鏂瑰紡鍒楄〃--> + <select id="getWaterTypes" resultType="java.util.Map"> + SELECT id, typeName from se_water_type + </select> + + <!-- 涓嬪垪鍐呭涓轰氦鏄撴槑缁嗘煡璇� --> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨��--> + <select id="getSums" resultType="java.util.Map"> + SELECT + SUM(money) AS money, + SUM(cardCost) AS cardCost + FROM v_operate + <where> + <if test = "villageId != null and villageId > 0"> + AND villageId = ${villageId} + </if> + + <if test = "paymentId != null and paymentId >0"> + AND paymentId = ${paymentId} + </if> + + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�--> + <select id="getOperateRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM v_operate + <where> + <if test = "villageId != null and villageId > 0"> + AND villageId = ${villageId} + </if> + + <if test = "paymentId != null and paymentId >0"> + AND paymentId = ${paymentId} + </if> + + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍--> + <select id="getOperates" resultType="com.dy.pipIrrGlobal.voSe.VoOperate"> + SELECT + villageId, + districtTitle, + clientNum, + `name`, + cardNum, + idCard, + phone, + money, + cardCost, + paymentId, + paymentMethod, + operateType, + operateDt, + operatorName + FROM v_operate + <where> + <if test = "villageId != null and villageId > 0"> + AND villageId = ${villageId} + </if> + + <if test = "paymentId != null and paymentId >0"> + AND paymentId = ${paymentId} + </if> + + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + ORDER BY operateDt + <if test="pageCurr != null and pageSize != null"> + LIMIT ${pageCurr}, ${pageSize} + </if> + </select> + + <!-- 涓嬪垪鍐呭涓轰氦鏄撶粺璁℃煡璇� --> + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗绗旀暟姹囨�诲拰浜ゆ槗閲戦姹囨��--> + <select id="getStatisticSums" resultType="java.util.Map"> + SELECT + SUM(count) AS count, + SUM(money) AS money + FROM + ( + SELECT + villageId, + districtTitle, + operateType, + operateDt, + count(*) AS count, + (sum(money) + sum(cardCost)) AS money + FROM v_operate + <where> + <if test = "villageId != null and villageId > 0"> + AND villageId = ${villageId} + </if> + +<!-- <if test = "paymentId != null and paymentId >0">--> +<!-- AND paymentId = ${paymentId}--> +<!-- </if>--> + + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + GROUP BY villageId, districtTitle, operateType, operateDt + ) temp + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姹囨�昏褰曟暟--> + <select id="getStatisticRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM + ( + SELECT + villageId, + districtTitle, + operateType, + operateDt, + count(*) AS count, + (sum(money) + sum(cardCost)) AS money + FROM v_operate + <where> + <if test = "villageId != null and villageId > 0"> + AND villageId = ${villageId} + </if> + +<!-- <if test = "paymentId != null and paymentId >0">--> +<!-- AND paymentId = ${paymentId}--> +<!-- </if>--> + + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + GROUP BY villageId, districtTitle, operateType, operateDt + ) temp + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍--> + <select id="getStatistics" resultType="com.dy.pipIrrGlobal.voSe.VoStatistics"> + SELECT + villageId, + districtTitle, + operateType, + operateDt, + count(*) AS count, + (sum(money) + sum(cardCost)) AS money + FROM v_operate + <where> + <if test = "villageId != null and villageId > 0"> + AND villageId = ${villageId} + </if> + +<!-- <if test = "paymentId != null and paymentId >0">--> +<!-- AND paymentId = ${paymentId}--> +<!-- </if>--> + + <if test = "operateTimeStart != null and operateTimeStop != null"> + AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + </where> + GROUP BY villageId, districtTitle, operateType, operateDt + ORDER BY operateDt + <if test="pageCurr != null and pageSize != null"> + LIMIT ${pageCurr}, ${pageSize} + </if> + </select> + </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java index ddfb760..aa5f651 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/com/CommandCtrl.java @@ -1,5 +1,6 @@ package com.dy.aceMw.web.com; +import com.dy.aceMw.server.ServerProperties; import com.dy.aceMw.server.forTcp.TcpSessionCache; import com.dy.aceMw.server.local.CommandInnerDeaLer; import com.dy.aceMw.server.local.ReturnCommand; @@ -97,7 +98,9 @@ if(onLine == null){ return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孯TU锛堝湴鍧�=" + rtuAddr + "锛夋湭涓婄嚎锛�", command.getId(), command.getCode())) ; }else if(!onLine.booleanValue()){ - return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孯TU锛堝湴鍧�=" + rtuAddr + "锛夌绾匡紒", command.getId(), command.getCode())) ; + if(!ServerProperties.isLowPower){ + return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孯TU锛堝湴鍧�=" + rtuAddr + "锛夌绾匡紒", command.getId(), command.getCode())) ; + } } //鐢熸垚寮傛浠诲姟 @@ -114,21 +117,4 @@ return BaseResponseUtils.buildSuccess(ReturnCommand.successed("鍛戒护宸叉帴鍙楋紝鍗冲皢鏋勯�犲苟涓嬪彂鍛戒护銆�", command.getId(), command.getCode())); } - /** - * 鏀跺埌鍛戒护缁撴灉 - * @param command - private void dealCommandResult(String jgSenderName, Command command){ - Object obj = command.getParam() ; - if(obj != null){ - CommandBackParam p = (CommandBackParam)obj ; - if(p.getSuccess()){ - log.info("鍛戒护" + (command.getId().equals(Command.defaultId)?"":("(id=" + command.getId() + ")")) + "鎵ц鎴愬姛" - + (p.getMessage() == null?"":(p.getMessage().equals("")?"":("锛�" + p.getMessage())))); - }else{ - log.error("鍛戒护" + (command.getId().equals(Command.defaultId)?"":("(id=" + command.getId() + ")")) + "鎵ц澶辫触" - + (p.getMessage() == null?"":(p.getMessage().equals("")?"":("锛�" + p.getMessage())))); - } - } - } - */ } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/comResult/CommandResultDeal.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/comResult/CommandResultDeal.java index 4a7bbb6..a162640 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/comResult/CommandResultDeal.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/web/comResult/CommandResultDeal.java @@ -28,7 +28,6 @@ this.restTemplate = restTemplate ; } - public void deal(Data data) { if (data.rtuResultSendWebUrl != null && data.rtuResultSendWebUrl.trim().equals("")) { String url = UriComponentsBuilder.fromUriString(data.rtuResultSendWebUrl) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java index 942eba6..341e897 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java @@ -7,7 +7,6 @@ import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.pojoBa.BaBlock; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -77,7 +76,7 @@ }) @PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<QueryResultVo<List<BaBlock>>> some(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) QueryVo vo){ + public BaseResponse<QueryResultVo<List<BaBlock>>> some(@RequestBody QueryVo vo){ try { QueryResultVo<List<BaBlock>> res = this.sv.selectSome(vo) ; return BaseResponseUtils.buildSuccess(res); @@ -102,7 +101,7 @@ }) @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<BaBlock> one(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<BaBlock> one(Long id){ return BaseResponseUtils.buildSuccess(this.sv.selectById(id)); } @@ -122,7 +121,7 @@ }) @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> save(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaBlock po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> save(@RequestBody @Valid BaBlock po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -157,7 +156,7 @@ }) @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaBlock po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> update(@RequestBody @Valid BaBlock po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -195,7 +194,7 @@ }) @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> delete(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<Boolean> delete(Long id){ if(id == null){ return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖") ; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/client/ClientCtrl.java index b3967ff..0979aad 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/client/ClientCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/client/ClientCtrl.java @@ -8,7 +8,6 @@ import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.pojoBa.BaClient; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -53,7 +52,7 @@ }) @PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<QueryResultVo<List<BaClient>>> some(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) QueryVo vo){ + public BaseResponse<QueryResultVo<List<BaClient>>> some(@RequestBody QueryVo vo){ try { QueryResultVo<List<BaClient>> res = this.sv.selectSome(vo) ; return BaseResponseUtils.buildSuccess(res); @@ -78,7 +77,7 @@ }) @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<BaClient> one(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<BaClient> one(Long id){ return BaseResponseUtils.buildSuccess(this.sv.selectById(id)); } @@ -98,7 +97,7 @@ }) @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> save(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaClient po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> save(@RequestBody @Valid BaClient po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -133,7 +132,7 @@ }) @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaClient po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> update(@RequestBody @Valid BaClient po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -171,7 +170,7 @@ }) @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> delete(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<Boolean> delete(Long id){ if(id == null){ return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖") ; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/clientType/ClientTypeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/clientType/ClientTypeCtrl.java index 74829e8..01a550a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/clientType/ClientTypeCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/clientType/ClientTypeCtrl.java @@ -9,7 +9,6 @@ import com.dy.pipIrrBase.user.QueryVo; import com.dy.pipIrrGlobal.pojoBa.BaClientType; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -79,7 +78,7 @@ }) @PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<QueryResultVo<List<BaClientType>>> some(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) @Valid QueryVo vo){ + public BaseResponse<QueryResultVo<List<BaClientType>>> some(@RequestBody @Valid QueryVo vo){ try { QueryResultVo<List<BaClientType>> res = this.sv.selectSome(vo) ; return BaseResponseUtils.buildSuccess(res); @@ -104,7 +103,7 @@ }) @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<BaClientType> one(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<BaClientType> one(Long id){ return BaseResponseUtils.buildSuccess(this.sv.selectById(id)); } @@ -124,7 +123,7 @@ }) @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> save(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaClientType po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> save(@RequestBody @Valid BaClientType po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -159,7 +158,7 @@ }) @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaClientType po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> update(@RequestBody @Valid BaClientType po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -197,7 +196,7 @@ }) @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> delete(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<Boolean> delete(Long id){ if(id == null){ return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖") ; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java index 68d6bf0..dbec7d5 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java @@ -4,11 +4,12 @@ import com.dy.common.mybatis.envm.Deleted; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; +import com.dy.pipIrrGlobal.pojoBa.BaClient; import com.dy.pipIrrGlobal.pojoBa.BaDistrict; import com.dy.pipIrrGlobal.util.DistrictLevel; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -21,8 +22,7 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; -import java.util.List; -import java.util.Objects; +import java.util.*; @Slf4j @Tag(name = "琛屾斂鍖哄垝绠$悊", description = "琛屾斂鍖哄垝澧炲垹鏀规煡绛夋搷浣�") @@ -92,7 +92,7 @@ }) @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<BaDistrict> one(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<BaDistrict> one(Long id){ return BaseResponseUtils.buildSuccess(this.sv.selectById(id)); } @@ -112,7 +112,7 @@ }) @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> save(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DistrictVo vo, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> save(@RequestBody @Valid DistrictVo vo, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -154,7 +154,7 @@ }) @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DistrictVo vo, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> update(@RequestBody @Valid DistrictVo vo, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -190,7 +190,7 @@ }) @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> delete(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<Boolean> delete(Long id){ if(id == null){ return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖") ; } @@ -207,4 +207,60 @@ return BaseResponseUtils.buildSuccess(true) ; } } + + /** + * 鏍规嵁绾у埆鑾峰彇琛屾斂鍖哄垝鍒楄〃 + * @param id + * @return + */ + @Operation(summary = "鑾峰緱琛屾斂鍖哄垝鍒楄〃", description = "杩斿洖琛屾斂鍖哄垝鍒楄〃") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "/level/{id}") + @SsoAop() + public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getDistrictgsByLevel(@PathVariable("id") Integer id){ + if(id == null || id <= 0){ + return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖") ; + } + + List<Map<String, Object>> map_Districts = Optional.ofNullable(sv.getDistrictgsByLevel(id)).orElse(new ArrayList<>()); + if(map_Districts == null || map_Districts.size() == 0) { + return BaseResponseUtils.buildFail("鎮ㄨ緭鍏ョ殑灞傜骇鏈夎") ; + } + return BaseResponseUtils.buildSuccess(map_Districts); + } + + /** + * 鏍规嵁鐖禝D鑾峰彇琛屾斂鍖哄垝鍒楄〃 + * @param supperId + * @return + */ + @Operation(summary = "鑾峰緱琛屾斂鍖哄垝鍒楄〃", description = "杩斿洖琛屾斂鍖哄垝鍒楄〃") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "/supperid/{supperId}") + @SsoAop() + public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getDistrictsBySupperId(@PathVariable("supperId") Long supperId){ + if(supperId == null || supperId <= 0){ + return BaseResponseUtils.buildFail("鐖禝D涓嶈兘涓虹┖") ; + } + + List<Map<String, Object>> map_Districts = Optional.ofNullable(sv.getDistrictsBySupperId(supperId)).orElse(new ArrayList<>()); + if(map_Districts == null || map_Districts.size() == 0) { + return BaseResponseUtils.buildFail("鎮ㄨ緭鍏ョ殑鐖剁骇ID鏈夎") ; + } + return BaseResponseUtils.buildSuccess(map_Districts); + } } 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 73c23fc..33f880e 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 @@ -9,6 +9,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Map; @Slf4j @Service @@ -98,4 +99,22 @@ } } } + + /** + * 鏍规嵁绾у埆鑾峰彇琛屾斂鍖哄垝鍒楄〃 + * @param level + * @return + */ + public List<Map<String, Object>> getDistrictgsByLevel(Integer level) { + return dao.getDistrictgsByLevel(level); + } + + /** + * 鏍规嵁鐖禝D鑾峰彇琛屾斂鍖哄垝鍒楄〃 + * @param supperId + * @return + */ + public List<Map<String, Object>> getDistrictsBySupperId(Long supperId) { + return dao.getDistrictsBySupperId(supperId); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/divide/DivideCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/divide/DivideCtrl.java index 8256285..4ad3396 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/divide/DivideCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/divide/DivideCtrl.java @@ -7,7 +7,6 @@ import com.dy.common.webUtil.ResultCodeMsg; import com.dy.pipIrrGlobal.pojoBa.BaDivide; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -76,7 +75,7 @@ }) @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<BaDivide> one(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<BaDivide> one(Long id){ return BaseResponseUtils.buildSuccess(this.sv.selectById(id)); } /** @@ -94,7 +93,7 @@ }) @PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<QueryResultVo<List<BaDivide>>> some(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) DivideVo vo){ + public BaseResponse<QueryResultVo<List<BaDivide>>> some(@RequestBody DivideVo vo){ try { QueryResultVo<List<BaDivide>> res = this.sv.selectSome(vo) ; return BaseResponseUtils.buildSuccess(res); @@ -120,7 +119,7 @@ }) @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> save(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaDivide po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> save(@RequestBody @Valid BaDivide po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -154,7 +153,7 @@ }) @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaDivide po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> update(@RequestBody @Valid BaDivide po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -192,7 +191,7 @@ }) @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> delete(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<Boolean> delete(Long id){ if(id == null){ return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖") ; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java index 67f1606..23dd172 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java @@ -11,7 +11,6 @@ import com.dy.pipIrrGlobal.pojoBa.BaRole; import com.dy.pipIrrGlobal.pojoBa.BaRolePermissions; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -26,7 +25,9 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; -import java.util.*; +import java.util.List; +import java.util.Objects; +import java.util.Optional; @Slf4j @Tag(name = "瑙掕壊绠$悊", description = "瑙掕壊澧炲垹鏀规煡绛夋搷浣�") @@ -84,7 +85,7 @@ }) @PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<QueryResultVo<List<BaRole>>> some(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) @Valid QueryVo vo){ + public BaseResponse<QueryResultVo<List<BaRole>>> some(@RequestBody @Valid QueryVo vo){ try { QueryResultVo<List<BaRole>> res = this.sv.selectSome(vo) ; return BaseResponseUtils.buildSuccess(res); @@ -109,7 +110,7 @@ }) @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<BaRole> one(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<BaRole> one(Long id){ return BaseResponseUtils.buildSuccess(this.sv.selectById(id)); } @@ -129,7 +130,7 @@ }) @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> save(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaRole po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> save(@RequestBody @Valid BaRole po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -165,7 +166,7 @@ }) @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaRole po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> update(@RequestBody @Valid BaRole po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -205,8 +206,7 @@ }) @GetMapping(path = "setPrivs", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> setPrivileges(@Parameter(description = "瀹炰綋id", required = true) Long id, - @Parameter(description = "鏉冮檺id鏁扮粍") Long[] privIds){ + public BaseResponse<Boolean> setPrivileges(Long id, Long[] privIds){ Long[] privIds_lg = null ; if(privIds != null && privIds.length > 0){ privIds_lg = new Long[privIds.length] ; @@ -239,7 +239,7 @@ }) @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> delete(@Parameter(description = "瀹炰綋id", required = true) Long id){ + public BaseResponse<Boolean> delete(Long id){ if(id == null){ return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖") ; } @@ -269,7 +269,7 @@ @PostMapping(path = "addPermissions", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> permission(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaRolePermissions po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> permission(@RequestBody @Valid BaRolePermissions po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java index 01659c6..1d7f0ab 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserCtrl.java @@ -14,7 +14,6 @@ import com.dy.pipIrrGlobal.voBa.VoUserInfo; import com.mysql.cj.util.StringUtils; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -90,7 +89,7 @@ }) @PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<QueryResultVo<List<BaUser>>> some(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) @Valid QueryVo vo) { + public BaseResponse<QueryResultVo<List<BaUser>>> some(@RequestBody @Valid QueryVo vo) { try { QueryResultVo<List<BaUser>> res = this.sv.selectSome(vo); return BaseResponseUtils.buildSuccess(res); @@ -116,7 +115,7 @@ }) @GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<BaUser> one(@Parameter(description = "瀹炰綋id", required = true) String id) { + public BaseResponse<BaUser> one(String id) { return BaseResponseUtils.buildSuccess(this.sv.selectById(Long.parseLong(id))); } @@ -137,7 +136,7 @@ }) @PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> save(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaUser po, @Parameter(hidden = true) BindingResult bindingResult) { + public BaseResponse<Boolean> save(@RequestBody @Valid BaUser po, BindingResult bindingResult) { if (bindingResult != null && bindingResult.hasErrors()) { return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -187,7 +186,7 @@ }) @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid BaUser po, @Parameter(hidden = true) BindingResult bindingResult) { + public BaseResponse<Boolean> update(@RequestBody @Valid BaUser po, BindingResult bindingResult) { if (bindingResult != null && bindingResult.hasErrors()) { return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -230,9 +229,7 @@ }) @GetMapping(path = "changePassword", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> changePassword(@Parameter(description = "瀹炰綋id", required = true) String id, - @Parameter(description = "鏃у瘑鐮�", required = true) String oldPassword, - @Parameter(description = "鏂板瘑鐮�", required = true) String newPassword) throws Exception { + public BaseResponse<Boolean> changePassword(String id, String oldPassword, String newPassword) throws Exception { if (id == null) { return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖"); } @@ -290,7 +287,7 @@ }) @PostMapping(path = "resetPassword", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() - public BaseResponse<Boolean> resetPassword(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) ResetPasswordVo vo) throws Exception { + public BaseResponse<Boolean> resetPassword(@RequestBody ResetPasswordVo vo) throws Exception { if (vo.id == null) { return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖"); } @@ -332,7 +329,7 @@ }) @GetMapping(path = "resetPasswordByDefault", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> resetPasswordByDefault(@Parameter(description = "瀹炰綋id", required = true) String id) throws Exception { + public BaseResponse<Boolean> resetPasswordByDefault(String id) throws Exception { if (id == null) { return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖"); } @@ -375,7 +372,7 @@ }) @GetMapping(path = "resetPasswordByRandom", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<String> resetPasswordByRandom(@Parameter(description = "瀹炰綋id", required = true) String id) throws Exception { + public BaseResponse<String> resetPasswordByRandom(String id) throws Exception { if (id == null) { return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖"); } @@ -420,7 +417,7 @@ }) @GetMapping(path = "setRoles", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> setRoles(@Parameter(description = "瀹炰綋id", required = true) String id, + public BaseResponse<Boolean> setRoles(String id, @Parameter(description = "瑙掕壊id鏁扮粍") String[] roleIds) { Long[] roleId_lg = null; if (roleIds != null && roleIds.length > 0) { @@ -457,7 +454,7 @@ }) @GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE) @SsoAop() - public BaseResponse<Boolean> delete(@Parameter(description = "瀹炰綋id", required = true) String id) { + public BaseResponse<Boolean> delete(String id) { if (id == null) { return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖"); } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java index f46ea6a..f73cd42 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java @@ -18,7 +18,7 @@ @EnableAspectJAutoProxy @EnableMultiDataSource @ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.pipIrrProject"}) -@MapperScan({"com.dy.pipIrrGlobal.daoPr"}) +@MapperScan({"com.dy.pipIrrGlobal.daoPr", "com.dy.pipIrrGlobal.daoBa"}) public class PipIrrProjectApplication { public static void main(String[] args) { diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerCtrl.java new file mode 100644 index 0000000..fe5f6b9 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerCtrl.java @@ -0,0 +1,71 @@ +package com.dy.pipIrrProject.controller; + +import com.dy.common.aop.SsoAop; +import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.ResultCodeMsg; +import com.dy.pipIrrGlobal.pojoPr.PrController; +import com.dy.pipIrrProject.result.ProjectResultCode; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.MediaType; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; +import java.util.Objects; +import java.util.Optional; + +/** + * @author ZhuBaoMin + * @date 2023-12-29 10:06 + * @LastEditTime 2023-12-29 10:06 + * @Description + */ + +@Slf4j +@Tag(name = "鎺у埗鍣ㄧ鐞�", description = "鎺у埗鍣ㄦ搷浣�") +@RestController +@RequestMapping(path="controller") +@RequiredArgsConstructor +public class ControllerCtrl { + private final ControllerSv controllerSv; + + @Operation(summary = "娣诲姞鎺у埗鍣ㄨ褰�", description = "娣诲姞鎺у埗鍣ㄨ褰�") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = Boolean.class))} + ) + }) + @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> add(@RequestBody @Valid PrController po, BindingResult bindingResult){ + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + Date operateTime = new Date(); + po.setOperatedt(operateTime); + po.setDeleted((byte)0); + Integer rec = Optional.ofNullable(controllerSv.addController(po)).orElse(0); + if(rec == 0) { + return BaseResponseUtils.buildFail(ProjectResultCode.CONTROLLER_FAIL.getMessage()); + } + return BaseResponseUtils.buildSuccess(true) ; + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java new file mode 100644 index 0000000..717429e --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/ControllerSv.java @@ -0,0 +1,30 @@ +package com.dy.pipIrrProject.controller; + +import com.dy.pipIrrGlobal.daoPr.PrControllerMapper; +import com.dy.pipIrrGlobal.pojoPr.PrController; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author ZhuBaoMin + * @date 2023-12-29 10:06 + * @LastEditTime 2023-12-29 10:06 + * @Description + */ + +@Slf4j +@Service +public class ControllerSv { + @Autowired + private PrControllerMapper prControllerMapper; + + /** + * 娣诲姞鎺у埗鍣� + * @param po + * @return + */ + public Integer addController(PrController po) { + return prControllerMapper.insert(po); + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/QueryVo.java new file mode 100644 index 0000000..d52f49c --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/QueryVo.java @@ -0,0 +1,10 @@ +package com.dy.pipIrrProject.controller; + +/** + * @author ZhuBaoMin + * @date 2023-12-29 10:07 + * @LastEditTime 2023-12-29 10:07 + * @Description + */ +public class QueryVo { +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java index f6d2a12..9f07908 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java @@ -7,12 +7,12 @@ import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.common.webUtil.ResultCodeMsg; +import com.dy.pipIrrGlobal.pojoBa.BaClient; import com.dy.pipIrrGlobal.pojoPr.PrDivide; import com.dy.pipIrrGlobal.voPr.VoDivide; import com.dy.pipIrrGlobal.voSe.VoActiveCard; import com.dy.pipIrrProject.result.ProjectResultCode; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -32,11 +32,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.time.format.DateTimeFormatter; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.Optional; +import java.util.*; /** * @author ZhuBaoMin @@ -53,6 +49,11 @@ public class DivideCtrl { private final DivideSv divideSv; + /** + * 鍒嗛〉鑾峰彇鍒嗘按鎴胯褰� + * @param vo + * @return + */ @Operation(summary = "鑾峰緱涓�椤靛垎姘存埧璁板綍", description = "杩斿洖涓�椤靛垎姘存埧鏁版嵁") @ApiResponses(value = { @ApiResponse( @@ -62,9 +63,9 @@ schema = @Schema(implementation = VoActiveCard.class))} ) }) - @GetMapping(path = "/getDivides", consumes = MediaType.APPLICATION_JSON_VALUE) + @GetMapping(path = "/getDivides") @SsoAop() - public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) QueryVo vo){ + public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(QueryVo vo){ try { QueryResultVo<List<VoDivide>> res = divideSv.getDivides(vo); return BaseResponseUtils.buildSuccess(res); @@ -74,6 +75,38 @@ } } + /** + * 鏍规嵁鍒嗘按鎴夸富閿幏鍙栧垎姘存埧瀵硅薄 + * @param id + * @return + */ + @Operation(summary = "鑾峰緱涓�涓垎姘存埧", description = "杩斿洖涓�涓垎姘存埧鏁版嵁") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "/getone/{id}") + @SsoAop() + public BaseResponse<PrDivide> getOneDivide(@PathVariable("id") Long id){ + try { + PrDivide res = divideSv.getOneDivide(id); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鏌ヨ鍐滄埛寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + /** + * 娣诲姞鍒嗘按鎴胯褰� + * @param po + * @param bindingResult + * @return + */ @Operation(summary = "娣诲姞鍒嗘按鎴胯褰�", description = "娣诲姞鍒嗘按鎴胯褰�") @ApiResponses(value = { @ApiResponse( @@ -86,14 +119,29 @@ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid PrDivide po, @Parameter(hidden = true) BindingResult bindingResult){ - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + public BaseResponse<Boolean> add(@RequestBody @Valid PrDivide po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } + // 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛� + Long villageId = po.getVillageid(); + + /** + * 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭� + */ + Map map_districts = Optional.ofNullable(divideSv.getDistrictsByVillageId(villageId)).orElse(new HashMap()); + if(map_districts.size() <= 0) { + return BaseResponseUtils.buildFail("鍖哄垝淇℃伅鏈夎"); + } + + Long countryId = Long.parseLong(map_districts.get("countryId").toString()); + Long townId = Long.parseLong(map_districts.get("townId").toString()); + po.setCountyid(countryId); + po.setTownid(townId); Date operateTime = new Date(); po.setOperatedt(operateTime); + po.setDeleted((byte)0); Integer rec = Optional.ofNullable(divideSv.addDivide(po)).orElse(0); if(rec == 0) { return BaseResponseUtils.buildFail(ProjectResultCode.DIVIDE_FAIL.getMessage()); @@ -101,6 +149,85 @@ return BaseResponseUtils.buildSuccess(true) ; } + /** + * 鏍规嵁鍒嗘按鎴縄D閫昏緫鍒犻櫎鍒嗘按鎴� + * @param id + * @return + */ + @Operation(summary = "鍒犻櫎涓�涓垎姘存埧", description = "鍒犻櫎涓�涓垎姘存埧鏁版嵁") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + + @GetMapping(path = "/delone/{id}") + @SsoAop() + public BaseResponse<Boolean> deleteDivideById(@PathVariable("id") Long id){ + try { + Integer res = Optional.ofNullable(divideSv.deleteDivideById(id)).orElse(0); + if(res == 0) { + return BaseResponseUtils.buildFail("鍒嗘按鎴垮垹闄ゅけ璐�"); + } + return BaseResponseUtils.buildSuccess(true); + } catch (Exception e) { + log.error("鍒犻櫎鍒嗘按鎴垮紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + /** + * 淇敼鍒嗘按鎴� + * @param po + * @param bindingResult + * @return + */ + @Operation(summary = "淇敼鍒嗘按鎴胯褰�", description = "淇敼鍒嗘按鎴胯褰�") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "鎿嶄綔缁撴灉锛歵rue锛氭垚鍔燂紝false锛氬け璐ワ紙BaseResponse.content锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = Boolean.class))} + ) + }) + @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) + @Transactional(rollbackFor = Exception.class) + @SsoAop() + public BaseResponse<Boolean> update(@RequestBody @Valid PrDivide po, BindingResult bindingResult){ + if(bindingResult != null && bindingResult.hasErrors()){ + return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); + } + + // 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛� + Long villageId = po.getVillageid(); + + /** + * 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭� + */ + Map map_districts = Optional.ofNullable(divideSv.getDistrictsByVillageId(villageId)).orElse(new HashMap()); + if(map_districts.size() <= 0) { + return BaseResponseUtils.buildFail("鍖哄垝淇℃伅鏈夎"); + } + + Long countryId = Long.parseLong(map_districts.get("countryId").toString()); + Long townId = Long.parseLong(map_districts.get("townId").toString()); + + po.setCountyid(countryId); + po.setTownid(townId); + + Date operateTime = new Date(); + po.setOperatedt(operateTime); + + Integer rec = Optional.ofNullable(divideSv.updateByPrimaryKey(po)).orElse(0); + if(rec == 0) { + return BaseResponseUtils.buildFail("鍒嗘按鎴夸慨鏀瑰け璐�"); + } + return BaseResponseUtils.buildSuccess(true) ; + } /** * 瀵煎嚭鍒嗘按鎴垮垪琛� diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java index 5180d7a..ed8e8be 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java @@ -1,6 +1,7 @@ package com.dy.pipIrrProject.divide; import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper; import com.dy.pipIrrGlobal.daoPr.PrDivideMapper; import com.dy.pipIrrGlobal.pojoPr.PrDivide; import com.dy.pipIrrGlobal.voPr.VoDivide; @@ -26,6 +27,9 @@ @Autowired private PrDivideMapper prDivideMapper; + @Autowired + private BaDistrictMapper baDistrictMapper; + /** * 娣诲姞鍒嗘按鎴� * @param po @@ -43,11 +47,24 @@ public QueryResultVo<List<VoDivide>> getDivides(QueryVo queryVo) { Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + // 璁$畻绗﹀悎鏉′欢鐨勮褰曟暟 Long itemTotal = prDivideMapper.getRecordCount(params); QueryResultVo<List<VoDivide>> rsVo = new QueryResultVo<>() ; - rsVo.pageSize = queryVo.pageSize ; - rsVo.pageCurr = queryVo.pageCurr ; + + Integer pageCurr = 0; + Integer pageSize = 10000; + rsVo.pageCurr = 1; + rsVo.pageSize = 10000; + if(queryVo.pageSize != null && queryVo.pageCurr != null) { + rsVo.pageSize = queryVo.pageSize ; + rsVo.pageCurr = queryVo.pageCurr; + pageSize = queryVo.pageSize ; + pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + } + params.put("pageCurr", pageCurr); + params.put("pageSize", pageSize); + rsVo.calculateAndSet(itemTotal, params); rsVo.obj = prDivideMapper.getDivides(params); return rsVo ; @@ -64,4 +81,49 @@ rsVo = prDivideMapper.getDivides(params); return rsVo ; } + + /** + * 鏍规嵁鍒嗘按鎴夸富閿幏鍙栧垎姘存埧瀵硅薄 + * @param id + * @return + */ + public PrDivide getOneDivide(Long id) { + return prDivideMapper.selectByPrimaryKey(id); + } + + /** + * 鏍规嵁涓婚敭閫昏緫鍒犻櫎涓�涓垎姘存埧 + * @param id + * @return + */ + public Integer deleteDivideById(Long id) { + return prDivideMapper.deleteDivideById(id); + } + + /** + * 鏍规嵁鏉戠紪鍙疯幏鍙�5绾у尯鍒掍俊鎭� + * @param villageId 鏉戠紪鍙凤紙涓婚敭锛� + * @return 5绾ц鏀垮尯鍒掍俊鎭� + */ + public Map getDistrictsByVillageId(Long villageId) { + return baDistrictMapper.getDistrictsByVillageId(villageId); + } + + /** + * 淇敼鍒嗘按鎴垮璞� + * @param po 鍐滄埛瀵硅薄 + * @return 淇敼璁板綍鏉℃暟 + */ + public Integer updateByPrimaryKey(PrDivide po) { + return prDivideMapper.updateByPrimaryKey(po); + } + + /** + * 鏍规嵁鍒嗘按鎴跨紪鍙疯幏鍙栨墍灞炵墖鍖虹紪鍙� + * @param divideId 鍒嗘按鎴縄D + * @return 鎵�灞炵墖鍖篒D + */ + public Long getBlockIdById(Long divideId) { + return prDivideMapper.getBlockIdById(divideId); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java index 3e488ce..6ae085f 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java @@ -22,6 +22,6 @@ @Schema(description = "鍐滄埛濮撳悕") public String divideName; - @Schema(description = "IC鍗″彿") + @Schema(description = "鐗囧尯鍚嶇О") public String blockName; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java index 2ebe707..30cfe28 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java @@ -16,7 +16,16 @@ /** * 鍒嗘按鎴� */ - DIVIDE_FAIL(10001, "鍒嗘按鎴挎坊鍔犲け璐�"); + DIVIDE_FAIL(10001, "鍒嗘按鎴挎坊鍔犲け璐�"), + + /** + * 鍙栨按鍙� + */ + + /** + * 鎺у埗鍣� + */ + CONTROLLER_FAIL(30001, "鎺у埗鍣ㄦ坊鍔犲け璐�"); private final Integer code; private final String message; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java index 9fc0d4f..99e7eae 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardCtrl.java @@ -15,7 +15,6 @@ import com.dy.pipIrrSell.recharge.RechargeCtrl; import com.dy.pipIrrSell.result.SellResultCode; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -24,6 +23,7 @@ import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; @@ -48,6 +48,14 @@ private final ClientCardSv clientCardSv; private final RechargeCtrl rechargeCtrl; + @Value("${projectCode.ym}") + private Integer projectCode; + + /** + * 鑾峰彇寮�鍗¤褰� + * @param vo + * @return + */ @Operation(summary = "鑾峰緱涓�椤靛紑鍗¤褰�", description = "杩斿洖涓�椤靛紑鍗℃暟鎹�") @ApiResponses(value = { @ApiResponse( @@ -57,7 +65,6 @@ schema = @Schema(implementation = VoActiveCard.class))} ) }) - //@GetMapping(path = "/getActiveCards", consumes = MediaType.APPLICATION_JSON_VALUE) @GetMapping(path = "/getActiveCards") @SsoAop() public BaseResponse<QueryResultVo<List<VoActiveCard>>> getActiveCards(QueryVo vo){ @@ -70,6 +77,12 @@ } } + /** + * 寮�鍗℃搷浣� + * @param po + * @param bindingResult + * @return + */ @Operation(summary = "寮�鍗�", description = "鏂板紑鍐滄埛鍗�") @ApiResponses(value = { @ApiResponse( @@ -82,7 +95,7 @@ @PostMapping(path = "add_active", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> add_active(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoActiveCard po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> add_active(@RequestBody @Valid DtoActiveCard po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -162,7 +175,7 @@ seClientCard.setCardnum(cardNum); //seClientCard.setClientnum(clientNum); seClientCard.setClientid(clientId); - seClientCard.setMoney(0.0); + seClientCard.setMoney(0f); seClientCard.setState(CardStateENUM.NORMAL.getCode()); seClientCard.setCreatedt(createTime); seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode()); @@ -208,7 +221,10 @@ } } - return BaseResponseUtils.buildSuccess(cardNum) ; + Map map = new HashMap(); + map.put("projectCode", projectCode); + map.put("cardNum", cardNum); + return BaseResponseUtils.buildSuccess(map) ; } @Operation(summary = "琛ュ崱", description = "琛ュ崱") @@ -223,7 +239,7 @@ @PostMapping(path = "add_reissue", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> add_reissue(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoActiveCard po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> add_reissue(@RequestBody @Valid DtoActiveCard po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardSv.java index df53049..2d55567 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/activeCard/ActiveCardSv.java @@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @@ -39,29 +38,12 @@ public QueryResultVo<List<VoActiveCard>> getActiveCards(QueryVo queryVo) { //瀹屽杽鏌ヨ寮�鍗¤褰曠殑璧锋鏃堕棿 - DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - - //LocalDateTime activeTimeStart = queryVo.activeTimeStart; - //LocalDateTime activeTimeStop = queryVo.activeTimeStop; - - //if(activeTimeStart != null) { - // activeTimeStart = LocalDateTime.parse(df.format(activeTimeStart) + " 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - // queryVo.setActiveTimeStart(activeTimeStart); - //} - - //if(activeTimeStop != null) { - // activeTimeStop = LocalDateTime.parse(df.format(activeTimeStop) + " 23:59:59", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - // queryVo.setActiveTimeStop(activeTimeStop); - //} - String activeTimeStart = queryVo.activeTimeStart; String activeTimeStop = queryVo.activeTimeStop; - if(activeTimeStart != null) { activeTimeStart = activeTimeStart + " 00:00:00"; queryVo.setActiveTimeStart(activeTimeStart); } - if(activeTimeStop != null) { activeTimeStop = activeTimeStop + " 23:59:59"; queryVo.setActiveTimeStop(activeTimeStop); @@ -72,8 +54,19 @@ Long itemTotal = seActiveCardMapper.getRecordCount(params); QueryResultVo<List<VoActiveCard>> rsVo = new QueryResultVo<>() ; - rsVo.pageSize = queryVo.pageSize ; - rsVo.pageCurr = queryVo.pageCurr ; + Integer pageCurr = 0; + Integer pageSize = 10000; + rsVo.pageCurr = 1; + rsVo.pageSize = 10000; + if(queryVo.pageSize != null && queryVo.pageCurr != null) { + rsVo.pageSize = queryVo.pageSize ; + rsVo.pageCurr = queryVo.pageCurr; + pageSize = queryVo.pageSize ; + pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + } + params.put("pageCurr", pageCurr); + params.put("pageSize", pageSize); + rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seActiveCardMapper.getActiveCards(params); return rsVo ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java index 7edd28a..ce46b37 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelCtrl.java @@ -8,11 +8,11 @@ import com.dy.pipIrrGlobal.pojoSe.SeCancel; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voSe.VoCancel; +import com.dy.pipIrrSell.clientCard.CardStateENUM; import com.dy.pipIrrSell.clientCard.ClientCardSv; import com.dy.pipIrrSell.clientCard.LastOperateENUM; import com.dy.pipIrrSell.result.SellResultCode; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -54,9 +54,9 @@ schema = @Schema(implementation = VoCancel.class))} ) }) - @GetMapping(path = "/getCancels", consumes = MediaType.APPLICATION_JSON_VALUE) + @GetMapping(path = "/getCancels") @SsoAop() - public BaseResponse<QueryResultVo<List<VoCancel>>> getCancels(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) QueryVo vo){ + public BaseResponse<QueryResultVo<List<VoCancel>>> getCancels(QueryVo vo){ try { QueryResultVo<List<VoCancel>> res = cancelSv.getCancels(vo); return BaseResponseUtils.buildSuccess(res); @@ -78,7 +78,7 @@ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoCancel po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> add(@RequestBody @Valid DtoCancel po, BindingResult bindingResult){ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); @@ -115,12 +115,14 @@ /** * 淇敼鍐滄埛鍗′俊鎭細 - * 鎸傚け鏃堕棿 + * 娉ㄩ攢鏃堕棿 * 鏈�鍚庢搷浣滅被鍨�-4 */ SeClientCard seClientCard = new SeClientCard(); seClientCard.setId(cardId); seClientCard.setCanceldt(cancelTime); + seClientCard.setMoney(0f); + seClientCard.setState(CardStateENUM.CANCELLED.getCode()); seClientCard.setLastoper(LastOperateENUM.CANCEL.getCode()); Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); if(rec_updateClientCard == 0) { @@ -128,7 +130,7 @@ } /** - * 娣诲姞鎸傚け璁板綍 + * 娣诲姞娉ㄩ攢璁板綍 */ SeCancel seCancel = new SeCancel(); //seCancel.setCardnum(cardNum); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelSv.java index e7474bf..1c83f8a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/CancelSv.java @@ -9,8 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @@ -29,17 +27,14 @@ public QueryResultVo<List<VoCancel>> getCancels(QueryVo queryVo) { //瀹屽杽鏌ヨ娉ㄩ攢璁板綍鐨勮捣姝㈡椂闂� - DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - - LocalDateTime cancelTimeStart = queryVo.cancelTimeStart; - LocalDateTime cancelTimeStop = queryVo.cancelTimeStop; + String cancelTimeStart = queryVo.cancelTimeStart; + String cancelTimeStop = queryVo.cancelTimeStop; if(cancelTimeStart != null) { - cancelTimeStart = LocalDateTime.parse(df.format(cancelTimeStart) + " 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + cancelTimeStart = cancelTimeStart + " 00:00:00"; queryVo.setCancelTimeStart(cancelTimeStart); } - if(cancelTimeStop != null) { - cancelTimeStop = LocalDateTime.parse(df.format(cancelTimeStop) + " 23:59:59", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + cancelTimeStop = cancelTimeStop + " 23:59:59"; queryVo.setCancelTimeStop(cancelTimeStop); } @@ -48,8 +43,19 @@ Long itemTotal = seCancelMapper.getRecordCount(params); QueryResultVo<List<VoCancel>> rsVo = new QueryResultVo<>() ; - rsVo.pageSize = queryVo.pageSize ; - rsVo.pageCurr = queryVo.pageCurr ; + Integer pageCurr = 0; + Integer pageSize = 10000; + rsVo.pageCurr = 1; + rsVo.pageSize = 10000; + if(queryVo.pageSize != null && queryVo.pageCurr != null) { + rsVo.pageSize = queryVo.pageSize ; + rsVo.pageCurr = queryVo.pageCurr; + pageSize = queryVo.pageSize ; + pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + } + params.put("pageCurr", pageCurr); + params.put("pageSize", pageSize); + rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seCancelMapper.getCancels(params); return rsVo ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/QueryVo.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/QueryVo.java index b8714a2..a421efa 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/QueryVo.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cancel/QueryVo.java @@ -4,8 +4,6 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.time.LocalDateTime; - /** * @author ZhuBaoMin * @date 2023/12/6 14:18 @@ -29,8 +27,8 @@ @Schema(description = "娉ㄩ攢鏃堕棿_寮�濮�") - public LocalDateTime cancelTimeStart; + public String cancelTimeStart; @Schema(description = "娉ㄩ攢鏃堕棿_缁撴潫") - public LocalDateTime cancelTimeStop; + public String cancelTimeStop; } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java index 1dce9cb..ae5d363 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java @@ -9,7 +9,6 @@ import com.dy.pipIrrGlobal.pojoSe.SeClient; import com.dy.pipIrrGlobal.voSe.VoClient; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -40,6 +39,11 @@ public class ClientCtrl { private final ClientSv clientSv; + /** + * 鑾峰彇鍐滄埛鍒楄〃 + * @param vo + * @return + */ @Operation(summary = "鑾峰緱涓�椤靛啘鎴�", description = "杩斿洖涓�椤靛啘鎴锋暟鎹�") @ApiResponses(value = { @ApiResponse( @@ -61,6 +65,63 @@ } } + /** + * 鑾峰彇浜ゆ槗璁板綍 + * @param vo + * @return + */ + @Operation(summary = "鑾峰緱涓�椤典氦鏄撹褰�", description = "杩斿洖涓�椤典氦鏄撹褰�") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "getOperates") + @SsoAop() + public BaseResponse<Map> getOperates(QueryOperate vo){ + try { + Map res = clientSv.getOperates(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鏌ヨ浜ゆ槗璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + /** + * 鑾峰彇浜ゆ槗姹囨�昏褰� + * @param vo + * @return + */ + @Operation(summary = "鑾峰緱涓�椤典氦鏄撴眹鎬昏褰�", description = "杩斿洖涓�椤典氦鏄撴眹鎬昏褰�") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "getStatistics") + @SsoAop() + public BaseResponse<Map> getStatistics(QueryStatistic vo){ + try { + Map res = clientSv.getStatistics(vo); + return BaseResponseUtils.buildSuccess(res); + } catch (Exception e) { + log.error("鏌ヨ浜ゆ槗姹囨�昏褰曞紓甯�", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + /** + * 鏍规嵁涓婚敭鑾峰彇涓�涓啘鎴峰璞� + * @param id + * @return + */ @Operation(summary = "鑾峰緱涓�涓啘鎴�", description = "杩斿洖涓�涓啘鎴锋暟鎹�") @ApiResponses(value = { @ApiResponse( @@ -83,6 +144,12 @@ } + /** + * 娣诲姞涓�涓啘鎴峰璞� + * @param po + * @param bindingResult + * @return + */ @Operation(summary = "娣诲姞鍐滄埛璁板綍", description = "娣诲姞鍐滄埛璁板綍") @ApiResponses(value = { @ApiResponse( @@ -95,13 +162,13 @@ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoClient po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> add(@RequestBody @Valid DtoClient po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } // 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛� - Long villageId = po.getVillageid(); + Long villageId = po.getVillageId(); /** * 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭� @@ -130,9 +197,21 @@ Long districtNum = Long.parseLong(provinceNum + cityNum + district8); String districtTitle = countryName + townName + villageName; + // 鐢熸垚铏氭嫙鍗″彿 + Long virtualId = Optional.ofNullable(clientSv.getMa1xVirtualId()).orElse(0L); + if(virtualId == 0) { + virtualId = 1000000000L; + }else { + virtualId = virtualId + 1; + if(virtualId > 10000000000L) { + return BaseResponseUtils.buildFail("铏氭嫙鍗″彿瓒呴檺"); + } + } + SeClient seClient = DtoClientToSeClient.INSTANCT.po2vo(po); seClient.setCountyid(countryId); seClient.setTownid(townId); + seClient.setVirtualid(virtualId); seClient.setClientnum(clientNum); seClient.setDistrictnum(districtNum); seClient.setDistricttitle(districtTitle); @@ -176,7 +255,7 @@ } /** - * 淇敼鍐滄埛瀵硅薄 + * 淇敼鍐滄埛瀵硅薄锛堣櫄鎷熷崱鍙枫�佺姝㈡爣蹇椼�侀�昏緫鍒犻櫎鏍囪瘑涓嶅弬涓庝慨鏀癸級 * @param po 鍐滄埛瀵硅薄 * @param bindingResult * @return @@ -193,13 +272,13 @@ @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoClient po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> update(@RequestBody @Valid DtoClient po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } // 鎺ユ敹鏉戠紪鍙凤紙涓婚敭锛� - Long villageId = po.getVillageid(); + Long villageId = po.getVillageId(); /** * 鑾峰彇5绾ц鏀垮尯鍒掍俊鎭� @@ -236,13 +315,10 @@ seClient.setDistricttitle(districtTitle); Date operateTime = new Date(); seClient.setOperatedt(operateTime); - // - //seClient.setDisabled((byte)0); - //seClient.setDeleted((byte)0); Integer rec = Optional.ofNullable(clientSv.updateByPrimaryKey(seClient)).orElse(0); if(rec == 0) { - return BaseResponseUtils.buildFail("娣诲姞鍐滄埛澶辫触"); + return BaseResponseUtils.buildFail("鍐滄埛淇敼澶辫触"); } return BaseResponseUtils.buildSuccess(true) ; } @@ -276,4 +352,28 @@ return BaseResponseUtils.buildException(e.getMessage()) ; } } + + /** + * 鑾峰彇鐢ㄦ按鏂瑰紡鍒楄〃 + * @param + * @return + */ + @Operation(summary = "鑾峰緱鐢ㄦ按鏂瑰紡鍒楄〃", description = "杩斿洖鐢ㄦ按鏂瑰紡鍒楄〃") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "/watertypes") + @SsoAop() + public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getWaterTypes(){ + List<Map<String, Object>> map_WaterTypes = Optional.ofNullable(clientSv.getWaterTypes()).orElse(new ArrayList<>()); + if(map_WaterTypes == null || map_WaterTypes.size() == 0) { + return BaseResponseUtils.buildFail("娌℃湁鐢ㄦ按鏂瑰紡") ; + } + return BaseResponseUtils.buildSuccess(map_WaterTypes); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java index 21811c8..a3f631b 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java @@ -5,13 +5,17 @@ import com.dy.pipIrrGlobal.daoSe.SeClientMapper; import com.dy.pipIrrGlobal.pojoSe.SeClient; import com.dy.pipIrrGlobal.voSe.VoClient; +import com.dy.pipIrrGlobal.voSe.VoOperate; +import com.dy.pipIrrGlobal.voSe.VoStatistics; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; /** * @author ZhuBaoMin @@ -31,20 +35,147 @@ /** * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏁版嵁 - * @param vo + * @param queryVo * @return */ - public QueryResultVo<List<VoClient>> getClients(QueryVo vo){ - Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ; + public QueryResultVo<List<VoClient>> getClients(QueryVo queryVo){ + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ; Long itemTotal = seClientMapper.getRecordCount(params); QueryResultVo<List<VoClient>> rsVo = new QueryResultVo<>() ; - rsVo.pageSize = vo.pageSize ; - rsVo.pageCurr = vo.pageCurr ; + Integer pageCurr = 0; + Integer pageSize = 10000; + rsVo.pageCurr = 1; + rsVo.pageSize = 10000; + if(queryVo.pageSize != null && queryVo.pageCurr != null) { + rsVo.pageSize = queryVo.pageSize ; + rsVo.pageCurr = queryVo.pageCurr; + pageSize = queryVo.pageSize ; + pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + } + params.put("pageCurr", pageCurr); + params.put("pageSize", pageSize); + rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seClientMapper.getClients(params); return rsVo ; + } + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍 + * @param vo + * @return + */ + public Map getOperates(QueryOperate vo){ + // 琛ラ綈鏌ヨ鏃堕棿 + String operateTimeStart = vo.operateTimeStart; + String operateTimeStop = vo.operateTimeStop; + if(operateTimeStart != null) { + operateTimeStart = operateTimeStart + " 00:00:00"; + vo.setOperateTimeStart(operateTimeStart); + } + if(operateTimeStop != null) { + operateTimeStop = operateTimeStop + " 23:59:59"; + vo.setOperateTimeStop(operateTimeStop); + } + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ; + + // 鑾峰彇姹囨�荤殑璐按閲戦銆佽喘鍗¢噾棰� + Float money = 0f; + Float cardCost = 0f; + Map map_sum = Optional.ofNullable(seClientMapper.getSums(params)).orElse(new HashMap()); + if(map_sum.size() > 0) { + money = Float.parseFloat(map_sum.get("money").toString()); + cardCost = Float.parseFloat(map_sum.get("cardCost").toString()); + } + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = seClientMapper.getOperateRecordCount(params); + + Integer pageSize = vo.getPageSize(); + // 璁$畻鎬婚〉鏁� + Integer pageTotal ; + pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize); + + // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺 + Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + params.put("pageCurr", pageCurr); + + List<VoOperate> lit = seClientMapper.getOperates(params); + Map map_record = new HashMap(); + map_record.put("itemTotal", itemTotal); + map_record.put("pageCurr", vo.pageCurr); + map_record.put("pageSize", pageSize); + map_record.put("pageTotal", pageTotal); + map_record.put("list", lit); + + Map map_result = new HashMap(); + map_result.put("money", money); + map_result.put("cardCost", cardCost); + map_result.put("records", map_record); + + return map_result; + } + + /** + * 鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍 + * @param vo 浜ゆ槗姹囨�绘煡璇㈡潯浠� + * @return 浜ゆ槗姹囨�昏褰� + */ + public Map getStatistics(QueryStatistic vo){ + // 琛ラ綈鏌ヨ鏃堕棿 + String operateTimeStart = vo.operateTimeStart; + String operateTimeStop = vo.operateTimeStop; + if(operateTimeStart != null) { + operateTimeStart = operateTimeStart + " 00:00:00"; + vo.setOperateTimeStart(operateTimeStart); + } + if(operateTimeStop != null) { + operateTimeStop = operateTimeStop + " 23:59:59"; + vo.setOperateTimeStop(operateTimeStop); + } + + // 鐢熸垚鏌ヨ鍙傛暟 + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ; + + // 鑾峰彇姹囨�荤殑浜ゆ槗绗旀暟銆佷氦鏄撻噾棰� + Integer count = 0; + Float money = 0f; + Map map_sum = Optional.ofNullable(seClientMapper.getStatisticSums(params)).orElse(new HashMap()); + if(map_sum.size() > 0) { + count = Integer.parseInt(map_sum.get("count").toString()); + money = Float.parseFloat(map_sum.get("money").toString()); + } + + // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟 + Long itemTotal = seClientMapper.getStatisticRecordCount(params); + + Integer pageSize = vo.getPageSize(); + // 璁$畻鎬婚〉鏁� + Integer pageTotal ; + pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize); + + // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺 + Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + params.put("pageCurr", pageCurr); + + List<VoStatistics> lit = seClientMapper.getStatistics(params); + Map map_record = new HashMap(); + map_record.put("itemTotal", itemTotal); + map_record.put("pageCurr", vo.pageCurr); + map_record.put("pageSize", pageSize); + map_record.put("pageTotal", pageTotal); + map_record.put("list", lit); + + Map map_result = new HashMap(); + map_result.put("count", count); + map_result.put("money", money); + map_result.put("records", map_record); + + return map_result; } /** @@ -109,4 +240,19 @@ return seClientMapper.getVillageIdById(id); } + /** + * 鑾峰彇铏氭嫙鍗″彿鏈�澶у�� + * @return + */ + public Long getMa1xVirtualId() { + return seClientMapper.getMa1xVirtualId(); + } + + /** + * 鑾峰彇鐢ㄦ按鏂瑰紡鍒楄〃 + * @return + */ + public List<Map<String, Object>> getWaterTypes() { + return seClientMapper.getWaterTypes(); + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java index 350925d..fc3ce80 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClient.java @@ -32,21 +32,21 @@ */ @Schema(description = "鎵�鍦ㄦ潙ID", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "鎵�鍦ㄦ潙涓嶈兘涓虹┖") - private Long villageid; + private Long villageId; /** * 鐗囧尯ID */ @Schema(description = "鎵�鍦ㄧ墖鍖篒D", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "鎵�鍦ㄧ墖鍖轰笉鑳戒负绌�") - private Long blockid; + private Long blockId; /** * 鍒嗘按鎴縄D */ @Schema(description = "鎵�鍦ㄥ垎姘存埧ID", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "鎵�鍦ㄥ垎姘存埧涓嶈兘涓虹┖") - private Long divideid; + private Long divideId; /** * 鍐滄埛濮撳悕 @@ -70,7 +70,7 @@ @Schema(description = "鍐滄埛韬唤璇佸彿", requiredMode = Schema.RequiredMode.REQUIRED) @NotBlank(message = "鍐滄埛韬唤璇佸彿涓嶈兘涓虹┖") //涓嶈兘涓虹┖涔熶笉鑳戒负null @Length(message = "鍐滄埛韬唤璇佸彿蹇呴』{max}浣嶆暟鎹�", min = 18, max = 18) - private String idcard; + private String idCard; /** * 绉嶆闈㈢Н @@ -79,6 +79,12 @@ private Double area; /** + * 鐢ㄦ按鏂瑰紡 + */ + @Schema(description = "鐢ㄦ按鏂瑰紡", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + private Long typeId; + + /** * 琛楅亾鍙婇棬鐗屽彿 */ @Schema(description = "琛楅亾+闂ㄧ墝鍙�", requiredMode = Schema.RequiredMode.NOT_REQUIRED) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java index 8dbabb5..3ec4561 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/DtoClientToSeClient.java @@ -16,17 +16,17 @@ public interface DtoClientToSeClient { DtoClientToSeClient INSTANCT = Mappers.getMapper(DtoClientToSeClient.class); - @Mapping(target = "villageid", source = "villageid") - @Mapping(target = "blockid", source = "blockid") - @Mapping(target = "divideid", source = "divideid") + @Mapping(target = "villageid", source = "villageId") + @Mapping(target = "blockid", source = "blockId") + @Mapping(target = "divideid", source = "divideId") @Mapping(target = "name", source = "name") @Mapping(target = "phone", source = "phone") - @Mapping(target = "idcard", source = "idcard") + @Mapping(target = "idcard", source = "idCard") @Mapping(target = "area", source = "area") + @Mapping(target = "typeid", source = "typeId") @Mapping(target = "address", source = "address") @Mapping(target = "remarks", source = "remarks") @Mapping(target = "operator", source = "operator") - @Mapping(target = "disabled", ignore=true) @Mapping(target = "deleted", ignore=true) SeClient po2vo(DtoClient po); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java new file mode 100644 index 0000000..628bcd6 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java @@ -0,0 +1,34 @@ +package com.dy.pipIrrSell.client; + +import com.dy.common.webUtil.QueryConditionVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +/** + * @author ZhuBaoMin + * @date 2023-12-26 21:00 + * @LastEditTime 2023-12-26 21:00 + * @Description + */ + +@Data +@EqualsAndHashCode(callSuper = false) +@ToString(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Schema(name = "浜ゆ槗鏌ヨ鏉′欢") +public class QueryOperate extends QueryConditionVo { + + @Schema(description = "鏉慖D") + public Long villageId; + + @Schema(description = "鏀粯鏂瑰紡缂栧彿") + public Long paymentId; + + @Schema(description = "浜ゆ槗鏌ヨ璧峰鏃堕棿") + public String operateTimeStart; + + @Schema(description = "浜ゆ槗鏌ヨ鎴鏃堕棿") + public String operateTimeStop; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java new file mode 100644 index 0000000..5ac6c22 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java @@ -0,0 +1,33 @@ +package com.dy.pipIrrSell.client; + +import com.dy.common.webUtil.QueryConditionVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +/** + * @author ZhuBaoMin + * @date 2023-12-27 15:33 + * @LastEditTime 2023-12-27 15:33 + * @Description + */ + +@Data +@EqualsAndHashCode(callSuper = false) +@ToString(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +@Schema(name = "浜ゆ槗姹囨�绘煡璇㈡潯浠�") +public class QueryStatistic extends QueryConditionVo { + @Schema(description = "鏉慖D") + public Long villageId; + + //@Schema(description = "鏀粯鏂瑰紡缂栧彿") + //public Long paymentId; + + @Schema(description = "浜ゆ槗鏌ヨ璧峰鏃堕棿") + public String operateTimeStart; + + @Schema(description = "浜ゆ槗鏌ヨ鎴鏃堕棿") + public String operateTimeStop; +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java new file mode 100644 index 0000000..d0abec4 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardCtrl.java @@ -0,0 +1,116 @@ +package com.dy.pipIrrSell.clientCard; + +import com.dy.common.aop.SsoAop; +import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.common.webUtil.ResultCodeMsg; +import com.dy.pipIrrGlobal.pojoBa.BaClient; +import com.dy.pipIrrGlobal.voSe.VoCardInfo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * @author ZhuBaoMin + * @date 2023-12-27 19:36 + * @LastEditTime 2023-12-27 19:36 + * @Description + */ + +@Slf4j +@Tag(name = "鍐滄埛姘村崱", description = "鍐滄埛姘村崱") +@RestController +@RequestMapping(path="clientcard") +@RequiredArgsConstructor +public class ClientCardCtrl { + private final ClientCardSv clientCardSv; + + /** + * 鑾峰彇鎸囧畾鐢ㄦ埛鍚嶄笅鍏ㄩ儴姘村崱 + * @param clientId + * @return + */ + @Operation(summary = "鑾峰緱鍏ㄩ儴姘村崱", description = "杩斿洖鍏ㄩ儴姘村崱鏁版嵁") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "clientcard/{clientId}") + @SsoAop() + public BaseResponse<QueryResultVo<List<VoCardInfo>>> get(@PathVariable("clientId") Long clientId){ + try { + List<VoCardInfo> list = clientCardSv.getCardInfoByClientId(clientId); + return BaseResponseUtils.buildSuccess(list); + } catch (Exception e) { + log.error("鏌ヨ鍐滄埛寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍙婁綑棰� + * @param cardNum 姘村崱缂栧彿 + * @return 姘村崱鎿嶄綔璁板綍鍙婁綑棰� + */ + @Operation(summary = "鑾峰緱姘村崱鎿嶄綔璁板綍鍙婁綑棰�", description = "杩斿洖姘村崱鎿嶄綔璁板綍鍙婁綑棰�") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "/getoperaterecords") + @SsoAop() + public BaseResponse<List<Map<String, Object>>> getOperateRecordsAndMoney(@RequestParam("cardNum") Long cardNum){ + try { + Map map = clientCardSv.getOperateRecordsAndMoney(cardNum); + return BaseResponseUtils.buildSuccess(map); + } catch (Exception e) { + log.error("鏌ヨ鎿嶄綔璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇鍗$墖鐘舵�� + * @param cardNum + * @return + */ + @Operation(summary = "鏍规嵁姘村崱缂栧彿鑾峰彇鍗$墖鐘舵��", description = "鏍规嵁姘村崱缂栧彿鑾峰彇鍗$墖鐘舵��") + @ApiResponses(value = { + @ApiResponse( + responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE, + description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�", + content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, + schema = @Schema(implementation = BaClient.class))} + ) + }) + @GetMapping(path = "/cardstate") + @SsoAop() + public BaseResponse<String> getCardStateByCardNum(@RequestParam("cardNum") Long cardNum){ + try { + String stateName = clientCardSv.getCardStateByCardNum(cardNum); + return BaseResponseUtils.buildSuccess(stateName); + } catch (Exception e) { + log.error("鏌ヨ鎿嶄綔璁板綍寮傚父", e); + return BaseResponseUtils.buildException(e.getMessage()) ; + } + } +} diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java index 12437b7..8517231 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/ClientCardSv.java @@ -2,11 +2,12 @@ import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; +import com.dy.pipIrrGlobal.voSe.VoCardInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Map; +import java.util.*; /** * @author ZhuBaoMin @@ -65,4 +66,45 @@ public Integer UpdateClientCard(SeClientCard po) { return seClientCardMapper.updateByPrimaryKeySelective(po); } + + /** + * 鏍规嵁鍐滄埛涓婚敭鑾峰彇姘村崱鍒楄〃 + * @param clientId + * @return + */ + public List<VoCardInfo> getCardInfoByClientId(Long clientId){ + List<VoCardInfo> list = Optional.ofNullable(seClientCardMapper.getCardInfoByClientId(clientId)).orElse(new ArrayList<>()); + if(list.size() > 0) { + return list; + }else { + return new ArrayList<>(); + } + } + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇鎿嶄綔璁板綍鍙婁綑棰� + * @param cardNum + * @return + */ + public Map getOperateRecordsAndMoney(Long cardNum) { + List<Map<String, Object>> list = Optional.ofNullable(seClientCardMapper.getOperateRecordsByCardNum(cardNum)).orElse(new ArrayList<>()); + Float mondy = Optional.ofNullable(seClientCardMapper.getMoneyByCardNum(cardNum)).orElse(0f); + Float amount = Optional.ofNullable(seClientCardMapper.sumRechargeByCardNum(cardNum)).orElse(0f); + + Map map = new HashMap(); + map.put("mondy", mondy); + map.put("amount", amount); + map.put("list", list); + return map; + } + + /** + * 鏍规嵁姘村崱缂栧彿鑾峰彇鍗$墖鐘舵�� + * @param cardNum + * @return + */ + public String getCardStateByCardNum(Long cardNum) { + String stateName = Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(cardNum)).orElse(""); + return stateName; + } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java index ab59e5b..2c4df3c 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossCtrl.java @@ -8,11 +8,11 @@ import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.pojoSe.SeLoss; import com.dy.pipIrrGlobal.voSe.VoLoss; +import com.dy.pipIrrSell.clientCard.CardStateENUM; import com.dy.pipIrrSell.clientCard.ClientCardSv; import com.dy.pipIrrSell.clientCard.LastOperateENUM; import com.dy.pipIrrSell.result.SellResultCode; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -77,7 +77,7 @@ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoLoss po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> add(@RequestBody @Valid DtoLoss po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -118,7 +118,9 @@ */ SeClientCard seClientCard = new SeClientCard(); seClientCard.setId(cardId); + seClientCard.setMoney(money); seClientCard.setLossdtdt(lossTime); + seClientCard.setState(CardStateENUM.LOSS.getCode()); seClientCard.setLastoper(LastOperateENUM.LOSS.getCode()); Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); if(rec_updateClientCard == 0) { diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossSv.java index 2d951ad..df6dc20 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/loss/LossSv.java @@ -59,8 +59,19 @@ Long itemTotal = seLossMapper.getRecordCount(params); QueryResultVo<List<VoLoss>> rsVo = new QueryResultVo<>() ; - rsVo.pageSize = queryVo.pageSize ; - rsVo.pageCurr = queryVo.pageCurr ; + Integer pageCurr = 0; + Integer pageSize = 10000; + rsVo.pageCurr = 1; + rsVo.pageSize = 10000; + if(queryVo.pageSize != null && queryVo.pageCurr != null) { + rsVo.pageSize = queryVo.pageSize ; + rsVo.pageCurr = queryVo.pageCurr; + pageSize = queryVo.pageSize ; + pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + } + params.put("pageCurr", pageCurr); + params.put("pageSize", pageSize); + rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seLossMapper.getLosses(params); return rsVo ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java index 7268f34..449dc2d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeCtrl.java @@ -13,7 +13,6 @@ import com.dy.pipIrrSell.clientCard.LastOperateENUM; import com.dy.pipIrrSell.result.SellResultCode; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -72,7 +71,7 @@ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoRecharge po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> add(@RequestBody @Valid DtoRecharge po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -132,6 +131,7 @@ */ SeClientCard seClientCard = new SeClientCard(); seClientCard.setId(cardId); + seClientCard.setMoney(afterRecharge); seClientCard.setRechargedt(rechargeTime); seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ()); Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeSv.java index d30e913..10baa78 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/recharge/RechargeSv.java @@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @@ -33,40 +32,35 @@ public QueryResultVo<List<VoRecharge>> getRecharges(QueryVo queryVo) { //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿 - DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - - //LocalDateTime rechargeTimeStart = queryVo.rechargeTimeStart; - //LocalDateTime rechargeTimeStop = queryVo.rechargeTimeStop; - //if(rechargeTimeStart != null) { - // rechargeTimeStart = LocalDateTime.parse(df.format(rechargeTimeStart) + " 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - // queryVo.setRechargeTimeStart(rechargeTimeStart); - //} - // - //if(rechargeTimeStop != null) { - // rechargeTimeStop = LocalDateTime.parse(df.format(rechargeTimeStop) + " 23:59:59", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); - // queryVo.setRechargeTimeStop(rechargeTimeStop); - //} - String rechargeTimeStart = queryVo.rechargeTimeStart; String rechargeTimeStop = queryVo.rechargeTimeStop; if(rechargeTimeStart != null) { rechargeTimeStart = rechargeTimeStart + " 00:00:00"; queryVo.setRechargeTimeStart(rechargeTimeStart); } - if(rechargeTimeStop != null) { rechargeTimeStop = rechargeTimeStop + " 23:59:59"; queryVo.setRechargeTimeStop(rechargeTimeStop); } - Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); Long itemTotal = seRechargeMapper.getRecordCount(params); QueryResultVo<List<VoRecharge>> rsVo = new QueryResultVo<>() ; - rsVo.pageSize = queryVo.pageSize ; - rsVo.pageCurr = queryVo.pageCurr ; + Integer pageCurr = 0; + Integer pageSize = 10000; + rsVo.pageCurr = 1; + rsVo.pageSize = 10000; + if(queryVo.pageSize != null && queryVo.pageCurr != null) { + rsVo.pageSize = queryVo.pageSize ; + rsVo.pageCurr = queryVo.pageCurr; + pageSize = queryVo.pageSize ; + pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + } + params.put("pageCurr", pageCurr); + params.put("pageSize", pageSize); + rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seRechargeMapper.getRecharges(params); return rsVo ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java index 7b783f6..e27c0f5 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalCtrl.java @@ -12,7 +12,6 @@ import com.dy.pipIrrSell.clientCard.LastOperateENUM; import com.dy.pipIrrSell.result.SellResultCode; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -77,7 +76,7 @@ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoReversal po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> add(@RequestBody @Valid DtoReversal po, BindingResult bindingResult){ if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } @@ -119,6 +118,7 @@ SeClientCard seClientCard = new SeClientCard(); seClientCard.setId(cardId); seClientCard.setReversaldt(reversalTime); + seClientCard.setMoney(cardBalance); seClientCard.setLastoper(LastOperateENUM.REVERSAL.getCode()); Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); if(rec_updateClientCard == 0) { diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java index 1b3e8b1..ad5362a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/reversal/ReversalSv.java @@ -47,8 +47,19 @@ Long itemTotal = seReversalMapper.getRecordCount(params); QueryResultVo<List<VoReversal>> rsVo = new QueryResultVo<>() ; - rsVo.pageSize = queryVo.pageSize ; - rsVo.pageCurr = queryVo.pageCurr ; + Integer pageCurr = 0; + Integer pageSize = 10000; + rsVo.pageCurr = 1; + rsVo.pageSize = 10000; + if(queryVo.pageSize != null && queryVo.pageCurr != null) { + rsVo.pageSize = queryVo.pageSize ; + rsVo.pageCurr = queryVo.pageCurr; + pageSize = queryVo.pageSize ; + pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + } + params.put("pageCurr", pageCurr); + params.put("pageSize", pageSize); + rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seReversalMapper.getReversals(params); return rsVo ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java index 1a8b80a..51956dd 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockCtrl.java @@ -12,7 +12,6 @@ import com.dy.pipIrrSell.clientCard.LastOperateENUM; import com.dy.pipIrrSell.result.SellResultCode; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -78,7 +77,7 @@ @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE) @Transactional(rollbackFor = Exception.class) @SsoAop() - public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoUnlock po, @Parameter(hidden = true) BindingResult bindingResult){ + public BaseResponse<Boolean> add(@RequestBody @Valid DtoUnlock po, BindingResult bindingResult){ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); if(bindingResult != null && bindingResult.hasErrors()){ return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); @@ -119,6 +118,7 @@ SeClientCard seClientCard = new SeClientCard(); seClientCard.setId(cardId); seClientCard.setUnlockdt(unlockTime); + seClientCard.setMoney(money); seClientCard.setLastoper(LastOperateENUM.UNLOCK.getCode()); Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0); if(rec_updateClientCard == 0) { diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java index 21a3824..4e42110 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/unlock/UnlockSv.java @@ -47,8 +47,19 @@ Long itemTotal = seUnlockMapper.getRecordCount(params); QueryResultVo<List<VoUnlock>> rsVo = new QueryResultVo<>() ; - rsVo.pageSize = queryVo.pageSize ; - rsVo.pageCurr = queryVo.pageCurr ; + Integer pageCurr = 0; + Integer pageSize = 10000; + rsVo.pageCurr = 1; + rsVo.pageSize = 10000; + if(queryVo.pageSize != null && queryVo.pageCurr != null) { + rsVo.pageSize = queryVo.pageSize ; + rsVo.pageCurr = queryVo.pageCurr; + pageSize = queryVo.pageSize ; + pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString()); + } + params.put("pageCurr", pageCurr); + params.put("pageSize", pageSize); + rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seUnlockMapper.getUnlocks(params); return rsVo ; diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/WalletCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/WalletCtrl.java index d45bf72..8eecd2c 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/WalletCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/wallet/WalletCtrl.java @@ -83,7 +83,7 @@ //@PostMapping(path = "addRecharge") //@Transactional(rollbackFor = Exception.class) //@SsoAop() - //public BaseResponse<Boolean> addRecharge(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid DtoWalletRecharge po, @Parameter(hidden = true) BindingResult bindingResult){ + //public BaseResponse<Boolean> addRecharge(@RequestBody @Valid DtoWalletRecharge po, @Parameter(hidden = true) BindingResult bindingResult){ // DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // if(bindingResult != null && bindingResult.hasErrors()){ // return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); -- Gitblit v1.8.0