Pu Zhibing
18 小时以前 be06cd6731dd2a5d1a9bbbd3d12a2f7b3a00c966
移除mq
39 文件已重命名
84个文件已删除
7个文件已添加
16个文件已修改
6094 ■■■■ 已修改文件
ruoyi-api/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/pom.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/factory/ChargingMessageClientFallbackFactory.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/feignClient/ChargingMessageClient.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/vo/ChargingOrderVo.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-jianguan/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/AcquisitionBillingModeMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BaseMessage.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BillingModeVerifyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BmsAbortMessage.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BmsDemandAndChargerExportationMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BmsInformationMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingHandshakeMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingOrderMessage.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingPileReturnsGroundLockDataMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingPileStartsChargingMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ClearOfflineCardReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/EndChargeMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ErrorMessageMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/GroundLockRealTimeDataMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/GunStatusMessage.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/MotorAbortMessage.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/OnlineMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ParameterSettingMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PingMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PlatformRemoteUpdateReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PlatformRestartReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PlatformStartChargingReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PlatformStopChargingReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/QrCodeDeliveryMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/QrCodeDeliveryReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/QueryOfflineCardReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/SecurityDetectionMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/SetupBillingModelReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/SynchronizeOfflineCardReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/TimingSettingMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/TimingSettingReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/TransactionRecordMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/UpdateBalanceReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/UploadRealTimeMonitoringDataMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/WorkingParameterSettingReplyMessage.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/ChargingMessageUtil.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ErrorMessageMessageService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ErrorMessageMessageServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/configuration/EnvironmentIsolationConfig.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/configuration/RocketEnhanceProperties.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/configuration/RocketMQEnhanceAutoConfiguration.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/configuration/RocketMQMessageConverter.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/constant/EnhanceMessageConstant.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/AcquisitionBillingModeMessageListener.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BillingModeVerifyMessageListener.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsAbortMessageListener.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsDemandAndChargerExportationMessageListener.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsInformationMessageListener.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingHandshakeMessageListener.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileReturnsGroundLockDataMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileStartsChargingMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ClearOfflineCardReplyMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EndChargeMessageListener.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ErrorMessageMessageListener.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/GroundLockRealTimeDataMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/MotorAbortMessageListener.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/OnlineMessageListener.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ParameterSettingMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PingMessageListener.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRemoteUpdateReplyMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRestartReplyMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStartChargingReplyMessageListener.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStopChargingReplyMessageListener.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/QrCodeDeliveryReplyMessageListener.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/QueryOfflineCardReplyMessageListener.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SecurityDetectionMessageListener.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SetupBillingModelReplyMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SynchronizeOfflineCardReplyMessageListener.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TimingSettingMessageListener.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TransactionRecordMessageListener.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UpdateBalanceReplyMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UploadRealTimeMonitoringDataMessageListener.java 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/WorkingParameterSettingReplyMessageListener.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/AcquisitionBillingModeMessage.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BillingModeVerifyMessage.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingHandshakeMessage.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingMessage.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingOrderMessage.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileReturnsGroundLockDataMessage.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileStartsChargingMessage.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ClearOfflineCardReplyMessage.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/GroundLockRealTimeDataMessage.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/GunStatusMessage.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/OnlineMessage.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ParameterSettingMessage.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PingMessage.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRemoteUpdateReplyMessage.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRestartReplyMessage.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStartChargingReplyMessage.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStopChargingReplyMessage.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/QrCodeDeliveryReplyMessage.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/QueryOfflineCardReplyMessage.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SecurityDetectionMessage.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SetupBillingModelReplyMessage.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SynchronizeOfflineCardReplyMessage.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TimingSettingMessage.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TimingSettingReplyMessage.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UpdateBalanceReplyMessage.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UploadRealTimeMonitoringDataMessage.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/WorkingParameterSettingReplyMessage.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java 625 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduce.java 392 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/util/EnhanceMessageHandler.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/util/RocketMQEnhanceTemplate.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/pom.xml 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/controller/ChargingMessageController.java 255 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/model/BaseMessage.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/model/ErrorMessageMessage.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ErrorMessageMessageService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/GroundLockRealTimeDataService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ErrorMessageMessageServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/base/JianGuanMessage.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/configuration/EnvironmentIsolationConfig.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/configuration/RocketEnhanceProperties.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/configuration/RocketMQEnhanceAutoConfiguration.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/configuration/RocketMQMessageConverter.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/constant/EnhanceMessageConstant.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsAbortMessage.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingOrderMessage.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/EndChargeMessage.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GunStatusMessage.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/MotorAbortMessage.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryMessage.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/produce/ChargingMessageListener.java 325 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/util/EnhanceMessageHandler.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/util/RocketMQEnhanceTemplate.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/TaskUtil.java 288 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/pom.xml
@@ -16,6 +16,7 @@
        <module>ruoyi-api-order</module>
        <module>ruoyi-api-other</module>
        <module>ruoyi-api-payment</module>
        <module>ruoyi-api-jianguan</module>
    </modules>
    <artifactId>ruoyi-api</artifactId>
ruoyi-api/ruoyi-api-jianguan/pom.xml
New file
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>com.ruoyi</groupId>
        <artifactId>ruoyi-api</artifactId>
        <version>3.6.2</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>ruoyi-api-jianguan</artifactId>
    <description>
        ruoyi-api-jianguan监管对接接口模块
    </description>
    <dependencies>
        <!--mongodb-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <!-- RuoYi Common Core-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-core</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.github.pagehelper</groupId>
                    <artifactId>pagehelper-spring-boot-starter</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</project>
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/factory/ChargingMessageClientFallbackFactory.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.integration.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.feignClient.ChargingMessageClient;
import com.ruoyi.integration.api.vo.ChargingOrderVo;
import org.springframework.cloud.openfeign.FallbackFactory;
/**
 * @author zhibing.pu
 * @Date 2025/7/12 10:17
 */
public class ChargingMessageClientFallbackFactory implements FallbackFactory<ChargingMessageClient> {
    @Override
    public ChargingMessageClient create(Throwable cause) {
        return new ChargingMessageClient(){
            @Override
            public R pushOrderInfo(ChargingOrderVo chargingOrder) {
                return R.fail("推送充电订单信息失败:" + cause.getMessage());
            }
            @Override
            public R pushOrderStatus(ChargingOrderVo chargingOrder) {
                return R.fail("推送充电订单状态失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/feignClient/ChargingMessageClient.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.integration.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.factory.ChargingMessageClientFallbackFactory;
import com.ruoyi.integration.api.vo.ChargingOrderVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * @author zhibing.pu
 * @Date 2025/7/12 10:17
 */
@FeignClient(contextId = "ChargingMessageClient", value = ServiceNameConstants.JIANGUAN_SERVICE, fallbackFactory = ChargingMessageClientFallbackFactory.class)
public interface ChargingMessageClient {
    /**
     * 推送充电订单信息
     * @param chargingOrder
     * @return
     */
    @PostMapping("/chargingMessage/pushOrderInfo")
    R pushOrderInfo(@RequestBody ChargingOrderVo chargingOrder);
    /**
     * 推送充电订单状态
     * @param chargingOrder
     * @return
     */
    @PostMapping("/chargingMessage/pushOrderInfo")
    R pushOrderStatus(@RequestBody ChargingOrderVo chargingOrder);
}
ruoyi-api/ruoyi-api-jianguan/src/main/java/com/ruoyi/integration/api/vo/ChargingOrderVo.java
New file
@@ -0,0 +1,127 @@
package com.ruoyi.integration.api.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.web.domain.BasePojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
 * @author zhibing.pu
 * @Date 2025/7/12 10:20
 */
@Data
public class ChargingOrderVo extends BasePojo {
    @ApiModelProperty(value = "主键")
    private Long id;
    @ApiModelProperty(value = "订单编号")
    private String code;
    @ApiModelProperty(value = "订单类型(1=充电订单(小程序),2=充电订单(刷卡))")
    private Integer orderType;
    @ApiModelProperty(value = "订单来源(1=自己平台,2=三方平台)")
    private Integer orderSource;
    @ApiModelProperty(value = "运营商id")
    private Integer operatorId;
    @ApiModelProperty(value = "三方平台名称")
    private String tripartitePlatformName;
    @ApiModelProperty(value = "三方平台充电订单号")
    private String startChargeSeq;
    @ApiModelProperty(value = "平台或其他第三分名字")
    private String sourceName;
    @ApiModelProperty(value = "手续费")
    private BigDecimal commissionAmount;
    @ApiModelProperty(value = "分佣")
    private BigDecimal sharingAmount;
    @ApiModelProperty(value = "订单分类(1=线上,2=线下)")
    private Integer orderClassification;
    @ApiModelProperty(value = "用户id")
    private Long appUserId;
    @ApiModelProperty(value = "充电车辆 id")
    private Long appUserCarId;
    @ApiModelProperty(value = "充电车辆车牌号")
    private String plateNum;
    @ApiModelProperty(value = "站点 id")
    private Integer siteId;
    @ApiModelProperty(value = "停车场id")
    private Integer parkingLotId;
    @ApiModelProperty(value = "充电桩id")
    private Integer chargingPileId;
    @ApiModelProperty(value = "充电枪id")
    private Integer chargingGunId;
    @ApiModelProperty(value = "充电总度数")
    private BigDecimal chargingCapacity;
    @ApiModelProperty(value = "充电功率")
    private BigDecimal chargingPower;
    @ApiModelProperty(value = "充电开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "充电结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;
    @ApiModelProperty(value = "状态(0=未知,1=等待中/已插枪,2=启动中,3=充电中,4=停止中,5=已结束)")
    private Integer status;
    @ApiModelProperty(value = "结束方式(0=异常终止,1=主动终止,2=满电终止,3=费用不足终止)")
    private Integer endMode;
    @ApiModelProperty(value = "充值金额")
    private BigDecimal rechargeAmount;
    @ApiModelProperty(value = "充值支付方式(1=微信,2=支付宝)")
    private Integer rechargePaymentType;
    @ApiModelProperty(value = "充值支付状态(1=待支付,2=已支付)")
    private Integer rechargePaymentStatus;
    @ApiModelProperty(value = "充值支付第三方流水号")
    private String rechargeSerialNumber;
    @ApiModelProperty(value = "充电金额(传给硬件方的金额)")
    private BigDecimal chargeAmount;
    @ApiModelProperty(value = "剩余金额(用于前端展示)")
    private BigDecimal residualAmount;
    @ApiModelProperty(value = "订单金额(总金额)")
    private BigDecimal orderAmount;
    @ApiModelProperty(value = "优惠券id")
    private Long appCouponId;
    @ApiModelProperty(value = "优惠券抵扣金额")
    private BigDecimal couponDiscountAmount;
    @ApiModelProperty(value = "会员折扣")
    private BigDecimal vipDiscount;
    @ApiModelProperty(value = "会员优惠金额")
    private BigDecimal vipDiscountAmount;
    @ApiModelProperty(value = "支付金额(实付)")
    private BigDecimal paymentAmount;
    @ApiModelProperty(value = "退款流水号")
    private String refundCode;
    @ApiModelProperty(value = "标题")
    private String title;
    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundAmount;
    @ApiModelProperty(value = "累计服务费")
    private BigDecimal serviceCharge;
    @ApiModelProperty(value = "累计电费")
    private BigDecimal electrovalence;
    @ApiModelProperty(value = "电流")
    private BigDecimal current;
    @ApiModelProperty(value = "电压")
    private BigDecimal voltage;
    @ApiModelProperty(value = "电量")
    private BigDecimal electricity;
    @ApiModelProperty(value = "功率")
    private BigDecimal power;
    @ApiModelProperty(value = "退款状态(1=退款中,2=退款成功)")
    private Integer refundStatus;
    @ApiModelProperty(value = "退款第三方流水号")
    private String refundSerialNumber;
    @ApiModelProperty(value = "退款成功时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime refundTime;
    @ApiModelProperty(value = "总电量")
    @TableField("total_electricity")
    private BigDecimal totalElectricity;
    @ApiModelProperty(value = "支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime payTime;
    @ApiModelProperty(value = "实时需求电流")
    private BigDecimal needElec;
}
ruoyi-api/ruoyi-api-jianguan/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
New file
@@ -0,0 +1 @@
com.ruoyi.integration.api.factory.ChargingMessageClientFallbackFactory
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
@@ -326,4 +326,6 @@
    @GetMapping("/t-charging-order/getSumDegreeBySiteIds")
    R<BigDecimal> getSumDegreeBySiteIds(@RequestParam("siteIds") List<Integer> SiteIds);
}
ruoyi-service/ruoyi-integration/pom.xml
@@ -116,12 +116,6 @@
            <scope>test</scope>
        </dependency>
  
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <version>2.3.0</version>
        </dependency>
        <!--mongodb-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/AcquisitionBillingModeMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/AcquisitionBillingModeMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BaseMessage.java
File was renamed from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/base/BaseMessage.java
@@ -1,4 +1,4 @@
package com.ruoyi.integration.rocket.base;
package com.ruoyi.integration.iotda.model;
import lombok.Data;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BillingModeVerifyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BillingModeVerifyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BmsAbortMessage.java
File was renamed from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsAbortMessage.java
@@ -1,9 +1,6 @@
package com.ruoyi.integration.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.integration.rocket.base.BaseMessage;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.mongodb.core.mapping.Document;
/**
 * 充电阶段BMS中止
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BmsDemandAndChargerExportationMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsDemandAndChargerExportationMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
import java.math.BigDecimal;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/BmsInformationMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsInformationMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingHandshakeMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingHandshakeMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
import java.math.BigDecimal;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
@Data
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingOrderMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/base/ChargingOrderMessage.java
@@ -1,4 +1,4 @@
package com.ruoyi.jianguan.rocket.base;
package com.ruoyi.integration.iotda.model;
import lombok.Data;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingPileReturnsGroundLockDataMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileReturnsGroundLockDataMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ChargingPileStartsChargingMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileStartsChargingMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ClearOfflineCardReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ClearOfflineCardReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/EndChargeMessage.java
File was renamed from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/EndChargeMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.integration.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.integration.rocket.base.BaseMessage;
import lombok.Data;
import java.math.BigDecimal;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ErrorMessageMessage.java
File was renamed from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ErrorMessageMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.integration.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.integration.rocket.base.BaseMessage;
import lombok.Data;
@Data
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/GroundLockRealTimeDataMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GroundLockRealTimeDataMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/GunStatusMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/base/GunStatusMessage.java
@@ -1,4 +1,4 @@
package com.ruoyi.jianguan.rocket.base;
package com.ruoyi.integration.iotda.model;
import lombok.Data;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/MotorAbortMessage.java
File was renamed from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/MotorAbortMessage.java
@@ -1,9 +1,6 @@
package com.ruoyi.integration.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.integration.rocket.base.BaseMessage;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.mongodb.core.mapping.Document;
/**
 * 充电阶段充电机中止
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/OnlineMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/OnlineMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ParameterSettingMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ParameterSettingMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
import java.math.BigDecimal;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PingMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PingMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PlatformRemoteUpdateReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRemoteUpdateReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PlatformRestartReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRestartReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PlatformStartChargingReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStartChargingReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/PlatformStopChargingReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStopChargingReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/QrCodeDeliveryMessage.java
File was renamed from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/QrCodeDeliveryMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.integration.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.integration.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/QrCodeDeliveryReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/QueryOfflineCardReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QueryOfflineCardReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/SecurityDetectionMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SecurityDetectionMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/SetupBillingModelReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SetupBillingModelReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/SynchronizeOfflineCardReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SynchronizeOfflineCardReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/TimingSettingMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/TimingSettingReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/TransactionRecordMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TransactionRecordMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
import java.math.BigDecimal;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/UpdateBalanceReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UpdateBalanceReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
import java.math.BigDecimal;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/UploadRealTimeMonitoringDataMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UploadRealTimeMonitoringDataMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
import java.math.BigDecimal;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/WorkingParameterSettingReplyMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/WorkingParameterSettingReplyMessage.java
@@ -1,6 +1,5 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.integration.iotda.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -12,25 +12,20 @@
import com.ruoyi.integration.api.model.*;
import com.ruoyi.integration.iotda.constant.SendTagConstant;
import com.ruoyi.integration.iotda.enums.ServiceIdMenu;
import com.ruoyi.integration.iotda.model.*;
import com.ruoyi.integration.iotda.utils.produce.IotMessageProduce;
import com.ruoyi.integration.iotda.utils.tools.CP56Time2aConverter;
import com.ruoyi.integration.iotda.utils.tools.MessageUtil;
import com.ruoyi.integration.iotda.utils.tools.StrategyUtil;
import com.ruoyi.integration.rocket.model.*;
import com.ruoyi.integration.rocket.produce.ChargingMessageUtil;
import com.ruoyi.integration.rocket.produce.EnhanceProduce;
import com.ruoyi.integration.iotda.utils.tools.ChargingMessageUtil;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.producer.SendResult;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.*;
@@ -44,8 +39,6 @@
@RequestMapping("/iot")
public class IotMessageListener {
    @Autowired
    private EnhanceProduce enhanceProduce;
    @Autowired
    private MessageUtil messageUtil;
    @Autowired
@@ -93,7 +86,6 @@
        String productId = header.getString("product_id"); // 产品id
        String service_id = content.getString("service_id");
        log.info("服务id:{}",service_id);
        SendResult sendResult = null;
        ChargingMessage chargingMessage = new ChargingMessage();
        chargingMessage.setServiceId(service_id);
        // 设备消息下发
@@ -101,9 +93,6 @@
        switch (service_id){
            case SendTagConstant.ONLINE:
                OnlineMessage onlineMessage = JSON.parseObject(content.toJSONString(),OnlineMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.onlineMessage(onlineMessage);
                //直连
                chargingMessage.setOnlineMessage(onlineMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                // 响应硬件
@@ -123,6 +112,7 @@
                PingMessage pingMessage = JSON.parseObject(content.toJSONString(),PingMessage.class);
                //存储缓存中,5分钟有效
                redisTemplate.opsForValue().set("ping:" + pingMessage.getCharging_pile_code() + pingMessage.getCharging_gun_code(), pingMessage, 5, TimeUnit.MINUTES);
                // 响应硬件
                Pong pong = new Pong();
                pong.setCharging_pile_code(pingMessage.getCharging_pile_code());
@@ -135,36 +125,19 @@
                vo1.setPile_code(pingMessage.getCharging_pile_code());
                vo1.setStatus(pingMessage.getCharging_gun_status());
                chargingPileClient.updateChargingPileStatus(vo1);
                // 监管平台推送充电设备状态
                String gunCode = pingMessage.getCharging_pile_code() + pingMessage.getCharging_gun_code();
                ChargingMessage chargingMessage1 = new ChargingMessage();
                chargingMessage1.setServiceId(SendTagConstant.GUN_STATUS);
                GunStatusMessage gunStatusMessage = new GunStatusMessage();
                gunStatusMessage.setFullNumber(gunCode);
                chargingMessage1.setGunStatusMessage(gunStatusMessage);
                sendResult = enhanceProduce.gunStatusMessage(chargingMessage1);
                break;
            case SendTagConstant.END_CHARGE:
                EndChargeMessage endChargeMessage = JSON.parseObject(content.toJSONString(),EndChargeMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.endChargeMessage(endChargeMessage);
                //直连
                chargingMessage.setEndChargeMessage(endChargeMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.ERROR_MESSAGE:
                ErrorMessageMessage errorMessageMessage = JSON.parseObject(content.toJSONString(),ErrorMessageMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.errorMessageMessage(errorMessageMessage);
                //直连
                chargingMessage.setErrorMessageMessage(errorMessageMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.BILLING_MODE_VERIFY:
                BillingModeVerifyMessage billingModeVerifyMessage = JSON.parseObject(content.toJSONString(),BillingModeVerifyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.billingModeVerifyMessage(billingModeVerifyMessage);
                //直连
                chargingMessage.setBillingModeVerifyMessage(billingModeVerifyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                // 响应硬件
@@ -193,9 +166,6 @@
                break;
            case SendTagConstant.ACQUISITION_BILLING_MODE:
                AcquisitionBillingModeMessage acquisitionBillingModeMessage = JSON.parseObject(content.toJSONString(),AcquisitionBillingModeMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.acquisitionBillingModeMessage(acquisitionBillingModeMessage);
                //直连
                chargingMessage.setAcquisitionBillingModeMessage(acquisitionBillingModeMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                // 响应硬件   计费模型请求应答  1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段
@@ -215,65 +185,41 @@
            case SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA:
                log.info("充电实时数据上传");
                UploadRealTimeMonitoringDataMessage uploadRealTimeMonitoringDataMessage = JSON.parseObject(content.toJSONString(),UploadRealTimeMonitoringDataMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.uploadRealTimeMonitoringDataMessage(uploadRealTimeMonitoringDataMessage);
                //直连
                chargingMessage.setUploadRealTimeMonitoringDataMessage(uploadRealTimeMonitoringDataMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.CHARGING_HANDSHAKE:
                ChargingHandshakeMessage chargingHandshakeMessage = JSON.parseObject(content.toJSONString(),ChargingHandshakeMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.chargingHandshakeMessage(chargingHandshakeMessage);
                //直连
                chargingMessage.setChargingHandshakeMessage(chargingHandshakeMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.PARAMETER_SETTING:
                ParameterSettingMessage parameterSettingMessage = JSON.parseObject(content.toJSONString(),ParameterSettingMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.parameterSettingMessage(parameterSettingMessage);
                //直连
                chargingMessage.setParameterSettingMessage(parameterSettingMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.BMS_ABORT:
                BmsAbortMessage bmsAbortMessage = JSON.parseObject(content.toJSONString(),BmsAbortMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.bmsAbortMessage(bmsAbortMessage);
                //直连
                chargingMessage.setBmsAbortMessage(bmsAbortMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.MOTOR_ABORT:
                MotorAbortMessage motorAbortMessage = JSON.parseObject(content.toJSONString(),MotorAbortMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.motorAbortMessage(motorAbortMessage);
                //直连
                chargingMessage.setMotorAbortMessage(motorAbortMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION:
                BmsDemandAndChargerExportationMessage bmsDemandAndChargerExportationMessage = JSON.parseObject(content.toJSONString(),BmsDemandAndChargerExportationMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.bmsDemandAndChargerExportationMessage(bmsDemandAndChargerExportationMessage);
                //直连
                chargingMessage.setBmsDemandAndChargerExportationMessage(bmsDemandAndChargerExportationMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.BMS_INFORMATION:
                BmsInformationMessage bmsInformationMessage = JSON.parseObject(content.toJSONString(),BmsInformationMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.bmsInformationMessage(bmsInformationMessage);
                //直连
                chargingMessage.setBmsInformationMessage(bmsInformationMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.CHARGING_PILE_STARTS_CHARGING:
                ChargingPileStartsChargingMessage chargingPileStartsChargingMessage = JSON.parseObject(content.toJSONString(),ChargingPileStartsChargingMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.chargingPileStartsChargingMessage(chargingPileStartsChargingMessage);
                //直连
                chargingMessage.setChargingPileStartsChargingMessage(chargingPileStartsChargingMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                // 响应硬件
@@ -288,26 +234,17 @@
                break;
            case SendTagConstant.PLATFORM_START_CHARGING_REPLY:
                PlatformStartChargingReplyMessage platformStartChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStartChargingReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.platformStartChargingReplyMessage(platformStartChargingReplyMessage);
                //直连
                chargingMessage.setPlatformStartChargingReplyMessage(platformStartChargingReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.PLATFORM_STOP_CHARGING_REPLY:
                PlatformStopChargingReplyMessage platformStopChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStopChargingReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.platformStopChargingReplyMessage(platformStopChargingReplyMessage);
                //直连
                chargingMessage.setPlatformStopChargingReplyMessage(platformStopChargingReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.TRANSACTION_RECORD:
                TransactionRecordMessage transactionRecordMessage = JSON.parseObject(content.toJSONString(),TransactionRecordMessage.class);
                transactionRecordMessage.setResult(content.toJSONString());
                //走rocketmq
//                sendResult = enhanceProduce.transactionRecordMessage(transactionRecordMessage);
                //直连
                chargingMessage.setTransactionRecordMessage(transactionRecordMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                // 响应硬件
@@ -318,41 +255,26 @@
                break;
            case SendTagConstant.UPDATE_BALANCE_REPLY:
                UpdateBalanceReplyMessage updateBalanceReplyMessage = JSON.parseObject(content.toJSONString(),UpdateBalanceReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.updateBalanceReplyMessage(updateBalanceReplyMessage);
                //直连
                chargingMessage.setUpdateBalanceReplyMessage(updateBalanceReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.SYNCHRONIZE_OFFLINE_CARD_REPLY:
                SynchronizeOfflineCardReplyMessage synchronizeOfflineCardReplyMessage = JSON.parseObject(content.toJSONString(),SynchronizeOfflineCardReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.synchronizeOfflineCardReplyMessage(synchronizeOfflineCardReplyMessage);
                //直连
                chargingMessage.setSynchronizeOfflineCardReplyMessage(synchronizeOfflineCardReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.CLEAR_OFFLINE_CARD_REPLY:
                ClearOfflineCardReplyMessage clearOfflineCardReplyMessage = JSON.parseObject(content.toJSONString(),ClearOfflineCardReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.clearOfflineCardReplyMessage(clearOfflineCardReplyMessage);
                //直连
                chargingMessage.setClearOfflineCardReplyMessage(clearOfflineCardReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.WORKING_PARAMETER_SETTING_REPLY:
                WorkingParameterSettingReplyMessage workingParameterSettingReplyMessage = JSON.parseObject(content.toJSONString(),WorkingParameterSettingReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.workingParameterSettingReplyMessage(workingParameterSettingReplyMessage);
                //直连
                chargingMessage.setWorkingParameterSettingReplyMessage(workingParameterSettingReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.TIMING_SETTING:
                TimingSettingMessage timingSettingMessage = JSON.parseObject(content.toJSONString(),TimingSettingMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.timingSettingMessage(timingSettingMessage);
                //直连
                chargingMessage.setTimingSettingMessage(timingSettingMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                // 响应硬件 对时设置应答
@@ -363,62 +285,40 @@
                break;
            case SendTagConstant.SETUP_BILLING_MODEL_REPLY:
                SetupBillingModelReplyMessage setupBillingModelReplyMessage = JSON.parseObject(content.toJSONString(),SetupBillingModelReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.setupBillingModelReplyMessage(setupBillingModelReplyMessage);
                //直连
                chargingMessage.setSetupBillingModelReplyMessage(setupBillingModelReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.GROUND_LOCK_REAL_TIME_DATA:
                GroundLockRealTimeDataMessage groundLockRealTimeDataMessage = JSON.parseObject(content.toJSONString(),GroundLockRealTimeDataMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.groundLockRealTimeDataMessage(groundLockRealTimeDataMessage);
                //直连
                chargingMessage.setGroundLockRealTimeDataMessage(groundLockRealTimeDataMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.CHARGING_PILE_RETURNS_GROUND_LOCK_DATA:
                ChargingPileReturnsGroundLockDataMessage chargingPileReturnsGroundLockDataMessage = JSON.parseObject(content.toJSONString(),ChargingPileReturnsGroundLockDataMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.chargingPileReturnsGroundLockDataMessage(chargingPileReturnsGroundLockDataMessage);
                //直连
                chargingMessage.setChargingPileReturnsGroundLockDataMessage(chargingPileReturnsGroundLockDataMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.PLATFORM_RESTART_REPLY:
                PlatformRestartReplyMessage platformRestartReplyMessage = JSON.parseObject(content.toJSONString(),PlatformRestartReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.platformRestartReplyMessage(platformRestartReplyMessage);
                //直连
                chargingMessage.setPlatformRestartReplyMessage(platformRestartReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.QR_CODE_DELIVERY_REPLY:
                QrCodeDeliveryReplyMessage qrCodeDeliveryReplyMessage = JSON.parseObject(content.toJSONString(),QrCodeDeliveryReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.qrCodeDeliveryReplyMessage(qrCodeDeliveryReplyMessage);
                //直连
                chargingMessage.setQrCodeDeliveryReplyMessage(qrCodeDeliveryReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            case SendTagConstant.SECURITY_DETECTION:
                SecurityDetectionMessage securityDetectionMessage = JSON.parseObject(content.toJSONString(),SecurityDetectionMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.securityDetectionMessage(securityDetectionMessage);
                //直连
                chargingMessage.setSecurityDetectionMessage(securityDetectionMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
            default:
                PlatformRemoteUpdateReplyMessage platformRemoteUpdateReplyMessage = JSON.parseObject(content.toJSONString(),PlatformRemoteUpdateReplyMessage.class);
                //走rocketmq
//                sendResult = enhanceProduce.platformRemoteUpdateReplyMessage(platformRemoteUpdateReplyMessage);
                //直连
                chargingMessage.setPlatformRemoteUpdateReplyMessage(platformRemoteUpdateReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                break;
        }
        log.info("rocketmq消息下发结果:{}",sendResult);
        return AjaxResult.success();
    }
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/ChargingMessageUtil.java
File was renamed from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageUtil.java
@@ -1,17 +1,14 @@
package com.ruoyi.integration.rocket.produce;
package com.ruoyi.integration.iotda.utils.tools;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.chargingPile.api.feignClient.AccountingStrategyDetailClient;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo;
import com.ruoyi.integration.api.model.*;
import com.ruoyi.integration.drainage.TCECPushUtil;
import com.ruoyi.integration.iotda.constant.SendTagConstant;
import com.ruoyi.integration.iotda.model.*;
import com.ruoyi.integration.mongodb.service.*;
import com.ruoyi.integration.rocket.model.*;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
@@ -20,7 +17,6 @@
import com.ruoyi.order.api.vo.SecurityDetectionVO;
import com.ruoyi.order.api.vo.TransactionRecordMessageVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.producer.SendResult;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
@@ -30,9 +26,6 @@
import javax.annotation.Resource;
import java.math.RoundingMode;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -102,24 +95,18 @@
    private QrCodeDeliveryReplyService qrCodeDeliveryReplyService;
    @Autowired
    private SecurityDetectionService securityDetectionService;
    @Autowired
    private TCECPushUtil tcecPushUtil;
    @Resource
    private ChargingPileClient chargingPileClient;
    @Resource
    private ChargingGunClient chargingGunClient;
    @Resource
    private RedisTemplate redisTemplate;
    @Autowired
    private EnhanceProduce enhanceProduce;
    public void handleMessage(com.ruoyi.integration.rocket.model.ChargingMessage message){
    public void handleMessage(ChargingMessage message){
        log.info("收到的消息内容:{}",message);
        String serviceId = message.getServiceId();
        if(!StringUtils.hasLength(serviceId)){
@@ -149,14 +136,6 @@
                vo1.setPile_code(pingMessage.getCharging_pile_code());
                vo1.setStatus(pingMessage.getCharging_gun_status());
                chargingPileClient.updateChargingPileStatus(vo1);
                // 监管平台推送充电设备状态
                String gunCode = pingMessage.getCharging_pile_code() + pingMessage.getCharging_gun_code();
                ChargingMessage chargingMessage = new ChargingMessage();
                chargingMessage.setServiceId(SendTagConstant.GUN_STATUS);
                GunStatusMessage gunStatusMessage = new GunStatusMessage();
                gunStatusMessage.setFullNumber(gunCode);
                chargingMessage.setGunStatusMessage(gunStatusMessage);
                SendResult sendResult = enhanceProduce.gunStatusMessage(chargingMessage);
                break;
            case SendTagConstant.END_CHARGE:
                EndChargeMessage endChargeMessage = message.getEndChargeMessage();
@@ -167,20 +146,6 @@
                endChargeService.create(endCharge);
                // 业务处理
                chargingOrderClient.endCharge(endCharge.getTransaction_serial_number());
                // 订单id
                String transactionSerialNumber = endCharge.getTransaction_serial_number();
                ChargingOrderMessage chargingOrderMessage = new ChargingOrderMessage();
                chargingOrderMessage.setOrderNumber(transactionSerialNumber);
                // 推送充电订单信息
                ChargingMessage chargingMessage1 = new ChargingMessage();
                chargingMessage1.setServiceId(SendTagConstant.ORDER_INFO);
                chargingMessage1.setOrderMessage(chargingOrderMessage);
                enhanceProduce.orderInfoMessage(chargingMessage1);
                // 推送充电订单状态
                ChargingMessage chargingMessage2 = new ChargingMessage();
                chargingMessage2.setServiceId(SendTagConstant.ORDER_STATUS);
                chargingMessage2.setOrderMessage(chargingOrderMessage);
                enhanceProduce.orderStatusMessage(chargingMessage2);
                break;
            case SendTagConstant.ERROR_MESSAGE:
                ErrorMessageMessage errorMessageMessage1 = message.getErrorMessageMessage();
@@ -244,14 +209,6 @@
                    UploadRealTimeMonitoringDataQuery query = new UploadRealTimeMonitoringDataQuery();
                    BeanUtils.copyProperties(uploadRealTimeMonitoringData, query);
                    chargingOrderClient.chargeMonitoring(query);
                    // 订单id
                    ChargingOrderMessage chargingOrderMessage3 = new ChargingOrderMessage();
                    chargingOrderMessage3.setOrderNumber(chargingOrder.getCode());
                    // 推送充电订单信息
                    ChargingMessage chargingMessage4 = new ChargingMessage();
                    chargingMessage4.setServiceId(SendTagConstant.ORDER_STATUS);
                    chargingMessage4.setOrderMessage(chargingOrderMessage3);
                    enhanceProduce.orderInfoMessage(chargingMessage4);
                } catch (Exception e) {
                    e.printStackTrace();
                }
@@ -367,13 +324,9 @@
                //计算费用
                TransactionRecordMessageVO vo = new TransactionRecordMessageVO();
                BeanUtils.copyProperties(transactionRecordMessage,vo);
                int code = chargingOrderClient.endChargeBillingCharge(vo).getCode();
                if(200 != code){
                    //失败后添加到队列中继续处理数据
                    redisTemplate.opsForSet().add(SendTagConstant.TRANSACTION_RECORD, transactionRecordMessage.getTransaction_serial_number());
                }
                chargingOrderClient.endChargeBillingCharge(vo);
    
                // 添加实时上传记录结束记录
                // 添加实时上传结束记录
                // 查询mogondb上一条数据
                UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataService.getLastDataById(transactionRecordMessage.getTransaction_serial_number());
                if(Objects.nonNull(data) && data.getStatus() != 5){
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ErrorMessageMessageService.java
@@ -1,7 +1,7 @@
package com.ruoyi.integration.mongodb.service;
import com.ruoyi.integration.mongodb.base.BaseService;
import com.ruoyi.integration.rocket.model.ErrorMessageMessage;
import com.ruoyi.integration.iotda.model.ErrorMessageMessage;
public interface ErrorMessageMessageService extends BaseService<ErrorMessageMessage> {
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ErrorMessageMessageServiceImpl.java
@@ -1,10 +1,8 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.EndCharge;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.mongodb.service.EndChargeService;
import com.ruoyi.integration.mongodb.service.ErrorMessageMessageService;
import com.ruoyi.integration.rocket.model.ErrorMessageMessage;
import com.ruoyi.integration.iotda.model.ErrorMessageMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/configuration/EnvironmentIsolationConfig.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/configuration/RocketEnhanceProperties.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/configuration/RocketMQEnhanceAutoConfiguration.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/configuration/RocketMQMessageConverter.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/constant/EnhanceMessageConstant.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/AcquisitionBillingModeMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BillingModeVerifyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsAbortMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsDemandAndChargerExportationMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsInformationMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingHandshakeMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileReturnsGroundLockDataMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileStartsChargingMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ClearOfflineCardReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EndChargeMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ErrorMessageMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/GroundLockRealTimeDataMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/MotorAbortMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/OnlineMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ParameterSettingMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PingMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRemoteUpdateReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRestartReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStartChargingReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStopChargingReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/QrCodeDeliveryReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/QueryOfflineCardReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SecurityDetectionMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SetupBillingModelReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SynchronizeOfflineCardReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TimingSettingMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TransactionRecordMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UpdateBalanceReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UploadRealTimeMonitoringDataMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/WorkingParameterSettingReplyMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/AcquisitionBillingModeMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BillingModeVerifyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingHandshakeMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingOrderMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileReturnsGroundLockDataMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileStartsChargingMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ClearOfflineCardReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/GroundLockRealTimeDataMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/GunStatusMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/OnlineMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ParameterSettingMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PingMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRemoteUpdateReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRestartReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStartChargingReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStopChargingReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/QrCodeDeliveryReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/QueryOfflineCardReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SecurityDetectionMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SetupBillingModelReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SynchronizeOfflineCardReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TimingSettingMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TimingSettingReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UpdateBalanceReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UploadRealTimeMonitoringDataMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/WorkingParameterSettingReplyMessage.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduce.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/util/EnhanceMessageHandler.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/util/RocketMQEnhanceTemplate.java
File was deleted
ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java
@@ -1,54 +1,7 @@
package com.ruoyi.integration;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.common.utils.JacksonUtils;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
import com.ruoyi.chargingPile.api.feignClient.SiteClient;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.barrierGate.model.CloudParkingOrder;
import com.ruoyi.integration.barrierGate.server.ParkingOrderService;
import com.ruoyi.integration.drainage.AESUtil;
import com.ruoyi.integration.drainage.TCECSuperviseUtil;
import com.ruoyi.integration.drainage.model.*;
import com.ruoyi.integration.drainage.util.AesEncryption;
import com.ruoyi.integration.drainage.util.HMacMD5Util;
import com.ruoyi.integration.drainage.util.SequenceGenerator;
import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
import com.ruoyi.order.api.dto.ChargingStatisticeDTO;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.other.api.domain.Operator;
import com.ruoyi.other.api.feignClient.OperatorClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cglib.core.Local;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiIntegrationApplication.class)
public class RuoYiIntegrationApplicationTests {
ruoyi-service/ruoyi-jianguan/pom.xml
@@ -104,38 +104,6 @@
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--rocketmq-->
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <version>2.3.0</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.alibaba.cloud</groupId>-->
<!--            <artifactId>spring-cloud-starter-stream-rocketmq</artifactId>-->
<!--            <version>2.2.2.RELEASE</version>-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>org.apache.rocketmq</groupId>-->
<!--                    <artifactId>rocketmq-client</artifactId>-->
<!--                </exclusion>-->
<!--                <exclusion>-->
<!--                    <groupId>org.apache.rocketmq</groupId>-->
<!--                    <artifactId>rocketmq-acl</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
<!--        </dependency>-->
<!--        -->
<!--        <dependency>-->
<!--            <groupId>org.apache.rocketmq</groupId>-->
<!--            <artifactId>rocketmq-client</artifactId>-->
<!--            <version>4.7.1</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.apache.rocketmq</groupId>-->
<!--            <artifactId>rocketmq-acl</artifactId>-->
<!--            <version>4.7.1</version>-->
<!--        </dependency>-->
        <!--mongodb-->
        <dependency>
@@ -165,6 +133,12 @@
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-integration</artifactId>
        </dependency>
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-api-jianguan</artifactId>
            <version>3.6.2</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/controller/ChargingMessageController.java
New file
@@ -0,0 +1,255 @@
package com.ruoyi.jianguan.controller;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.vo.ChargingOrderVo;
import com.ruoyi.jianguan.model.SupChargeOrderInfo;
import com.ruoyi.jianguan.model.SupEquipChargeStatus;
import com.ruoyi.jianguan.util.ChuanYiChongSuperviseUtil;
import com.ruoyi.jianguan.util.TCECSuperviseUtil;
import com.ruoyi.other.api.domain.Operator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
 * @author zhibing.pu
 * @Date 2025/7/12 10:07
 */
@Slf4j
@RestController
@RequestMapping("/chargingMessage")
public class ChargingMessageController {
    @Resource
    private TCECSuperviseUtil tcecSuperviseUtil;
    private final static String operatorId = "906171535";
    @Resource
    private ChargingGunClient chargingGunClient;
    @Resource
    private ChuanYiChongSuperviseUtil chuanYiChongSuperviseUtil;
    /**
     * 推送充电订单信息
     * @param chargingOrder
     * @return
     */
    @ResponseBody
    @RequestMapping("/pushOrderInfo")
    public R pushOrderInfo(@RequestBody ChargingOrderVo chargingOrder){
        SupChargeOrderInfo supChargeOrderInfo = new SupChargeOrderInfo();
        supChargeOrderInfo.setOperatorID(operatorId);
        supChargeOrderInfo.setEquipmentOwnerID(operatorId);
        supChargeOrderInfo.setStationID(String.valueOf(chargingOrder.getSiteId()));
        supChargeOrderInfo.setEquipmentID(String.valueOf(chargingOrder.getChargingPileId()));
        supChargeOrderInfo.setOrderNo(operatorId+chargingOrder.getCode());
        TChargingGun chargingGun1 = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
        supChargeOrderInfo.setConnectorID(chargingGun1.getFullNumber());
        supChargeOrderInfo.setEquipmentClassification(1);
        supChargeOrderInfo.setPushTimeStamp(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
        supChargeOrderInfo.setStartTime(chargingOrder.getStartTime() != null ? chargingOrder.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) : "");
        supChargeOrderInfo.setEndTime(chargingOrder.getEndTime() != null ? chargingOrder.getEndTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) : "");
        supChargeOrderInfo.setTotalPower(chargingOrder.getElectrovalence());
        supChargeOrderInfo.setTotalElecMoney(chargingOrder.getElectrovalence());
        supChargeOrderInfo.setTotalServiceMoney(chargingOrder.getServiceCharge());
        supChargeOrderInfo.setTotalMoney(chargingOrder.getOrderAmount());
        switch (chargingOrder.getEndMode()){
            case 0:
                supChargeOrderInfo.setStopReason(5);
                supChargeOrderInfo.setStopDesc("异常终止");
                break;
            case 1:
                supChargeOrderInfo.setStopReason(0);
                supChargeOrderInfo.setStopDesc("用户手动停止充电");
                break;
            case 2:
                supChargeOrderInfo.setStopReason(1);
                supChargeOrderInfo.setStopDesc("客户归属地运营商平台停止充电");
                break;
            case 3:
                supChargeOrderInfo.setStopReason(1);
                supChargeOrderInfo.setStopDesc("费用不足中止");
                break;
        }
        tcecSuperviseUtil.notificationChargeOrderInfo(new Operator(), supChargeOrderInfo);
        return R.ok();
    }
    /**
     * 推送充电订单状态
     * @param chargingOrder
     * @return
     */
    @ResponseBody
    @RequestMapping("/pushOrderStatus")
    public R pushOrderStatus(@RequestBody ChargingOrderVo chargingOrder){
        log.info("推送充电订单状态:{}", chargingOrder);
        SupEquipChargeStatus supEquipChargeStatus = new SupEquipChargeStatus();
        supEquipChargeStatus.setOperatorID(operatorId);
        supEquipChargeStatus.setEquipmentOwnerID(operatorId);
        supEquipChargeStatus.setStationID(String.valueOf(chargingOrder.getSiteId()));
        supEquipChargeStatus.setEquipmentID(String.valueOf(chargingOrder.getChargingPileId()));
        supEquipChargeStatus.setOrderNo(operatorId+chargingOrder.getCode());
        switch (chargingOrder.getStatus()){
            case 2:
                supEquipChargeStatus.setConnectorStatus(1);
                break;
            case 3:
                supEquipChargeStatus.setConnectorStatus(2);
                break;
            case 4:
                supEquipChargeStatus.setConnectorStatus(3);
                break;
            case 5:
                supEquipChargeStatus.setConnectorStatus(4);
                break;
        }
        TChargingGun chargingGun2 = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
        supEquipChargeStatus.setConnectorID(chargingGun2.getFullNumber());
        supEquipChargeStatus.setEquipmentClassification(1);
        supEquipChargeStatus.setPushTimeStamp(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
        switch (chargingGun2.getStatus()){
            case 1:
                supEquipChargeStatus.setConnectorStatus(0);
                break;
            case 2:
                supEquipChargeStatus.setConnectorStatus(1);
                break;
            case 3:
                supEquipChargeStatus.setConnectorStatus(2);
                break;
            case 4:
                supEquipChargeStatus.setConnectorStatus(3);
                break;
            case 5:
                supEquipChargeStatus.setConnectorStatus(3);
                break;
            case 6:
                supEquipChargeStatus.setConnectorStatus(4);
                break;
            case 7:
                supEquipChargeStatus.setConnectorStatus(255);
                break;
        }
        supEquipChargeStatus.setCurrentA(chargingOrder.getCurrent());
        supEquipChargeStatus.setSOC(null != chargingOrder.getTotalElectricity()?chargingOrder.getTotalElectricity():new BigDecimal("1"));
        supEquipChargeStatus.setStartTime(chargingOrder.getStartTime() != null ? chargingOrder.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) : "");
        supEquipChargeStatus.setEndTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
        supEquipChargeStatus.setTotalPower(chargingOrder.getElectrovalence());
        tcecSuperviseUtil.notificationSupEquipChargeStatus(new Operator(), supEquipChargeStatus);
        // 川逸充
        if (chargingOrder.getRechargePaymentType()==3){
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("StartChargeSeq",chargingOrder.getCode());
            jsonObject.put("ConnectorID",chargingGun2.getFullNumber());
            LocalDateTime startTime = chargingOrder.getStartTime();
            //状态(0=未知,1=等待中/已插枪,2=启动中,3=充电中,4=停止中,5=已结束)
            int tempStatus = 0;
            switch (chargingOrder.getStatus()){
                case 1:
                    tempStatus=1;
                case 2:
                    tempStatus=1;
                    jsonObject.put("StartChargeSeqStat",tempStatus);
                    if (startTime!=null){
                        jsonObject.put("StartTime",startTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    }else{
                        LocalDateTime now = LocalDateTime.now();
                        // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                        jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    }
                    chuanYiChongSuperviseUtil.notificationStationStatus(new Operator(), jsonObject);
                    break;
                case 3:
                    tempStatus=2;
                    jsonObject.put("StartChargeSeqStat",tempStatus);
                    if (startTime!=null){
                        jsonObject.put("StartTime",startTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    }else{
                        LocalDateTime now = LocalDateTime.now();
                        // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                        jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    }
                    chuanYiChongSuperviseUtil.notificationStationStatus(new Operator(), jsonObject);
                    break;
                case 4:
                    tempStatus=3;
                    jsonObject.put("StartChargeSeqStat",tempStatus);
                    if (startTime!=null){
                        jsonObject.put("StartTime",startTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    }else{
                        LocalDateTime now = LocalDateTime.now();
                        // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                        jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    }
                    chuanYiChongSuperviseUtil.notificationStationStatus(new Operator(), jsonObject);
                    break;
                case 5:
                    jsonObject.put("StartChargeSeqStat",4);
                    int temp = 0;
                    //充电枪状态(1=离线,2=空闲,3=占用(未充电),4=占用(充电中),5=占用(已充满),6=占用(预约锁定),7=故障)
                    switch (chargingGun2.getStatus()){
                        case 1:
                            temp = 0;
                            break;
                        case 2:
                            temp=1;
                            break;
                        case 3:
                            temp=2;
                            break;
                        case 4:
                            temp=3;
                            break;
                        case 5:
                            temp=4;
                            break;
                        case 6:
                            temp=4;
                            break;
                        case 7:
                            temp = 255;
                            break;
                    }
                    jsonObject.put("ConnectorStatus",temp);
                    jsonObject.put("CurrentA",chargingOrder.getCurrent());
                    jsonObject.put("VoltageA",chargingOrder.getVoltage());
                    LocalDateTime startTime2 = chargingOrder.getStartTime();
                    if (startTime2!=null){
                        jsonObject.put("StartTime",startTime2.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    }else{
                        LocalDateTime now = LocalDateTime.now();
                        // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                        jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    }
                    LocalDateTime now = LocalDateTime.now();
                    // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                    jsonObject.put("EndTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    jsonObject.put("TotalPower",chargingOrder.getElectricity());
                    jsonObject.put("TotalMoney",chargingOrder.getOrderAmount());
                    chuanYiChongSuperviseUtil.notificationSupEquipChargeStatus(new Operator(), jsonObject);
                    break;
            }
        }
        return R.ok();
    }
}
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java
@@ -3,12 +3,10 @@
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.integration.api.model.*;
import com.ruoyi.jianguan.mongodb.service.*;
import com.ruoyi.jianguan.mqtt.config.TopicConstants;
import com.ruoyi.jianguan.mqtt.util.MqttPushUtil;
import com.ruoyi.jianguan.rocket.model.ErrorMessageMessage;
import io.netty.util.concurrent.DefaultThreadFactory;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@@ -16,10 +14,8 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.concurrent.*;
@@ -40,7 +36,6 @@
     * 每天的9点执行的任务
     */
    @Scheduled(cron = "0 0 10 * * *")
//    @Scheduled(fixedRate = 60000)
    public void taskDay(){
        try {
            // 传输mongodb的硬件数据
@@ -105,12 +100,6 @@
            });
            TimeUnit.MILLISECONDS.sleep(1);
//            Future<String> future = customthreadPoolExecutor.submit(() -> {
//                log.info("线程:{},办理业务", Thread.currentThread().getName());
//                return "业务办理完成";
//            });
//            log.info(future.get());
        } finally {
            gracefulShutdown(customthreadPoolExecutor);
        }
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/model/BaseMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/base/BaseMessage.java
@@ -1,4 +1,4 @@
package com.ruoyi.jianguan.rocket.base;
package com.ruoyi.jianguan.model;
import lombok.Data;
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/model/ErrorMessageMessage.java
File was renamed from ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ErrorMessageMessage.java
@@ -1,6 +1,6 @@
package com.ruoyi.jianguan.rocket.model;
package com.ruoyi.jianguan.model;
import com.ruoyi.jianguan.rocket.base.BaseMessage;
import com.ruoyi.jianguan.model.BaseMessage;
import lombok.Data;
/**
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ErrorMessageMessageService.java
@@ -1,8 +1,7 @@
package com.ruoyi.jianguan.mongodb.service;
import com.ruoyi.integration.api.model.EndCharge;
import com.ruoyi.jianguan.mongodb.base.BaseService;
import com.ruoyi.jianguan.rocket.model.ErrorMessageMessage;
import com.ruoyi.jianguan.model.ErrorMessageMessage;
import java.util.List;
import java.util.Date;
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/GroundLockRealTimeDataService.java
@@ -2,7 +2,6 @@
import com.ruoyi.integration.api.model.GroundLockRealTimeData;
import com.ruoyi.jianguan.mongodb.base.BaseService;
import com.ruoyi.jianguan.rocket.model.ErrorMessageMessage;
import java.util.List;
import java.util.Date;
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ErrorMessageMessageServiceImpl.java
@@ -1,10 +1,8 @@
package com.ruoyi.jianguan.mongodb.service.impl;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.integration.api.model.EndCharge;
import com.ruoyi.jianguan.constant.IotConstant;
import com.ruoyi.jianguan.mongodb.service.ErrorMessageMessageService;
import com.ruoyi.jianguan.rocket.model.ErrorMessageMessage;
import com.ruoyi.jianguan.model.ErrorMessageMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java
@@ -1,10 +1,8 @@
package com.ruoyi.jianguan.mongodb.service.impl;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.integration.api.model.GroundLockRealTimeData;
import com.ruoyi.jianguan.constant.IotConstant;
import com.ruoyi.jianguan.mongodb.service.GroundLockRealTimeDataService;
import com.ruoyi.jianguan.rocket.model.ErrorMessageMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/base/JianGuanMessage.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/configuration/EnvironmentIsolationConfig.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/configuration/RocketEnhanceProperties.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/configuration/RocketMQEnhanceAutoConfiguration.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/configuration/RocketMQMessageConverter.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/constant/EnhanceMessageConstant.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsAbortMessage.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingOrderMessage.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/EndChargeMessage.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GunStatusMessage.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/MotorAbortMessage.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryMessage.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/produce/ChargingMessageListener.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/util/EnhanceMessageHandler.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/util/RocketMQEnhanceTemplate.java
File was deleted
ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/util/TaskUtil.java
New file
@@ -0,0 +1,288 @@
package com.ruoyi.jianguan.util;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.jianguan.model.ConnectorStatusInfo;
import com.ruoyi.jianguan.model.SupEquipChargeStatus;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.vo.TChargingOrderVo;
import com.ruoyi.other.api.domain.Operator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * @author zhibing.pu
 * @Date 2025/7/12 9:10
 */
@Slf4j
@Component
public class TaskUtil {
    @Resource
    private ChargingGunClient chargingGunClient;
    private final static String operatorId = "906171535";
    @Resource
    private TCECSuperviseUtil tcecSuperviseUtil;
    @Resource
    private ChargingOrderClient chargingOrderClient;
    @Resource
    private RedisTemplate redisTemplate;
    @Resource
    private ChuanYiChongSuperviseUtil chuanYiChongSuperviseUtil;
    /**
     * 10秒定时推送枪状态
     */
    @Scheduled(fixedRate = 10000)
    public void taskPushStatus(){
        pushStatus();
    }
    /**
     * 1分钟定时推送订单状态
     */
    @Scheduled(fixedRate = 60000)
    public void taskPushOrderStatus(){
//        pushOrderStatus();
    }
    /**
     * 定时推送订单状态
     */
    public void pushOrderStatus(){
        TChargingOrderVo order = new TChargingOrderVo();
        order.setStatusList(new ArrayList<Integer>(){{
            add(3);
        }});
        List<TChargingOrder> orders = chargingOrderClient.getChargingOrder(order).getData();
        for (TChargingOrder chargingOrder : orders) {
            log.info("推送充电订单状态:{}", chargingOrder);
            SupEquipChargeStatus supEquipChargeStatus = new SupEquipChargeStatus();
            supEquipChargeStatus.setOperatorID(operatorId);
            supEquipChargeStatus.setEquipmentOwnerID(operatorId);
            supEquipChargeStatus.setStationID(String.valueOf(chargingOrder.getSiteId()));
            supEquipChargeStatus.setEquipmentID(String.valueOf(chargingOrder.getChargingPileId()));
            supEquipChargeStatus.setOrderNo(operatorId+chargingOrder.getCode());
            switch (chargingOrder.getStatus()){
                case 2:
                    supEquipChargeStatus.setConnectorStatus(1);
                    break;
                case 3:
                    supEquipChargeStatus.setConnectorStatus(2);
                    break;
                case 4:
                    supEquipChargeStatus.setConnectorStatus(3);
                    break;
                case 5:
                    supEquipChargeStatus.setConnectorStatus(4);
                    break;
            }
            TChargingGun chargingGun2 = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
            supEquipChargeStatus.setConnectorID(chargingGun2.getFullNumber());
            supEquipChargeStatus.setEquipmentClassification(1);
            supEquipChargeStatus.setPushTimeStamp(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
            switch (chargingGun2.getStatus()){
                case 1:
                    supEquipChargeStatus.setConnectorStatus(0);
                    break;
                case 2:
                    supEquipChargeStatus.setConnectorStatus(1);
                    break;
                case 3:
                    supEquipChargeStatus.setConnectorStatus(2);
                    break;
                case 4:
                    supEquipChargeStatus.setConnectorStatus(3);
                    break;
                case 5:
                    supEquipChargeStatus.setConnectorStatus(3);
                    break;
                case 6:
                    supEquipChargeStatus.setConnectorStatus(4);
                    break;
                case 7:
                    supEquipChargeStatus.setConnectorStatus(255);
                    break;
            }
            supEquipChargeStatus.setCurrentA(chargingOrder.getCurrent());
            supEquipChargeStatus.setSOC(null != chargingOrder.getTotalElectricity()?chargingOrder.getTotalElectricity():new BigDecimal("1"));
            supEquipChargeStatus.setStartTime(chargingOrder.getStartTime() != null ? chargingOrder.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) : "");
            supEquipChargeStatus.setEndTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
            supEquipChargeStatus.setTotalPower(chargingOrder.getElectrovalence());
            tcecSuperviseUtil.notificationSupEquipChargeStatus(new Operator(), supEquipChargeStatus);
            // 川逸充
            if (chargingOrder.getRechargePaymentType()==3){
                JSONObject jsonObject = new JSONObject();
                jsonObject.put("StartChargeSeq",chargingOrder.getCode());
                jsonObject.put("ConnectorID",chargingGun2.getFullNumber());
                LocalDateTime startTime = chargingOrder.getStartTime();
                //状态(0=未知,1=等待中/已插枪,2=启动中,3=充电中,4=停止中,5=已结束)
                int tempStatus = 0;
                switch (chargingOrder.getStatus()){
                    case 1:
                        tempStatus=1;
                    case 2:
                        tempStatus=1;
                        jsonObject.put("StartChargeSeqStat",tempStatus);
                        if (startTime!=null){
                            jsonObject.put("StartTime",startTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                        }else{
                            LocalDateTime now = LocalDateTime.now();
                            // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                            jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                        }
                        chuanYiChongSuperviseUtil.notificationStationStatus(new Operator(), jsonObject);
                        break;
                    case 3:
                        tempStatus=2;
                        jsonObject.put("StartChargeSeqStat",tempStatus);
                        if (startTime!=null){
                            jsonObject.put("StartTime",startTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                        }else{
                            LocalDateTime now = LocalDateTime.now();
                            // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                            jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                        }
                        chuanYiChongSuperviseUtil.notificationStationStatus(new Operator(), jsonObject);
                        break;
                    case 4:
                        tempStatus=3;
                        jsonObject.put("StartChargeSeqStat",tempStatus);
                        if (startTime!=null){
                            jsonObject.put("StartTime",startTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                        }else{
                            LocalDateTime now = LocalDateTime.now();
                            // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                            jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                        }
                        chuanYiChongSuperviseUtil.notificationStationStatus(new Operator(), jsonObject);
                        break;
                    case 5:
                        jsonObject.put("StartChargeSeqStat",4);
                        int temp = 0;
                        //充电枪状态(1=离线,2=空闲,3=占用(未充电),4=占用(充电中),5=占用(已充满),6=占用(预约锁定),7=故障)
                        switch (chargingGun2.getStatus()){
                            case 1:
                                temp = 0;
                                break;
                            case 2:
                                temp=1;
                                break;
                            case 3:
                                temp=2;
                                break;
                            case 4:
                                temp=3;
                                break;
                            case 5:
                                temp=4;
                                break;
                            case 6:
                                temp=4;
                                break;
                            case 7:
                                temp = 255;
                                break;
                        }
                        jsonObject.put("ConnectorStatus",temp);
                        jsonObject.put("CurrentA",chargingOrder.getCurrent());
                        jsonObject.put("VoltageA",chargingOrder.getVoltage());
                        LocalDateTime startTime2 = chargingOrder.getStartTime();
                        if (startTime2!=null){
                            jsonObject.put("StartTime",startTime2.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                        }else{
                            LocalDateTime now = LocalDateTime.now();
                            // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                            jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                        }
                        LocalDateTime now = LocalDateTime.now();
                        // 转化为yyyy-MM-dd HH:mm:ss格式字符串
                        jsonObject.put("EndTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                        jsonObject.put("TotalPower",chargingOrder.getElectricity());
                        jsonObject.put("TotalMoney",chargingOrder.getOrderAmount());
                        chuanYiChongSuperviseUtil.notificationSupEquipChargeStatus(new Operator(), jsonObject);
                        break;
                }
            }
        }
    }
    /**
     * 推送枪状态到平台
     */
    public void pushStatus(){
        redisTemplate.keys("ping:*").forEach(key->{
            String fullNumber = key.toString().split(":")[1];
            log.info("推送枪状态到监管平台:{}",fullNumber);
            TChargingGun chargingGun = chargingGunClient.getChargingGunByFullNumber(fullNumber).getData();
            if (chargingGun!=null){
                ConnectorStatusInfo connectorStatusInfo = new ConnectorStatusInfo();
                connectorStatusInfo.setOperatorID(operatorId);
                connectorStatusInfo.setEquipmentOwnerID(operatorId);
                connectorStatusInfo.setStationID(String.valueOf(chargingGun.getSiteId()));
                connectorStatusInfo.setEquipmentID(String.valueOf(chargingGun.getChargingPileId()));
                connectorStatusInfo.setConnectorID(chargingGun.getFullNumber());
                if (chargingGun.getEquipmentClassification()!=null){
                    connectorStatusInfo.setEquipmentClassification(chargingGun.getEquipmentClassification());
                }else {
                    connectorStatusInfo.setEquipmentClassification(1);
                }
                switch (chargingGun.getStatus()){
                    case 1:
                        connectorStatusInfo.setStatus(0);
                        break;
                    case 2:
                        connectorStatusInfo.setStatus(1);
                        break;
                    case 3:
                        connectorStatusInfo.setStatus(2);
                        break;
                    case 4:
                        connectorStatusInfo.setStatus(3);
                        break;
                    case 5:
                        connectorStatusInfo.setStatus(3);
                        break;
                    case 6:
                        connectorStatusInfo.setStatus(4);
                        break;
                    case 7:
                        connectorStatusInfo.setStatus(255);
                        break;
                }
                connectorStatusInfo.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
                tcecSuperviseUtil.notificationStationStatus(new Operator(), connectorStatusInfo);
            }
        });
    }
}
ruoyi-service/ruoyi-order/pom.xml
@@ -175,6 +175,12 @@
            <artifactId>redisson-spring-boot-starter</artifactId>
            <version>3.16.8</version>
        </dependency>
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-api-jianguan</artifactId>
            <version>3.6.2</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <build>
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -32,6 +32,7 @@
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.api.feignClient.*;
import com.ruoyi.integration.api.model.*;
import com.ruoyi.integration.api.vo.ChargingOrderVo;
import com.ruoyi.integration.api.vo.GetPlatformStopChargingReply;
import com.ruoyi.integration.api.vo.StartChargeResult;
import com.ruoyi.order.api.dto.SettlementConfirmAdd;
@@ -229,6 +230,9 @@
    
    @Autowired
    private RedissonClient redissonClient;
    @Resource
    private ChargingMessageClient chargingMessageClient;
@@ -807,24 +811,30 @@
            
            //清除计时器中的无效数据
            counter_map.remove(code);
            TChargingOrder order = new TChargingOrder();
            order.setId(id);
            order.setAppUserId(chargingOrder.getAppUserId());
            if(0 == startup_result){
                //启动失败
                preChargeCheck1.setStartupSuccess(3);
                preChargeCheck1.setFailureCause(failure_cause);
                //启动失败后取消订单,退款操作
                refund(code);
                order.setStatus(-1);
                order.setEndMode(0);
                chargingOrder.setStatus(-1);
                chargingOrder.setEndMode(0);
            }else{
                //启动成功
                preChargeCheck1.setStartupSuccess(2);
                order.setStatus(3);
                order.setStartTime(LocalDateTime.now());
                chargingOrder.setStatus(3);
                chargingOrder.setStartTime(LocalDateTime.now());
            }
            this.updateById(order);
            this.updateById(chargingOrder);
            if(chargingOrder.getStatus() == 3){
                //推送监管平台订单状态
                new Thread(()->{
                    ChargingOrderVo chargingOrderVo = new ChargingOrderVo();
                    BeanUtils.copyProperties(chargingOrder, chargingOrderVo);
                    chargingMessageClient.pushOrderStatus(chargingOrderVo);
                }).start();
            }
            redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
            //推送三方平台订单状态
            if(2 == chargingOrder.getOrderSource()){
@@ -928,6 +938,15 @@
        }
        redisService.setCacheObject("AQJC_" + order.getChargingGunId(), preChargeCheck1, 24L, TimeUnit.HOURS);
        this.updateById(order);
        if(3 == order.getStatus()){
            //推送监管平台订单状态
            new Thread(()->{
                ChargingOrderVo chargingOrderVo = new ChargingOrderVo();
                BeanUtils.copyProperties(order, chargingOrderVo);
                chargingMessageClient.pushOrderStatus(chargingOrderVo);
            }).start();
        }
        //推送三方平台启动充电结果
        if(2 == order.getOrderSource()){
            StartChargeResult result = new StartChargeResult();
@@ -1245,13 +1264,11 @@
        if(!order.getAppUserId().equals(userId)){
            return AjaxResult.error("权限不足");
        }
        TChargingOrder chargingOrder = new TChargingOrder();
        chargingOrder.setId(Long.valueOf(id));
        chargingOrder.setAppUserId(order.getAppUserId());
        chargingOrder.setEndTime(LocalDateTime.now());
        chargingOrder.setStatus(4);
        chargingOrder.setEndMode(1);
        this.updateById(chargingOrder);
        order.setEndTime(LocalDateTime.now());
        order.setStatus(4);
        order.setEndMode(1);
        this.updateById(order);
        String code1 = order.getCode();
        TChargingGun chargingGun = chargingGunClient.getChargingGunById(order.getChargingGunId()).getData();
        //异步线程处理停机
@@ -1265,6 +1282,12 @@
            sendMessageClient.platformStopCharging(platformStopCharging);
            log.info(code1 + ":-------------------远程停止充电请求-------------------");
            log.info(platformStopCharging.toString());
            //推送监管平台订单状态和订单详情
            ChargingOrderVo chargingOrderVo = new ChargingOrderVo();
            BeanUtils.copyProperties(order, chargingOrderVo);
            chargingMessageClient.pushOrderInfo(chargingOrderVo);
            chargingMessageClient.pushOrderStatus(chargingOrderVo);
        });
        //推送三方平台
        if(2 == order.getOrderSource()){
@@ -2250,7 +2273,7 @@
            }
            chargingOrder.setChargingCapacity(query.getCharging_degree());
            chargingOrder.setElectricity(query.getCharging_degree());
            chargingOrder.setTotalElectricity(new BigDecimal(100 - query.getSoc()));
            chargingOrder.setTotalElectricity(new BigDecimal(query.getSoc()));
            this.updateById(chargingOrder);
        }
    }
@@ -4131,7 +4154,6 @@
        chargingOrder.setStatus(4);
        chargingOrder.setEndMode(1);
        this.updateById(chargingOrder);
        tcecClient.notificationEquipChargeStatus(order.getStartChargeSeq(), order.getOperatorId());
        
        String code1 = order.getCode();
@@ -4147,6 +4169,12 @@
            sendMessageClient.platformStopCharging(platformStopCharging);
            log.info(code1 + ":-------------------远程停止充电请求-------------------");
            log.info(platformStopCharging.toString());
            //推送监管平台订单状态和订单详情
            ChargingOrderVo chargingOrderVo = new ChargingOrderVo();
            BeanUtils.copyProperties(chargingOrder, chargingOrderVo);
            chargingMessageClient.pushOrderInfo(chargingOrderVo);
            chargingMessageClient.pushOrderStatus(chargingOrderVo);
        });
        return R.ok();
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java
@@ -8,9 +8,11 @@
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.integration.api.feignClient.ChargingMessageClient;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.TransactionRecord;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.api.vo.ChargingOrderVo;
import com.ruoyi.order.api.model.TChargingBill;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TChargingOrderRefund;
@@ -64,6 +66,9 @@
    
    @Resource
    private TransactionRecordService transactionRecordService;
    @Resource
    private ChargingMessageClient chargingMessageClient;
    
    private Integer port = null;
@@ -127,6 +132,12 @@
                    R r = chargingOrderService.endChargeBillingCharge(vo);
                    log.info("定时任务执行,充电中的订单处理结果:{}", JSON.toJSONString(r));
                }
                //推送监管平台订单状态和订单详情
                ChargingOrderVo chargingOrderVo = new ChargingOrderVo();
                BeanUtils.copyProperties(order, chargingOrderVo);
                chargingMessageClient.pushOrderInfo(chargingOrderVo);
                chargingMessageClient.pushOrderStatus(chargingOrderVo);
            }
        }
    }