From cc788c86acd2983d791fbd3e50a9b30335b91953 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期六, 24 八月 2024 15:35:19 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java                                          |   11 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsAbortMessageListener.java                           |   28 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UpdateBalanceService.java                              |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRestartReplyMessage.java                          |   20 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerifyReply.java                                  |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/MotorAbort.java                                              |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java                                |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/WorkingParameterSettingServiceImpl.java           |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QueryOfflineCardReplyServiceImpl.java             |   31 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java                                                    |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsAbortMessage.java                                      |    9 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java                                                   |    5 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TNotice.java                                                            |    9 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsAbortService.java                                   |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java    |   31 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UpdateBalanceReplyMessage.java                            |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsDemandAndChargerExportationService.java             |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingPileReturnsGroundLockDataService.java          |    7 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModel.java                                       |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSettingReply.java                            |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TransactionRecord.java                                       |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingMode.java                                  |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TimingSettingReplyServiceImpl.java                |   32 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PingService.java                                       |    7 
 ruoyi-service/ruoyi-order/pom.xml                                                                                                          |    4 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCard.java                                  |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalance.java                                           |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingService.java                       |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java                                                        |    5 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelReplyService.java                     |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OpenOrCloseGroundLockService.java                      |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java                       |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java                             |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCardReply.java                             |    2 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/filter/AuthFilter.java                                                             |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java               |   20 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java                |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRemoteUpdateReplyServiceImpl.java         |   31 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java                                                   |   97 +
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SynchronizeOfflineCardReplyServiceImpl.java       |   32 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java                                             |   59 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/AcquisitionBillingModeMessage.java                        |   20 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                                           |   18 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java                                                    |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ErrorMessage.java                                            |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRemoteUpdateReplyMessageListener.java          |   79 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCard.java                                        |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestartReply.java                                    |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ClearOfflineCardService.java                           |    2 
 ruoyi-api/ruoyi-api-integration/pom.xml                                                                                                    |    6 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OpenOrCloseGroundLockServiceImpl.java             |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartChargingReply.java                              |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSettingReply.java                                      |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyService.java                          |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingHandshakeMessageListener.java                  |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BillingModeVerifyMessage.java                             |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ReadRealTimeMonitoringDataService.java                 |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java                                                   |    4 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java                                   |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java                                              |    8 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TransactionRecordService.java                          |    7 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java                                                     |    4 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerify.java                                       |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileReturnsGroundLockData.java                       |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java                                           |    3 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingPileStartsChargingServiceImpl.java        |   31 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModelReply.java                                  |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java                                                          |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java            |   31 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UploadRealTimeMonitoringDataMessageListener.java       |   78 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TInviteUserService.java                                                |    7 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java                                                        |    4 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/MotorAbortMessageListener.java                         |   28 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileStartsChargingMessageListener.java         |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TimingSettingReplyMessage.java                            |   19 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopCharging.java                                    |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java                                            |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRestartService.java                            |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsDemandAndChargerExportationMessageListener.java     |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ParameterSettingServiceImpl.java                  |   32 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java                             |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PongServiceImpl.java                              |    4 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingHandshakeService.java                          |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java                                |    9 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ClearOfflineCardReplyService.java                      |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ConfirmTransactionRecordService.java                   |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BillingModeVerifyMessageListener.java                  |   79 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRestartServiceImpl.java                   |    2 
 .gitignore                                                                                                                                 |    3 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QueryOfflineCardReplyService.java                      |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TransactionRecordMessageListener.java                  |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java               |    8 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java                                     |   52 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ConfirmTransactionRecord.java                                |    2 
 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TAdvertisingMapper.xml                                                           |    5 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java       |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SetupBillingModelReplyMessage.java                        |   20 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java                                                    |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java                                                 |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java          |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java                                       |    7 
 ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java                                                |    6 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRestartReplyMessageListener.java               |   79 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/OnlineMessage.java                                        |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java      |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeService.java                     |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UpdateBalanceReplyService.java                         |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileReturnsGroundLockDataMessageListener.java  |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java                                     |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCardReply.java                                   |    2 
 ruoyi-service/ruoyi-other/pom.xml                                                                                                          |    4 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSetting.java                                           |    2 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InviteInfoDto.java                                                     |   12 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SynchronizeOfflineCardReplyMessageListener.java        |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRemoteUpdateReplyMessage.java                     |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/MotorAbortMessage.java                                    |    7 
 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml                                                                 |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                                        |   71 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java                                        |   25 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ClearOfflineCardReplyServiceImpl.java             |   31 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UpdateBalanceReplyServiceImpl.java                |   32 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/SaveHtml.java                                                              |   18 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TimingSettingService.java                              |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformConfirmationCharging.java                            |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/GroundLockRealTimeData.java                                  |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/SendTagMenu.java                                           |  124 +
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelServiceImpl.java                 |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PingMessage.java                                          |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/WorkingParameterSettingService.java                    |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRestartReplyServiceImpl.java              |   32 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/WorkingParameterSettingReplyServiceImpl.java      |   31 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SynchronizeOfflineCardReplyService.java                |    7 
 ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java                                                 |    5 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UpdateBalanceReplyMessageListener.java                 |   78 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdate.java                                    |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsInformationService.java                             |    7 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ParameterSetting.java                                        |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/pojo/AppletUserEncrypteData.java                                            |    3 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TNoticeController.java                                                  |   12 
 ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/vo/PaymentOrder.java                                                       |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UploadRealTimeMonitoringDataMessage.java                  |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java             |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingReplyService.java                 |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingHandshakeServiceImpl.java                 |   31 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java      |   35 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java                                               |    3 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRemoteUpdateService.java                       |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/Constant.java                                                    |   24 
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/ExchangeDto.java                                                    |   11 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/MotorAbortService.java                                 |    7 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java                                                     |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/HostName.java                                                    |   17 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalanceReply.java                                      |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java                              |   32 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java                              |   20 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/WorkingParameterSettingReplyService.java               |    7 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java                                           |   81 
 ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppUserMapper.xml                                                           |    3 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/WorkingParameterSettingReplyMessage.java                  |   19 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRemoteUpdateReplyService.java                  |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ParameterSettingMessageListener.java                   |   29 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/EndCharge.java                                               |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java            |   32 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelService.java                          |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCard.java                                        |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdateReply.java                               |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRestartReplyService.java                       |    7 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/SSLCipherSuiteUtil.java                                          |  209 ++
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java        |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ParameterSettingService.java                           |    7 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileStartsCharging.java                              |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/GroundLockRealTimeDataMessageListener.java             |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SetupBillingModelReplyMessageListener.java             |   79 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingPileReturnsGroundLockDataServiceImpl.java |   31 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/MotorAbortServiceImpl.java                        |   31 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java                        |    8 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java                                             |    5 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OpenOrCloseGroundLock.java                                   |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java            |   31 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java                        |    6 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/QueryOfflineCardReplyMessage.java                         |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/GroundLockRealTimeDataMessage.java                        |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ClearOfflineCardReplyMessageListener.java              |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TimingSettingReplyMessageListener.java                 |   78 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSetting.java                                 |    2 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java                                             |    5 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingServiceImpl.java              |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingReplyService.java                  |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TransactionRecordServiceImpl.java                 |   32 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java                                            |   53 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java                                        |    6 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ClearOfflineCardReplyMessage.java                         |    7 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopChargingReply.java                               |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java        |   32 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ClearOfflineCardServiceImpl.java                  |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OnlineReply.java                                             |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/ServiceIdMenu.java                                         |  104 +
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java                                  |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java                     |    2 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TAdvertising.java                                                       |    8 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SynchronizeOfflineCardServiceImpl.java            |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java                          |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QueryOfflineCardService.java                           |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingHandshakeMessage.java                             |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TimingSettingReplyService.java                         |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/WorkingParameterSettingReplyMessageListener.java       |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SynchronizeOfflineCardReplyMessage.java                   |    9 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ParameterSettingMessage.java                              |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SynchronizeOfflineCardService.java                     |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCardReply.java                                   |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsAbort.java                                                |    2 
 ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java                                                                       |   18 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStartChargingReplyMessage.java                    |    9 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ReadRealTimeMonitoringData.java                              |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduceController.java                           |  302 +++
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UpdateBalanceServiceImpl.java                     |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Online.java                                                  |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingHandshake.java                                       |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java                         |    4 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java                      |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/QueryOfflineCardReplyMessageListener.java              |   78 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileStartsChargingMessage.java                    |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java            |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformConfirmationChargingService.java               |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRemoteUpdateServiceImpl.java              |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/CarBrandUtil.java                                                |  120 +
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java         |   31 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStartChargingReplyMessageListener.java         |   79 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TimingSettingServiceImpl.java                     |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileReturnsGroundLockDataMessage.java             |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PongService.java                                       |    4 
 ruoyi-service/ruoyi-integration/pom.xml                                                                                                    |    4 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestart.java                                         |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/filter/AuthFilter.java                                                             |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStopChargingReplyMessage.java                     |    9 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java                             |    5 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/GroundLockRealTimeDataService.java                     |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsInformationServiceImpl.java                    |   31 
 ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/RequestParamGlobalFilter.java                                                         |   10 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingPileStartsChargingService.java                 |    7 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java                                       |   10 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java                            |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java                                          |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java                                           |    5 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyServiceImpl.java                 |   31 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/UnsupportProtocolException.java                                  |   15 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/pojo/AppletUserLogin.java                                                  |    3 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/OnlineMessageListener.java                             |   29 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java                                                        |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java                            |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java                                              |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PingMessageListener.java                               |   30 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/filter/AuthFilter.java                                                         |   11 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsInformationMessageListener.java                     |   78 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java                                             |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/ChargingOrderController.java                                |   41 
 /dev/null                                                                                                                                  |   14 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java                                  |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java                |    7 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/AcquisitionBillingModeMessageListener.java             |   79 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java                                    |   14 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStopChargingReplyMessageListener.java          |   78 
 ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/service/RedisService.java                                             |    8 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsAbortServiceImpl.java                          |   31 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java                           |    8 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QueryOfflineCardServiceImpl.java                  |    2 
 266 files changed, 4,510 insertions(+), 476 deletions(-)

diff --git a/.gitignore b/.gitignore
index 3e7af20..09e64c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,4 +16,5 @@
 target
 
 *.yaml
-*.yml
\ No newline at end of file
+*.yml
+*.log
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InviteInfoDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InviteInfoDto.java
new file mode 100644
index 0000000..c4ca8f2
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InviteInfoDto.java
@@ -0,0 +1,12 @@
+package com.ruoyi.account.api.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class InviteInfoDto {
+    @ApiModelProperty("已获得积分")
+    private Integer point;
+    @ApiModelProperty("已邀请人数")
+    private Integer inviteNum;
+}
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
index 20f36a2..76b4263 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
@@ -1,6 +1,7 @@
 package com.ruoyi.account.api.factory;
 
 import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.TAppCoupon;
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.dto.PointChangeDto;
@@ -37,6 +38,11 @@
             }
 
             @Override
+            public R<TAppCoupon> couponGetById(Long id) {
+                return R.fail("查询优惠券失败:"+throwable.getMessage());
+            }
+
+            @Override
             public R updateAppUser(TAppUser appUser) {
                 return R.fail("修改用户失败:"+throwable.getMessage());
             }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
index ea7adc9..20c7d65 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
@@ -1,5 +1,6 @@
 package com.ruoyi.account.api.feignClient;
 
+import com.ruoyi.account.api.model.TAppCoupon;
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.common.core.constant.ServiceNameConstants;
 import com.ruoyi.account.api.factory.AppUserFallbackFactory;
@@ -37,6 +38,10 @@
      */
     @PostMapping(value = "/t-app-user/user/getUserById/{id}")
     R<TAppUser> getUserById(@PathVariable("id") Long id);
+
+
+    @PostMapping(value = "/t-app-user/user/coupon/getById")
+    R<TAppCoupon> couponGetById(@RequestParam("id")Long id);
     
     
     
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java
index 2009d1c..3fdbadc 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java
@@ -11,6 +11,7 @@
 import lombok.EqualsAndHashCode;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
@@ -109,6 +110,9 @@
     @ApiModelProperty(value = "最后一次登录时间")
     @TableField("last_login_time")
     private LocalDateTime lastLoginTime;
+    @ApiModelProperty(value = "邀请人id")
+    @TableField("invite_user_id")
+    private Long inviteUserId;
 
 
 
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java
index d386eec..fddfeb5 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.domain.BasePojo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -39,6 +40,7 @@
 
     @ApiModelProperty(value = "签到天")
     @TableField("sign_day")
+    @JsonFormat(pattern = "dd", timezone = "GMT+8")
     private LocalDate signDay;
 
     @ApiModelProperty(value = "奖励积分")
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java
index 9a62b6f..5e0fe6c 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java
@@ -30,7 +30,7 @@
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "主键")
-    @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.NONE)
     private Integer id;
 
     @ApiModelProperty(value = "用户id")
diff --git a/ruoyi-api/ruoyi-api-integration/pom.xml b/ruoyi-api/ruoyi-api-integration/pom.xml
index 9777811..36aa47d 100644
--- a/ruoyi-api/ruoyi-api-integration/pom.xml
+++ b/ruoyi-api/ruoyi-api-integration/pom.xml
@@ -16,7 +16,11 @@
     </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>
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/AcquisitionBillingMode.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingMode.java
similarity index 89%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/AcquisitionBillingMode.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingMode.java
index ce9ca76..1439583 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/AcquisitionBillingMode.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingMode.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/AcquisitionBillingModeReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java
similarity index 98%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/AcquisitionBillingModeReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java
index d90276f..046b0ae 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/AcquisitionBillingModeReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BillingModeVerify.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerify.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BillingModeVerify.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerify.java
index 70eb0c1..64b066d 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BillingModeVerify.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerify.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BillingModeVerifyReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerifyReply.java
similarity index 92%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BillingModeVerifyReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerifyReply.java
index 93c17ee..e9b55cf 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BillingModeVerifyReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BillingModeVerifyReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsAbort.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsAbort.java
similarity index 96%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsAbort.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsAbort.java
index f6ac443..8d55a62 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsAbort.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsAbort.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsDemandAndChargerExportation.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java
similarity index 96%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsDemandAndChargerExportation.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java
index 6ce463a..d9d2b83 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsDemandAndChargerExportation.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsDemandAndChargerExportation.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsInformation.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java
similarity index 97%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsInformation.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java
index 152db7d..be5c578 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsInformation.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BmsInformation.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingHandshake.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingHandshake.java
similarity index 96%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingHandshake.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingHandshake.java
index 2a51843..3b6b65a 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingHandshake.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingHandshake.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileReturnsGroundLockData.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileReturnsGroundLockData.java
similarity index 92%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileReturnsGroundLockData.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileReturnsGroundLockData.java
index 880c893..9a4991b 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileReturnsGroundLockData.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileReturnsGroundLockData.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileStartsCharging.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileStartsCharging.java
similarity index 95%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileStartsCharging.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileStartsCharging.java
index 8104513..8d49fdf 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileStartsCharging.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingPileStartsCharging.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ClearOfflineCard.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCard.java
similarity index 96%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ClearOfflineCard.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCard.java
index 3ed0a8e..fab03db 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ClearOfflineCard.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCard.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ClearOfflineCardReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCardReply.java
similarity index 98%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ClearOfflineCardReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCardReply.java
index 68aedbf..85675a0 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ClearOfflineCardReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ClearOfflineCardReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ConfirmTransactionRecord.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ConfirmTransactionRecord.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ConfirmTransactionRecord.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ConfirmTransactionRecord.java
index 9a35f0d..3466ec6 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ConfirmTransactionRecord.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ConfirmTransactionRecord.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/EndCharge.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/EndCharge.java
similarity index 95%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/EndCharge.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/EndCharge.java
index ed0cc09..53700e2 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/EndCharge.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/EndCharge.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ErrorMessage.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ErrorMessage.java
similarity index 98%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ErrorMessage.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ErrorMessage.java
index 4397601..121916d 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ErrorMessage.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ErrorMessage.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/GroundLockRealTimeData.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/GroundLockRealTimeData.java
similarity index 94%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/GroundLockRealTimeData.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/GroundLockRealTimeData.java
index 4f211e9..b34e3ad 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/GroundLockRealTimeData.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/GroundLockRealTimeData.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/MotorAbort.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/MotorAbort.java
similarity index 95%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/MotorAbort.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/MotorAbort.java
index 8f7c072..6dc6a21 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/MotorAbort.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/MotorAbort.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Online.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Online.java
similarity index 94%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Online.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Online.java
index 03106ee..a1c6714 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Online.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Online.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/OnlineReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OnlineReply.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/OnlineReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OnlineReply.java
index 91f1abf..f7ba285 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/OnlineReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OnlineReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/OpenOrCloseGroundLock.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OpenOrCloseGroundLock.java
similarity index 92%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/OpenOrCloseGroundLock.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OpenOrCloseGroundLock.java
index 21d620c..0817b90 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/OpenOrCloseGroundLock.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/OpenOrCloseGroundLock.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ParameterSetting.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ParameterSetting.java
similarity index 96%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ParameterSetting.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ParameterSetting.java
index 22d54f6..2f000bc 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ParameterSetting.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ParameterSetting.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Ping.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Ping.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java
index ea3166c..aa15ab4 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Ping.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Ping.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformConfirmationCharging.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformConfirmationCharging.java
similarity index 95%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformConfirmationCharging.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformConfirmationCharging.java
index 422bfa4..86f6fb4 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformConfirmationCharging.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformConfirmationCharging.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRemoteUpdate.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdate.java
similarity index 94%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRemoteUpdate.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdate.java
index a945d84..5f3699b 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRemoteUpdate.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdate.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRemoteUpdateReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdateReply.java
similarity index 91%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRemoteUpdateReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdateReply.java
index 807e362..1fd3a07 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRemoteUpdateReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRemoteUpdateReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRestart.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestart.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRestart.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestart.java
index 54b5a6c..fe9e689 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRestart.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestart.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRestartReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestartReply.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRestartReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestartReply.java
index e87478b..090301b 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRestartReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformRestartReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStartCharging.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java
similarity index 93%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStartCharging.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java
index 77e3e35..44faec9 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStartCharging.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartCharging.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStartChargingReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartChargingReply.java
similarity index 95%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStartChargingReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartChargingReply.java
index 99f4d13..98b2023 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStartChargingReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartChargingReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStopCharging.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopCharging.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStopCharging.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopCharging.java
index b259cb6..ef78114 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStopCharging.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopCharging.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStopChargingReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopChargingReply.java
similarity index 93%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStopChargingReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopChargingReply.java
index 8304aab..c86f4b4 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStopChargingReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStopChargingReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Pong.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Pong.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java
index befc2ac..565a7a6 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Pong.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/Pong.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/QueryOfflineCard.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCard.java
similarity index 96%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/QueryOfflineCard.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCard.java
index 17c0dac..b548e9c 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/QueryOfflineCard.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCard.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/QueryOfflineCardReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCardReply.java
similarity index 97%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/QueryOfflineCardReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCardReply.java
index b2b239b..23fd320 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/QueryOfflineCardReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/QueryOfflineCardReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ReadRealTimeMonitoringData.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ReadRealTimeMonitoringData.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ReadRealTimeMonitoringData.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ReadRealTimeMonitoringData.java
index 3592504..ef60cb1 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ReadRealTimeMonitoringData.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ReadRealTimeMonitoringData.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SetupBillingModel.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModel.java
similarity index 97%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SetupBillingModel.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModel.java
index fafcb9b..7985365 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SetupBillingModel.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModel.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SetupBillingModelReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModelReply.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SetupBillingModelReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModelReply.java
index ffa3bff..739d3a2 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SetupBillingModelReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SetupBillingModelReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SynchronizeOfflineCard.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCard.java
similarity index 94%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SynchronizeOfflineCard.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCard.java
index a4ad2ce..642046d 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SynchronizeOfflineCard.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCard.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SynchronizeOfflineCardReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCardReply.java
similarity index 92%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SynchronizeOfflineCardReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCardReply.java
index 09f0a2f..ff59a77 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SynchronizeOfflineCardReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SynchronizeOfflineCardReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TimingSetting.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSetting.java
similarity index 89%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TimingSetting.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSetting.java
index 32055fa..84ec799 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TimingSetting.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSetting.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TimingSettingReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSettingReply.java
similarity index 89%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TimingSettingReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSettingReply.java
index 141871d..0880c9c 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TimingSettingReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TimingSettingReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TransactionRecord.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TransactionRecord.java
similarity index 97%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TransactionRecord.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TransactionRecord.java
index 35f3496..7359108 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TransactionRecord.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TransactionRecord.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalance.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalance.java
similarity index 92%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalance.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalance.java
index 847e495..97e243d 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalance.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalance.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalanceReply.java
similarity index 92%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalanceReply.java
index 1c82407..bc2db26 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UpdateBalanceReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UploadRealTimeMonitoringData.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
similarity index 97%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UploadRealTimeMonitoringData.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
index 16417f8..7b3552f 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UploadRealTimeMonitoringData.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/WorkingParameterSetting.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSetting.java
similarity index 92%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/WorkingParameterSetting.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSetting.java
index 7d883ee..367419d 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/WorkingParameterSetting.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSetting.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/WorkingParameterSettingReply.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSettingReply.java
similarity index 90%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/WorkingParameterSettingReply.java
rename to ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSettingReply.java
index 74fd35b..bc55ffd 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/WorkingParameterSettingReply.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/WorkingParameterSettingReply.java
@@ -1,4 +1,4 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.api.model;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
index e0dc45f..1253444 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -3,6 +3,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.dto.ExchangeDto;
 import com.ruoyi.order.api.feignClient.OrderClient;
+import com.ruoyi.order.api.model.TShoppingOrder;
 import com.ruoyi.order.api.query.TActivityStatisticsQuery;
 import com.ruoyi.order.api.vo.TActivityVO;
 import org.slf4j.Logger;
@@ -50,10 +51,15 @@
             }
 
             @Override
-            public R<Long> shopCreate(ExchangeDto exchangeDto) {
+            public R<TShoppingOrder> shopCreate(ExchangeDto exchangeDto) {
                 return R.fail("订单创建" + cause.getMessage());
             }
 
+            @Override
+            public R callBack(String code, String outTradeNo) {
+                return R.fail("支付回调" + cause.getMessage());
+            }
+
 
             @Override
             public R<TActivityVO> activityStatistics(TActivityStatisticsQuery dto) {
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
index 6e60d80..fc54b0f 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -4,6 +4,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.dto.ExchangeDto;
 import com.ruoyi.order.api.factory.OrderFallbackFactory;
+import com.ruoyi.order.api.model.TShoppingOrder;
 import com.ruoyi.order.api.query.TActivityStatisticsQuery;
 import com.ruoyi.order.api.vo.TActivityVO;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -35,7 +36,9 @@
     @PostMapping("/t-exchange-order/create")
     public R<Long> exchangeCreate(@RequestBody ExchangeDto exchangeDto);
     @PostMapping("/t-shopping-order/create")
-    public R<Long> shopCreate(@RequestBody ExchangeDto exchangeDto);
+    public R<TShoppingOrder> shopCreate(@RequestBody ExchangeDto exchangeDto);
+    @PostMapping("/t-shopping-order/callBack")
+    public R callBack(@RequestParam("code")String code,@RequestParam("outTradeNo")String outTradeNo);
 
     /**
      * 管理后台 活动费用统计
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java
index ab1db5f..df78e8e 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java
@@ -20,7 +20,7 @@
     @ApiModelProperty(value = "充电终端名称 桩+枪")
     private String terminalName;
     @ApiModelProperty(value = "充电时间 秒")
-    private Integer chargingSecond;
+    private Long chargingSecond;
     @ApiModelProperty(value = "平台手续费")
     private BigDecimal platFormMoney;
     @ApiModelProperty(value = "三方平台分佣")
@@ -29,8 +29,7 @@
     private String licensePlate;
     @ApiModelProperty(value = "手机号")
     private String phone;
-    @ApiModelProperty(value = "累计充电量")
-    private BigDecimal chargingCapacity;
+
     @ApiModelProperty(value = "累计电费")
     private BigDecimal electrovalence;
     @ApiModelProperty(value = "累计服务费")
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java
index 6a1db27..8608405 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java
@@ -15,7 +15,7 @@
     @ApiModelProperty(value = "总充电量")
     private BigDecimal total;
     @ApiModelProperty(value = "充电时长")
-    private BigDecimal time;
+    private Long time;
     @ApiModelProperty(value = "收入")
     private BigDecimal income;
     @ApiModelProperty(value = "电费")
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TAdvertising.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TAdvertising.java
index c86c93c..02ba4a2 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TAdvertising.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TAdvertising.java
@@ -64,8 +64,12 @@
     @ApiModelProperty(value = "上架状态(0=否,1=是)")
     @TableField("status")
     private Integer status;
-
-
+    @ApiModelProperty(value = "小程序id")
+    @TableField("applet_id")
+    private String appletId;
+    @ApiModelProperty(value = "小程序名称")
+    @TableField("applet_name")
+    private String appletName;
 
     @ApiModelProperty(value = "广告状态 1未开始 2已开始 3已结束")
     @TableField(exist = false)
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TNotice.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TNotice.java
index 72fa6ff..b1023e7 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TNotice.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TNotice.java
@@ -12,6 +12,7 @@
 import lombok.EqualsAndHashCode;
 
 import java.io.Serializable;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -40,13 +41,13 @@
 
     @ApiModelProperty(value = "开始时间")
     @TableField("start_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
-    private LocalDateTime startTime;
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private LocalDate startTime;
 
     @ApiModelProperty(value = "结束时间")
     @TableField("end_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
-    private LocalDateTime endTime;
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private LocalDate endTime;
 
 
 
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/SaveHtml.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/SaveHtml.java
new file mode 100644
index 0000000..2924cb0
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/SaveHtml.java
@@ -0,0 +1,18 @@
+package com.ruoyi.other.api.dto;
+
+import com.ruoyi.common.core.web.page.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("广告列表查询DTO")
+public class SaveHtml extends BasePage {
+
+    @ApiModelProperty(value = "数据类型(1=积分规则说明,2=会员折扣说明,3=优惠券说明,4=双倍积分说明,5=商城专享价说明,6=会员协议,7=用户协议,8=隐私协议,9=邀请好友说明,10=资质证明,11=开票说明)")
+    private Integer type;
+    @ApiModelProperty(value = "标题")
+    private String info;
+
+
+}
diff --git a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/vo/PaymentOrder.java b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/vo/PaymentOrder.java
index a998845..b9c18a9 100644
--- a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/vo/PaymentOrder.java
+++ b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/vo/PaymentOrder.java
@@ -29,5 +29,5 @@
 	/**
 	 * 回调地址
 	 */
-	private String notifyUrl;
+	private String notifyUrl ="/";
 }
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/ExchangeDto.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/ExchangeDto.java
index 29456ee..b736df9 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/ExchangeDto.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/ExchangeDto.java
@@ -3,6 +3,8 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 @Data
 public class ExchangeDto {
     @ApiModelProperty("商品id")
@@ -26,5 +28,14 @@
     @ApiModelProperty("1微信2支付宝")
     Integer payMethod;
 
+    @ApiModelProperty(hidden =true)
+    BigDecimal orderPrice;
+    @ApiModelProperty(hidden =true)
+    BigDecimal payPrice;
+    @ApiModelProperty(hidden =true)
+    BigDecimal discountPrice;
+    @ApiModelProperty(hidden =true)
+    BigDecimal vipDiscount;
+
 
 }
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/service/RedisService.java b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/service/RedisService.java
index 435cb6e..5d3ad86 100644
--- a/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/service/RedisService.java
+++ b/ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/service/RedisService.java
@@ -195,6 +195,14 @@
         }
     }
 
+    public <T> void setCacheMap(final String key, final Map<String, T> dataMap, long timeout)
+    {
+        if (dataMap != null) {
+            redisTemplate.opsForHash().putAll(key, dataMap);
+            redisTemplate.expire(key, timeout, TimeUnit.SECONDS);
+        }
+    }
+
     /**
      * 获得缓存的Map
      *
diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
index 0ec1a71..6aa40ff 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -39,7 +39,7 @@
 	// 排除过滤的 uri 地址,nacos自行添加
 	@Autowired
 	private IgnoreWhiteProperties ignoreWhite;
-	
+
 	@Autowired
 	private RedisService redisService;
 	
@@ -100,7 +100,7 @@
 	}
 	
 	private Mono<Void> unauthorizedResponse(ServerWebExchange exchange, String msg) {
-		log.error("[鉴权异常处理]请求路径:{}", exchange.getRequest().getPath());
+		log.error("[鉴权异常处理]请求路径:{}", exchange.getRequest().getPath() + "\n" + msg);
 		return ServletUtils.webFluxResponseWriter(exchange.getResponse(), msg, HttpStatus.UNAUTHORIZED);
 	}
 	
@@ -146,7 +146,7 @@
 		if(null == cacheMap){
 			cacheMap = new HashMap<>();
 			cacheMap.put(url, timestamp);
-			redisService.setCacheMap(client, cacheMap);
+			redisService.setCacheMap(client, cacheMap, 5L);
 		}else{
 			Object o = cacheMap.get(url);
 			if(null == o){
@@ -155,13 +155,13 @@
 				Long old_timestamp = Long.valueOf(o.toString());
 				Long new_timestamp = Long.valueOf(timestamp);
 				//两个请求时间差小于1秒,判定为重复提交
-				if((new_timestamp - old_timestamp) <= 1000){
+				if((new_timestamp - old_timestamp) <= 500){
 					throw new RuntimeException("重复提交");
 				}else{
 					cacheMap.put(url, timestamp);
 				}
 			}
-			redisService.setCacheMap(client, cacheMap);
+			redisService.setCacheMap(client, cacheMap, 5L);
 		}
 	}
 	
@@ -181,14 +181,8 @@
 		if (claims == null) {
 			throw new RuntimeException("令牌已过期或验证不正确!");
 		}
-//		String userkey = JwtUtils.getUserKey(claims);
-//		boolean islogin = redisService.hasKey(getTokenKey(userkey));
-//		if (!islogin) {
-//			throw new RuntimeException("登录状态已过期");
-//		}
 		String userid = JwtUtils.getUserId(claims);
-		String username = JwtUtils.getUserName(claims);
-		if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)) {
+		if (StringUtils.isEmpty(userid)) {
 			throw new RuntimeException("令牌验证失败");
 		}
 	}
diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/RequestParamGlobalFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/RequestParamGlobalFilter.java
index e5afdad..0f92100 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/RequestParamGlobalFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/RequestParamGlobalFilter.java
@@ -52,13 +52,13 @@
 	public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
 		ServerHttpRequest request = exchange.getRequest();
 		ServerHttpRequest.Builder mutate = request.mutate();
-		HttpMethod method = request.getMethod();
-		if(method != HttpMethod.POST){
-			return chain.filter(exchange.mutate().request(mutate.build()).build());
-		}
 		// 跳过不需要验证的路径
 		String url = request.getURI().getPath();
 		if (StringUtils.matches(url, ignoreWhite.getWhites())) {
+			return chain.filter(exchange);
+		}
+		HttpMethod method = request.getMethod();
+		if(method != HttpMethod.POST){
 			return chain.filter(exchange);
 		}
 		ServerHttpRequestDecorator httpRequestDecorator = requestDecorator(exchange);
@@ -104,6 +104,6 @@
 	
 	@Override
 	public int getOrder() {
-		return HIGHEST_PRECEDENCE;
+		return -500;
 	}
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/pojo/AppletUserLogin.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/pojo/AppletUserLogin.java
index dc7e36b..f9e8af0 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/pojo/AppletUserLogin.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/pojo/AppletUserLogin.java
@@ -19,4 +19,7 @@
     @NotBlank(message = "获取用户信息加密串不能为空")
     private String token;
 
+    @ApiModelProperty(value = "邀请用户id")
+    private Long inviteUserId;
+
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java
index 52f871a..6db885e 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java
@@ -65,7 +65,7 @@
             String phoneNumber = new AliAppletTools(aliProperties).getPhoneNumber(appletUserLogin.getToken());
             log.info("获取支付宝用户信息:{}", phoneNumber);
             // 用户信息封装
-            return AjaxResult.success(appUserService.aliLogin(response,phoneNumber));
+            return AjaxResult.success(appUserService.aliLogin(response,phoneNumber,appletUserLogin.getInviteUserId()));
         } else {
              String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
              log.warn("诊断结果:{}",diagnosisUrl);
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
index 0443f6c..8cfd00d 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -201,6 +201,8 @@
     @PostMapping("/grantCoupon")
     public R  grantCoupon(@RequestBody GrantCouponDto dto){
         List<TAppCoupon> res = new ArrayList<>();
+        TCoupon coupon = otherClient.getCouponById(dto.getCouponId()).getData();
+
         switch (dto.getType()){
             case 1:
                 // 根据标签ids 查询用户ids
@@ -214,6 +216,7 @@
                     tAppCoupon.setEndTime(dto.getEndTime());
                     tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
                     tAppCoupon.setStatus(1);
+                    tAppCoupon.setCouponJson(JSON.toJSONString(coupon));
                     res.add(tAppCoupon);
                 }
                 tAppCouponService.saveBatch(res);
@@ -230,6 +233,7 @@
                     tAppCoupon.setEndTime(dto.getEndTime());
                     tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
                     tAppCoupon.setStatus(1);
+                    tAppCoupon.setCouponJson(JSON.toJSONString(coupon));
                     res.add(tAppCoupon);
                 }
                 tAppCouponService.saveBatch(res);
@@ -242,6 +246,7 @@
                     tAppCoupon.setEndTime(dto.getEndTime());
                     tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
                     tAppCoupon.setStatus(1);
+                    tAppCoupon.setCouponJson(JSON.toJSONString(coupon));
                     res.add(tAppCoupon);
                 }
                 tAppCouponService.saveBatch(res);
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
index 49fd3af..6db28fa 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -13,6 +13,7 @@
 import com.ruoyi.account.service.*;
 import com.ruoyi.account.util.PointDetailUtil;
 import com.ruoyi.account.util.SignDayUtil;
+import com.ruoyi.account.util.carBrand.CarBrandUtil;
 import com.ruoyi.account.wx.model.WeixinProperties;
 import com.ruoyi.account.util.GiveVipUtil;
 import com.ruoyi.common.core.constant.Constants;
@@ -24,6 +25,7 @@
 import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.domain.BasePojo;
+import com.ruoyi.common.core.web.page.BasePage;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.auth.AuthUtil;
 import com.ruoyi.common.security.service.TokenService;
@@ -110,6 +112,8 @@
 
     @Resource
     private VipClient vipClient;
+    @Resource
+    private TInviteUserService inviteUserService;
 
 
 
@@ -518,6 +522,13 @@
 
     }
 
+    @ApiOperation(value = "优惠卷列表不分页(1可使用2不可用)", tags = {"小程序-个人中心"})
+    @PostMapping(value = "/user/coupon/getById")
+    public R<TAppCoupon> couponGetById(@RequestParam("id")Long id) {
+        TAppCoupon appCoupon = appCouponService.getById(id);
+        return R.ok(appCoupon);
+    }
+
 
 
     @ApiOperation(value = "赠送会员", tags = {"用户管理-用户列表"})
@@ -539,13 +550,38 @@
         }
         //增加vipDetail
         giveVipUtil.sendVip(nowUser, giveVipDto.getVipId(),plusDay);
-
-
         appUserService.updateById(nowUser);
-        //执行一次赠送优惠卷的定时任务
         }
         return R.ok();
     }
+
+    @ApiOperation(value = "已赠送列表", tags = {"小程序-个人中心-邀请好友"})
+    @PostMapping(value = "/user/invite/page")
+    public R<Page<TInviteUser>> invitePage(@RequestBody BasePage basePage) {
+        Long userId = tokenService.getLoginUserApplet().getUserId();
+
+        Page<TInviteUser> page = inviteUserService.lambdaQuery().eq(TInviteUser::getAppUserId, userId).isNotNull(TInviteUser::getAward).orderByDesc(TInviteUser::getCreateTime).page(Page.of(basePage.getPageCurr(), basePage.getPageSize()));
+        return R.ok(page);
+    }
+
+    @ApiOperation(value = "已赠送列表", tags = {"小程序-个人中心-邀请好友"})
+    @PostMapping(value = "/user/invite/info")
+    public R<InviteInfoDto> inviteInfo() {
+        Long userId = tokenService.getLoginUserApplet().getUserId();
+        Integer point = 0;
+        List<TInviteUser> list = inviteUserService.lambdaQuery().eq(TInviteUser::getAppUserId, userId).isNotNull(TInviteUser::getAward).orderByDesc(TInviteUser::getCreateTime).list();
+        for (TInviteUser tInviteUser : list) {
+            point = point +tInviteUser.getAward();
+        }
+        InviteInfoDto inviteInfoDto = new InviteInfoDto();
+        inviteInfoDto.setPoint(point);
+        inviteInfoDto.setInviteNum(list.size());
+
+
+        return R.ok(inviteInfoDto);
+    }
+
+
 
     @ApiOperation(value = "更换手机号", tags = {"小程序-用户管理-更换手机号"})
     @PostMapping(value = "/user/updatePhone")
@@ -766,5 +802,22 @@
 
         return R.ok();
     }
+
+    @ApiOperation(value = "获取车辆品牌", tags = {"小程序-个人中心-车辆"})
+    @GetMapping(value = "/user/car/getBrands")
+    public R getBrands(String name) throws Exception {
+        String brand = CarBrandUtil.getBrand();
+        JSONObject jsonObject = JSON.parseObject(brand);
+        JSONArray data = jsonObject.getJSONArray("data");
+        return R.ok(data);
+
+    }
+
+    @ApiOperation(value = "根据品牌获取车型", tags = {"小程序-个人中心-车辆"})
+    @GetMapping(value = "/user/car/getModel")
+    public R getModel(String id) throws Exception {
+        String modelById = CarBrandUtil.getModelById(id);
+        return R.ok(modelById);
+    }
 }
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
index d4252d8..12b3094 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
@@ -65,6 +65,6 @@
         }
         AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey,  data.getIv());
         appletUserDecodeData.setOpenId(openid);
-        return AjaxResult.success(appUserService.wxLogin(appletUserDecodeData));
+        return AjaxResult.success(appUserService.wxLogin(appletUserDecodeData,data.getInviteUserId()));
     }
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/filter/AuthFilter.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/filter/AuthFilter.java
index 494fa29..a529a5f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/filter/AuthFilter.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/filter/AuthFilter.java
@@ -1,16 +1,13 @@
 package com.ruoyi.account.filter;
 
 import com.alibaba.fastjson.JSON;
-import com.ruoyi.account.api.feignClient.AppUserClient;
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.account.service.TAppUserService;
 import com.ruoyi.common.core.constant.TokenConstants;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.utils.JwtUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysUserClient;
-import io.jsonwebtoken.Claims;
 import org.apache.logging.log4j.core.config.Order;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,16 +32,16 @@
 @Component
 public class AuthFilter implements Filter {
 	private static final Logger log = LoggerFactory.getLogger(AuthFilter.class);
-	
+
 	@Lazy
 	@Resource
 	private TAppUserService appUserService;
-	
+
 	@Lazy
 	@Resource
 	private SysUserClient sysUserClient;
-	
-	
+
+
 	@Override
 	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
 		HttpServletRequest request = (HttpServletRequest) servletRequest;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java
index 9e59184..2e29c49 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java
@@ -24,7 +24,7 @@
      * @param appletUserDecodeData
      * @return
      */
-    Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData);
+    Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData,Long inviteUserId);
 
     /**
      * 支付宝小程序登录用户封装
@@ -32,7 +32,7 @@
      * @return
      */
 //    Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserInfoShareResponse userInfo);
-    Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone);
+    Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone,Long inviteUserId);
 
     /**
      * 封装用户信息和token
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TInviteUserService.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TInviteUserService.java
index 6e295ed..73b1001 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TInviteUserService.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TInviteUserService.java
@@ -13,4 +13,11 @@
  */
 public interface TInviteUserService extends IService<TInviteUser> {
 
+    /**
+     * 添加邀请用户
+     * @param appUserId
+     * @param beInvitedAppUserId
+     */
+    void saveInviteUser(Long appUserId, Long beInvitedAppUserId);
+
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
index d3351ef..b49fc4f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
@@ -10,6 +10,7 @@
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.account.mapper.TAppUserMapper;
 import com.ruoyi.account.service.TAppUserService;
+import com.ruoyi.account.service.TInviteUserService;
 import com.ruoyi.account.wx.model.WeixinProperties;
 import com.ruoyi.account.wx.pojo.AppletUserDecodeData;
 import com.ruoyi.common.core.exception.ServiceException;
@@ -35,8 +36,10 @@
 public class TAppUserServiceImpl extends ServiceImpl<TAppUserMapper, TAppUser> implements TAppUserService {
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private TInviteUserService inviteUserService;
     @Override
-    public Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData) {
+    public Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData,Long inviteUserId) {
         // 通过手机号查询用户,是否已存在手动导入用户,包含支付宝用户
         TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                 .eq(TAppUser::getPhone, appletUserDecodeData.getPhoneNumber())
@@ -56,17 +59,19 @@
         if(Objects.nonNull(appUser.getStatus())){
             throwInfo(appUser.getStatus());
         }
+        appUser.setInviteUserId(inviteUserId);
         appUser.setAvatar(appletUserDecodeData.getAvatarUrl());
         appUser.setCity(appletUserDecodeData.getCity());
         appUser.setName(appletUserDecodeData.getNickName());
         appUser.setProvince(appletUserDecodeData.getProvince());
         appUser.setWxOpenid(appletUserDecodeData.getOpenId());
         this.saveOrUpdate(appUser);
+        inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
         return this.getUserInfo(appUser);
     }
 
     @Override
-    public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone) {
+    public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone,Long inviteUserId) {
         // 通过手机号查询用户,是否已存在手动导入用户,包含微信用户
         TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                 .eq(TAppUser::getPhone, phone)
@@ -86,8 +91,10 @@
         if(Objects.nonNull(appUser.getStatus())){
             throwInfo(appUser.getStatus());
         }
+        appUser.setInviteUserId(inviteUserId);
         appUser.setAliOpenid(response.getOpenId());
         this.saveOrUpdate(appUser);
+        inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
         return this.getUserInfo(appUser);
     }
 //    @Override
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
index e84b304..8626df8 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
@@ -6,6 +6,8 @@
 import com.ruoyi.account.service.TInviteUserService;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +19,12 @@
 @Service
 public class TInviteUserServiceImpl extends ServiceImpl<TInviteUserMapper, TInviteUser> implements TInviteUserService {
 
+    @Override
+    public void saveInviteUser(Long appUserId, Long beInvitedAppUserId) {
+        TInviteUser inviteUser = new TInviteUser();
+        inviteUser.setAppUserId(appUserId);
+        inviteUser.setBeInvitedAppUserId(beInvitedAppUserId);
+        inviteUser.setCreateTime(LocalDateTime.now());
+        this.save(inviteUser);
+    }
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java
index a20ac1c..e5fdd18 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java
@@ -78,7 +78,7 @@
 
 
         }else {
-            nowUser.setVipEndTime(nowUser.getVipEndTime().plusDays(plusDay));
+            nowUser.setVipEndTime(nowUser.getVipEndTime().plusDays(plusDay).minusDays(1));
             //获取detail里结束时间大于当前时间的数据,并将enttime延长
             TAppUserVipDetail tAppUserVipDetail = tAppUserVipDetailService.lambdaQuery().eq(TAppUserVipDetail::getAppUserId, nowUser.getId()).orderByDesc(TAppUserVipDetail::getEndTime).last("limit 1").one();
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/CarBrandUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/CarBrandUtil.java
new file mode 100644
index 0000000..350cca0
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/CarBrandUtil.java
@@ -0,0 +1,120 @@
+package com.ruoyi.account.util.carBrand;
+
+import com.cloud.apigateway.sdk.utils.Client;
+import com.cloud.apigateway.sdk.utils.Request;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.util.EntityUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class CarBrandUtil {
+    private static final Logger LOGGER = LoggerFactory.getLogger(CarBrandUtil.class);
+    public static   String getBrand() throws Exception {
+        // Create a new request.
+        Request httpClientRequest = new Request();
+        try {
+            // Set the request parameters.
+            // AppKey, AppSecrect, Method and Url are required parameters.
+            // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables.
+            // In this example, the AK/SK are stored in environment variables for identity authentication. 
+            // Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK.
+            httpClientRequest.setKey("9a4a2b69afe141718f6843c5d39961ec");
+            httpClientRequest.setSecret("541845f206324bbc933065b44fc98c47");
+            httpClientRequest.setMethod("POST");
+            // Set a request URL in the format of https://{Endpoint}/{URI}.
+            httpClientRequest.setUrl("https://vehiclequery.apistore.huaweicloud.com/vehicle/query/brand");
+            httpClientRequest.addHeader("Content-Type", "text/plain");
+            // Set a body for http request.
+//            httpClientRequest.setBody("put your request body here");
+        } catch (Exception e) {
+//            LOGGER.error(e.getMessage());
+            return "";
+        }
+        CloseableHttpClient client = null;
+        try {
+            // Sign the request.
+            HttpRequestBase signedRequest = Client.sign(httpClientRequest, Constant.SIGNATURE_ALGORITHM_SDK_HMAC_SHA256);
+            if (Constant.DO_VERIFY) {
+                // creat httpClient and verify ssl certificate
+                HostName.setUrlHostName(httpClientRequest.getHost());
+                client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClientWithVerify(Constant.INTERNATIONAL_PROTOCOL);
+            } else {
+                // creat httpClient and do not verify ssl certificate
+                client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClient(Constant.INTERNATIONAL_PROTOCOL);
+            }
+            HttpResponse response = client.execute(signedRequest);
+            // Print the body of the response.
+            HttpEntity resEntity = response.getEntity();
+            if (resEntity != null) {
+//                LOGGER.info("Processing Body with name: {} and value: {}", System.getProperty("line.separator"),
+//                        EntityUtils.toString(resEntity, "UTF-8"));
+                String string = EntityUtils.toString(resEntity, "UTF-8");
+                return string;
+            }
+        } catch (Exception e) {
+            LOGGER.error(e.getMessage());
+        } finally {
+            if (client != null) {
+                client.close();
+            }
+        }
+        return "";
+    }
+
+
+    public static   String getModelById(String brandId) throws Exception {
+        // Create a new request.
+        Request httpClientRequest = new Request();
+        try {
+            // Set the request parameters.
+            // AppKey, AppSecrect, Method and Url are required parameters.
+            // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables.
+            // In this example, the AK/SK are stored in environment variables for identity authentication.
+            // Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK.
+            httpClientRequest.setKey("9a4a2b69afe141718f6843c5d39961ec");
+            httpClientRequest.setSecret("541845f206324bbc933065b44fc98c47");
+            httpClientRequest.setMethod("POST");
+            // Set a request URL in the format of https://{Endpoint}/{URI}.
+            httpClientRequest.setUrl("https://vehiclequery.apistore.huaweicloud.com/vehicle/query/series");
+            httpClientRequest.addHeader("Content-Type", "text/plain");
+            httpClientRequest.addQueryStringParam("brandId",brandId);
+            // Set a body for http request.
+//            httpClientRequest.setBody("put your request body here");
+        } catch (Exception e) {
+//            LOGGER.error(e.getMessage());
+            return "";
+        }
+        CloseableHttpClient client = null;
+        try {
+            // Sign the request.
+            HttpRequestBase signedRequest = Client.sign(httpClientRequest, Constant.SIGNATURE_ALGORITHM_SDK_HMAC_SHA256);
+            if (Constant.DO_VERIFY) {
+                // creat httpClient and verify ssl certificate
+                HostName.setUrlHostName(httpClientRequest.getHost());
+                client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClientWithVerify(Constant.INTERNATIONAL_PROTOCOL);
+            } else {
+                // creat httpClient and do not verify ssl certificate
+                client = (CloseableHttpClient) SSLCipherSuiteUtil.createHttpClient(Constant.INTERNATIONAL_PROTOCOL);
+            }
+            HttpResponse response = client.execute(signedRequest);
+            // Print the body of the response.
+            HttpEntity resEntity = response.getEntity();
+            if (resEntity != null) {
+//                LOGGER.info("Processing Body with name: {} and value: {}", System.getProperty("line.separator"),
+//                        EntityUtils.toString(resEntity, "UTF-8"));
+                String string = EntityUtils.toString(resEntity, "UTF-8");
+                return string;
+            }
+        } catch (Exception e) {
+            LOGGER.error(e.getMessage());
+        } finally {
+            if (client != null) {
+                client.close();
+            }
+        }
+        return "";
+    }
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/Constant.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/Constant.java
new file mode 100644
index 0000000..a1a8941
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/Constant.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) Huawei Technologies Co., Ltd. 2022-2023. All rights reserved.
+ */
+
+package com.ruoyi.account.util.carBrand;
+
+public final class Constant {
+    // verify ssl certificate (true) or do not verify (false)
+    public static final boolean DO_VERIFY = false;
+
+    public static final String HTTPS = "HTTPS";
+    public static final String TRUST_MANAGER_FACTORY = "SunX509";
+    public static final String GM_PROTOCOL = "GMTLS";
+    public static final String INTERNATIONAL_PROTOCOL = "TLSv1.2";
+    public static final String SIGNATURE_ALGORITHM_SDK_HMAC_SHA256 = "SDK-HMAC-SHA256";
+    public static final String SIGNATURE_ALGORITHM_SDK_HMAC_SM3 = "SDK-HMAC-SM3";
+    public static final String[] SUPPORTED_CIPHER_SUITES = {"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+            "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+            "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"};
+    public static final String SECURE_RANDOM_ALGORITHM_NATIVE_PRNG_NON_BLOCKING = "NativePRNGNonBlocking";
+
+    private Constant() {
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/HostName.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/HostName.java
new file mode 100644
index 0000000..76c30ce
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/HostName.java
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023-2023. All rights reserved.
+ */
+
+package com.ruoyi.account.util.carBrand;
+
+public class HostName {
+    private static String urlHostName;
+
+    public static void setUrlHostName(String hostName) {
+        urlHostName = hostName;
+    }
+
+    public static boolean checkHostName(String SSLHostName) {
+        return urlHostName.equals(SSLHostName);
+    }
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/SSLCipherSuiteUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/SSLCipherSuiteUtil.java
new file mode 100644
index 0000000..2fe11fb
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/SSLCipherSuiteUtil.java
@@ -0,0 +1,209 @@
+/*
+ * Copyright (c) Huawei Technologies Co., Ltd. 2022-2023. All rights reserved.
+ */
+
+package com.ruoyi.account.util.carBrand;
+
+import org.apache.http.client.HttpClient;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.bouncycastle.crypto.BlockCipher;
+import org.bouncycastle.crypto.engines.AESEngine;
+import org.bouncycastle.crypto.prng.SP800SecureRandomBuilder;
+import org.openeuler.BGMProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import okhttp3.OkHttpClient;
+
+import javax.net.ssl.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.security.*;
+import java.security.cert.X509Certificate;
+import java.util.Locale;
+import java.util.concurrent.TimeUnit;
+
+public class SSLCipherSuiteUtil {
+    private static final Logger LOGGER = LoggerFactory.getLogger(SSLCipherSuiteUtil.class);
+    private static CloseableHttpClient httpClient;
+    private static OkHttpClient okHttpClient;
+
+    private static final int CIPHER_LEN = 256;
+
+    private static final int ENTROPY_BITS_REQUIRED = 384;
+
+    public static HttpClient createHttpClient(String protocol) throws Exception {
+        SSLContext sslContext = getSslContext(protocol);
+        // create factory
+        SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext,
+                new String[]{protocol}, Constant.SUPPORTED_CIPHER_SUITES, new TrustAllHostnameVerifier());
+
+        httpClient = HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory).build();
+        return httpClient;
+    }
+
+    public static HttpClient createHttpClientWithVerify(String protocol) throws Exception {
+        SSLContext sslContext = getSslContextWithVerify(protocol);
+        // create factory
+        SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext,
+            new String[] {protocol}, Constant.SUPPORTED_CIPHER_SUITES, new TheRealHostnameVerifier());
+
+        httpClient = HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory).build();
+        return httpClient;
+    }
+
+    public static OkHttpClient createOkHttpClient(String protocol) throws Exception {
+        SSLContext sslContext = getSslContext(protocol);
+        // Create an ssl socket factory with our all-trusting manager
+        SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
+        OkHttpClient.Builder builder = new OkHttpClient.Builder()
+                .sslSocketFactory(sslSocketFactory, new TrustAllManager())
+                .hostnameVerifier(new TrustAllHostnameVerifier());
+        okHttpClient = builder.connectTimeout(10, TimeUnit.SECONDS).readTimeout(60, TimeUnit.SECONDS).build();
+        return okHttpClient;
+    }
+
+    public static OkHttpClient createOkHttpClientWithVerify(String protocol) throws Exception {
+        SSLContext sslContext = getSslContextWithVerify(protocol);
+        SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
+
+        TrustManagerFactory tmf = TrustManagerFactory.getInstance(Constant.TRUST_MANAGER_FACTORY);
+        tmf.init((KeyStore) null);
+        TrustManager[] verify = tmf.getTrustManagers();
+        OkHttpClient.Builder builder = new OkHttpClient.Builder().sslSocketFactory(sslSocketFactory,
+            (X509TrustManager) verify[0]).hostnameVerifier(new TheRealHostnameVerifier());
+
+        okHttpClient = builder.connectTimeout(10, TimeUnit.SECONDS).readTimeout(60, TimeUnit.SECONDS).build();
+        return okHttpClient;
+    }
+
+    public static HttpURLConnection createHttpsOrHttpURLConnection(URL uUrl, String protocol) throws Exception {
+        // initial connection
+        if (uUrl.getProtocol().toUpperCase(Locale.getDefault()).equals(Constant.HTTPS)) {
+            SSLContext sslContext = getSslContext(protocol);
+            HttpsURLConnection.setDefaultHostnameVerifier(new TrustAllHostnameVerifier());
+            HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
+            return (HttpsURLConnection) uUrl.openConnection();
+        }
+        return (HttpURLConnection) uUrl.openConnection();
+    }
+
+    public static HttpURLConnection createHttpsOrHttpURLConnectionWithVerify(URL uUrl, String protocol) throws Exception {
+        // initial connection
+        if (uUrl.getProtocol().toUpperCase(Locale.getDefault()).equals(Constant.HTTPS)) {
+            SSLContext sslContext = getSslContextWithVerify(protocol);
+            HttpsURLConnection.setDefaultHostnameVerifier(new TheRealHostnameVerifier());
+            HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
+            return (HttpsURLConnection) uUrl.openConnection();
+        }
+        return (HttpURLConnection) uUrl.openConnection();
+    }
+
+    private static SSLContext getSslContext(String protocol) throws UnsupportProtocolException,
+            NoSuchAlgorithmException, NoSuchProviderException, KeyManagementException {
+        if (!Constant.GM_PROTOCOL.equals(protocol) && !Constant.INTERNATIONAL_PROTOCOL.equals(protocol)) {
+            LOGGER.info("Unsupport protocol: {}, Only support GMTLS TLSv1.2", protocol);
+            throw new UnsupportProtocolException("Unsupport protocol, Only support GMTLS TLSv1.2");
+        }
+        // Create a trust manager that does not validate certificate chains
+        TrustAllManager[] trust = {new TrustAllManager()};
+        KeyManager[] kms = null;
+        SSLContext sslContext;
+
+        sslContext = SSLContext.getInstance(Constant.INTERNATIONAL_PROTOCOL, "SunJSSE");
+
+        if (Constant.GM_PROTOCOL.equals(protocol)) {
+            Security.insertProviderAt(new BGMProvider(), 1);
+            sslContext = SSLContext.getInstance(Constant.GM_PROTOCOL, "BGMProvider");
+        }
+        SecureRandom secureRandom = getSecureRandom();
+        sslContext.init(kms, trust, secureRandom);
+        sslContext.getServerSessionContext().setSessionCacheSize(8192);
+        sslContext.getServerSessionContext().setSessionTimeout(3600);
+        return sslContext;
+    }
+
+    private static SSLContext getSslContextWithVerify(String protocol)
+        throws UnsupportProtocolException, NoSuchAlgorithmException, NoSuchProviderException, KeyManagementException,
+        KeyStoreException {
+        if (!Constant.GM_PROTOCOL.equals(protocol) && !Constant.INTERNATIONAL_PROTOCOL.equals(protocol)) {
+            LOGGER.info("Unsupport protocol: {}, Only support GMTLS TLSv1.2", protocol);
+            throw new UnsupportProtocolException("Unsupport protocol, Only support GMTLS TLSv1.2");
+        }
+        KeyManager[] kms = null;
+        SSLContext sslContext = SSLContext.getInstance(Constant.INTERNATIONAL_PROTOCOL, "SunJSSE");
+        SecureRandom secureRandom = getSecureRandom();
+
+        if (Constant.GM_PROTOCOL.equals(protocol)) {
+            Security.insertProviderAt(new BGMProvider(), 1);
+            sslContext = SSLContext.getInstance(Constant.GM_PROTOCOL, "BGMProvider");
+        }
+
+        TrustManagerFactory tmf = TrustManagerFactory.getInstance(Constant.TRUST_MANAGER_FACTORY);
+        tmf.init((KeyStore) null);
+        TrustManager[] verify = tmf.getTrustManagers();
+        sslContext.init(kms, verify, secureRandom);
+
+        sslContext.getServerSessionContext().setSessionCacheSize(8192);
+        sslContext.getServerSessionContext().setSessionTimeout(3600);
+        return sslContext;
+    }
+
+    // 不校验域名
+    private static class TrustAllHostnameVerifier implements HostnameVerifier {
+        public boolean verify(String hostname, SSLSession session) {
+            return true;
+        }
+    }
+
+    // 校验域名
+    private static class TheRealHostnameVerifier implements HostnameVerifier {
+        public boolean verify(String hostname, SSLSession session) {
+            if (HostName.checkHostName(hostname)) {
+                return true;
+            } else {
+                HostnameVerifier hv = HttpsURLConnection.getDefaultHostnameVerifier();
+                return hv.verify(hostname, session);
+            }
+        }
+    }
+
+    // 不校验服务端证书
+    private static class TrustAllManager implements X509TrustManager {
+        private X509Certificate[] issuers;
+
+        public TrustAllManager() {
+            this.issuers = new X509Certificate[0];
+        }
+
+        public X509Certificate[] getAcceptedIssuers() {
+            return issuers;
+        }
+
+        public void checkClientTrusted(X509Certificate[] chain, String authType) {
+        }
+
+        public void checkServerTrusted(X509Certificate[] chain, String authType) {
+        }
+    }
+
+    private static SecureRandom getSecureRandom() {
+        SecureRandom source;
+        try {
+            source = SecureRandom.getInstance(Constant.SECURE_RANDOM_ALGORITHM_NATIVE_PRNG_NON_BLOCKING);
+        } catch (NoSuchAlgorithmException e) {
+            try {
+                source = SecureRandom.getInstanceStrong();
+            } catch (NoSuchAlgorithmException ex) {
+                LOGGER.error("get SecureRandom failed", e);
+                throw new RuntimeException("get SecureRandom failed");
+            }
+        }
+        boolean predictionResistant = true;
+        BlockCipher cipher = new AESEngine();
+        boolean reSeed = false;
+        return new SP800SecureRandomBuilder(source, predictionResistant).setEntropyBitsRequired(
+                ENTROPY_BITS_REQUIRED).buildCTR(cipher, CIPHER_LEN, null, reSeed);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/UnsupportProtocolException.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/UnsupportProtocolException.java
new file mode 100644
index 0000000..033d2e3
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/carBrand/UnsupportProtocolException.java
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) Huawei Technologies Co., Ltd. 2022-2022. All rights reserved.
+ */
+
+package com.ruoyi.account.util.carBrand;
+
+public class UnsupportProtocolException extends Exception {
+    private static final long serialVersionUID = 4312820110480855928L;
+    private String msgDes; // 异常对应的描述信息
+
+    public UnsupportProtocolException(String message) {
+        super(message);
+        msgDes = message;
+    }
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/pojo/AppletUserEncrypteData.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/pojo/AppletUserEncrypteData.java
index 45884a8..90f5011 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/pojo/AppletUserEncrypteData.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/pojo/AppletUserEncrypteData.java
@@ -1,5 +1,6 @@
 package com.ruoyi.account.wx.pojo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -14,4 +15,6 @@
     private String rawData;
     private String signature;
     private String code;
+    @ApiModelProperty(value = "邀请用户id")
+    private Long inviteUserId;
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppUserMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppUserMapper.xml
index 0dad576..6a665e0 100644
--- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppUserMapper.xml
+++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppUserMapper.xml
@@ -24,11 +24,12 @@
         <result column="create_time" property="createTime" />
         <result column="del_flag" property="delFlag" />
         <result column="last_login_time" property="lastLoginTime" />
+        <result column="invite_user_id" property="inviteUserId" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, name, phone, avatar, vip_id, vip_end_time, company_id, id_card, auth_status, wx_openid, ali_openid, points, province, province_code, city, city_code, status, create_time, del_flag, last_login_time
+        id, name, phone, avatar, vip_id, vip_end_time, company_id, id_card, auth_status, wx_openid, ali_openid, points, province, province_code, city, city_code, status, create_time, del_flag, last_login_time,invite_user_id
     </sql>
 
 </mapper>
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
index 34a893d..c0352fe 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -14,6 +14,7 @@
 import com.ruoyi.chargingPile.service.*;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.GeodesyUtil;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.security.utils.SecurityUtils;
@@ -30,6 +31,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.time.LocalTime;
 import java.util.*;
@@ -122,8 +124,9 @@
 	}
 	@ApiOperation(value = "获取站点分页列表", tags = {"小程序-站点管理-首页"})
 	@PostMapping("/pageList")
-	public AjaxResult<PageInfo<SiteVO>> pageList(@Validated @RequestBody SiteQuery query){
-		return AjaxResult.success(siteService.pageList(query));
+	public AjaxResult<PageInfo<SiteVO>> pageList(@Validated @RequestBody SiteQuery query, HttpServletRequest request){
+		int isLogin = StringUtils.isEmpty(SecurityUtils.getToken(request)) ? 0 : 1;
+		return AjaxResult.success(siteService.pageList(query,isLogin));
 	}
 
 	@ApiOperation(value = "获取站点列表", tags = {"小程序-站点管理-地图导航站点"})
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
index cbde3e9..58e94fb 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
@@ -105,6 +105,10 @@
         if(null != dto.getSiteId()){
             dto.setAuditStatus(3);
         }
+        Boolean flag = accountingStrategyDetailService.isStrategy24Hour(dto.getAccountingStrategyDetails());
+        if(flag){
+            return AjaxResult.error("计费模板时间设置有误差");
+        }
         Long userId = SecurityUtils.getLoginUser().getUserid();
         dto.setUserId(userId);
         accountingStrategyService.save(dto);
@@ -122,6 +126,10 @@
     @ApiOperation(tags = {"后台-计费策略", "管理后台-站点管理"},value = "修改计费策略")
     @PostMapping(value = "/update")
     public AjaxResult<Boolean> update(@RequestBody TAccountingStrategyDTO dto) {
+        Boolean flag = accountingStrategyDetailService.isStrategy24Hour(dto.getAccountingStrategyDetails());
+        if(flag){
+            return AjaxResult.error("计费模板时间设置有误差");
+        }
         // 删除计费策略明细信息
         accountingStrategyDetailService.remove(Wrappers.lambdaQuery(TAccountingStrategyDetail.class)
                 .eq(TAccountingStrategyDetail::getAccountingStrategyId, dto.getId()));
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
index b876d46..0857bc3 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
@@ -2,6 +2,7 @@
 
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.query.TChargingGunQuery;
 import com.ruoyi.chargingPile.api.vo.TChargingGunVO;
@@ -51,16 +52,19 @@
 public class TChargingPileController {
 
     private final TChargingPileService chargingPileService;
+    private final TChargingGunService chargingGunService;
+
 
     @Autowired
-    public TChargingPileController(TChargingPileService chargingPileService) {
+    public TChargingPileController(TChargingPileService chargingPileService, TChargingGunService chargingGunService) {
         this.chargingPileService = chargingPileService;
+        this.chargingGunService = chargingGunService;
     }
 
     /**
      * 查询充电桩列表
      */
-    @ApiOperation(tags = {"小程序-充电桩"},value = "查询充电桩列表")
+    @ApiOperation(tags = {"小程序-充电桩"},value = "通过站点id查询充电桩列表")
     @PostMapping(value = "/list")
     @ApiImplicitParams({
 		    @ApiImplicitParam(name = "siteId", value = "站点id")
@@ -70,6 +74,18 @@
                 .eq(TChargingPile::getSiteId,siteId)));
     }
 	/**
+     * 查询充电桩列表
+     */
+    @ApiOperation(tags = {"通过充电桩id 查询充电枪列表"},value = "通过充电桩id 查询充电枪列表")
+    @PostMapping(value = "/pileList")
+    @ApiImplicitParams({
+		    @ApiImplicitParam(name = "pileId", value = "充电桩id")
+    })
+    public AjaxResult<List<TChargingGun>> pileList(@RequestParam("pileId") Integer pileId) {
+        return AjaxResult.ok(chargingGunService.list(Wrappers.lambdaQuery(TChargingGun.class)
+                .eq(TChargingGun::getChargingPileId,pileId)));
+    }
+	/**
      * 管理后台-通过站点id获取充电桩列表 不分页
      */
     @ApiOperation(value = "管理后台-通过站点id获取充电桩列表 不分页")
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java
index 7383d16..467e29a 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/filter/AuthFilter.java
@@ -5,11 +5,9 @@
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.common.core.constant.TokenConstants;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.utils.JwtUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysUserClient;
-import io.jsonwebtoken.Claims;
 import org.apache.logging.log4j.core.config.Order;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -25,7 +23,6 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
 
 /**
  * @author zhibing.pu
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java
index e96f7e3..b24a0eb 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java
@@ -67,7 +67,7 @@
 	 * @return
 	 */
 	
-	PageInfo<SiteVO> pageList(SiteQuery query);
+	PageInfo<SiteVO> pageList(SiteQuery query,Integer isLogin);
 
 	/**
 	 * 获取站点详情
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java
index 178d0cf..245e8d3 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java
@@ -38,4 +38,10 @@
      * @return
      */
     StrategyPriceVO queryPrice(Integer siteId);
+    /**
+     * 判断是否满足24小时策略
+     * @param accountingStrategyDetails
+     * @return
+     */
+    Boolean isStrategy24Hour(List<TAccountingStrategyDetail> accountingStrategyDetails);
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
index e483d89..1a3a90f 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -19,6 +19,7 @@
 import com.ruoyi.chargingPile.service.ISiteService;
 import com.ruoyi.chargingPile.service.TChargingGunService;
 import com.ruoyi.chargingPile.service.TChargingPileService;
+import com.ruoyi.common.core.utils.ServletUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
@@ -224,11 +225,14 @@
 	}
 
 	@Override
-	public PageInfo<SiteVO> pageList(SiteQuery query) {
-		// 获取当前登录用户id
-		Long userId = tokenService.getLoginUserApplet().getUserId();
-		// 根据id查询用户信息
-		TAppUser appUser = appUserClient.getUserById(userId).getData();
+	public PageInfo<SiteVO> pageList(SiteQuery query,Integer isLogin) {
+		TAppUser appUser = null;
+		if(isLogin == 1){
+			// 获取当前登录用户id
+			Long userId = tokenService.getLoginUserApplet().getUserId();
+			// 根据id查询用户信息
+			appUser = appUserClient.getUserById(userId).getData();
+		}
 		PageInfo<SiteVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
 		List<SiteVO> list = this.baseMapper.pageList(query,pageInfo);
 		if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
index ea793af..979620c 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
@@ -22,8 +22,10 @@
 import java.math.BigDecimal;
 import java.time.LocalTime;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -122,4 +124,22 @@
         strategyPriceVO.setServiceFeeDiscount(monthlyCardDiscount.getMonthlyCardDiscount());
         return strategyPriceVO;
     }
+
+    @Override
+    public Boolean isStrategy24Hour(List<TAccountingStrategyDetail> accountingStrategyDetails) {
+        String START_OF_DAY = "00:00:00";
+        String END_OF_DAY = "24:00:00";
+        List<TAccountingStrategyDetail> sortedDetails = accountingStrategyDetails.stream()
+                .sorted(Comparator.comparing(TAccountingStrategyDetail::getStartTime))
+                .collect(Collectors.toList());
+
+        boolean isFirstElementValid = sortedDetails.isEmpty() || !START_OF_DAY.equals(sortedDetails.get(0).getStartTime());
+        boolean isLastElementValid = sortedDetails.isEmpty() || !END_OF_DAY.equals(sortedDetails.get(sortedDetails.size() - 1).getEndTime());
+
+        boolean isTimeContinuous = sortedDetails.stream()
+                .skip(1)
+                .allMatch(detail -> detail.getStartTime().equals(sortedDetails.get(sortedDetails.indexOf(detail) - 1).getEndTime()));
+
+        return isFirstElementValid || isLastElementValid || !isTimeContinuous;
+    }
 }
diff --git a/ruoyi-service/ruoyi-integration/pom.xml b/ruoyi-service/ruoyi-integration/pom.xml
index 573df82..0ee4a2f 100644
--- a/ruoyi-service/ruoyi-integration/pom.xml
+++ b/ruoyi-service/ruoyi-integration/pom.xml
@@ -15,6 +15,10 @@
     </description>
 
     <dependencies>
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-api-integration</artifactId>
+        </dependency>
         <!-- SpringCloud Alibaba Nacos -->
         <dependency>
             <groupId>com.alibaba.cloud</groupId>
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/ChargingOrderController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/ChargingOrderController.java
new file mode 100644
index 0000000..ec1e822
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/ChargingOrderController.java
@@ -0,0 +1,41 @@
+package com.ruoyi.integration.controller;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2024-08-07
+ */
+@RestController
+@RequestMapping("/chargingOrder")
+public class ChargingOrderController {
+    @Resource
+    private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService;
+
+    /**
+     * 远程调用 通过订单流水号 查询订单详情
+     * @param orderId
+     * @return
+     */
+    @PostMapping(value = "/getOrderInfoByCode")
+    public R<UploadRealTimeMonitoringData> chargingOrderInfo(String orderId){
+        UploadRealTimeMonitoringData byId = uploadRealTimeMonitoringDataService.findById(orderId);
+        return R.ok(byId);
+    }
+
+}
+
+
+
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/ServiceIdConstant.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/ServiceIdConstant.java
deleted file mode 100644
index a75de5a..0000000
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/constant/ServiceIdConstant.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package com.ruoyi.integration.iotda.constant;
-
-public class ServiceIdConstant {
-    /**
-     * 登录认证应答
-     */
-    public static final String ONLINE_REPLY = "online_reply";
-    /**
-     * 登录认证应答
-     */
-    public static final String PONG = "pong";
-    /**
-     * 计费模型验证请求应答
-     */
-    public static final String BILLING_MODE_VERIFY_REPLY = "billing_mode_verify_reply";
-    /**
-     * 计费模型请求应答
-     */
-    public static final String ACQUISITION_BILLING_MODE_REPLY = "acquisition_billing_mode_reply";
-    /**
-     * 读取实时监测数据
-     */
-    public static final String READ_REAL_TIME_MONITORING_DATA = "read_real_time_monitoring_data";
-    /**
-     * 充电结束
-     */
-    public static final String END_CHARGE = "end_charge";
-    /**
-     * 运营平台确认启动充电
-     */
-    public static final String PLATFORM_CONFIRMATION_CHARGING = "platform_confirmation_charging";
-    /**
-     * 运营平台远程控制启机
-     */
-    public static final String PLATFORM_START_CHARGING = "platform_start_charging";
-    /**
-     * 运营平台远程停机
-     */
-    public static final String PLATFORM_STOP_CHARGING = "platform_stop_charging";
-    /**
-     * 交易记录确认
-     */
-    public static final String CONFIRM_TRANSACTION_RECORD = "confirm_transaction_record";
-    /**
-     * 远程账户余额更新
-     */
-    public static final String UPDATE_BALANCE = "update_balance";
-    /**
-     * 离线卡数据同步
-     */
-    public static final String SYNCHRONIZE_OFFLINE_CARD = "synchronize_offline_card";
-    /**
-     * 离线卡数据清除
-     */
-    public static final String CLEAR_OFFLINE_CARD = "clear_offline_card";
-    /**
-     * 离线卡数据查询
-     */
-    public static final String QUERY_OFFLINE_CARD = "query_offline_card";
-    /**
-     * 充电桩工作参数设置
-     */
-    public static final String WORKING_PARAMETER_SETTING = "working_parameter_setting";
-    /**
-     * 对时设置
-     */
-    public static final String TIMING_SETTING = "timing_setting";
-    /**
-     * 计费模型设置
-     */
-    public static final String SETUP_BILLING_MODEL = "setup_billing_model";
-    /**
-     * 遥控地锁升锁与降锁命令 (下行)
-     */
-    public static final String OPEN_OR_CLOSE_GROUND_LOCK = "open_or_close_ground_lock";
-    /**
-     * 远程重启
-     */
-    public static final String PLATFORM_RESTART = "platform_restart";
-    /**
-     * 远程更新
-     */
-    public static final String PLATFORM_REMOTE_UPDATE = "platform_remote_update";
-
-}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/SendTagMenu.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/SendTagMenu.java
new file mode 100644
index 0000000..d4e01ed
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/SendTagMenu.java
@@ -0,0 +1,124 @@
+package com.ruoyi.integration.iotda.enums;
+
+
+/**
+ * @author xiaochen
+ * @Date 2024/8/22 15:28
+ */
+public enum SendTagMenu {
+	/**
+	 * 充电桩登录认证
+	 */
+	ONLINE ("online"),
+	/**
+	 * 充电桩心跳包
+	 */
+	PING ("ping"),
+	/**
+	 * 计费模型验证请求
+	 */
+	BILLING_MODE_VERIFY ("billing_mode_verify"),
+	/**
+	 * 充电桩计费模型请求
+	 */
+	ACQUISITION_BILLING_MODE ("acquisition_billing_mode"),
+	/**
+	 * 上传实时监测数据
+	 */
+	UPLOAD_REAL_TIME_MONITORING_DATA ("upload_real_time_monitoring_data"),
+	/**
+	 * 充电握手
+	 */
+	CHARGING_HANDSHAKE ("charging_handshake"),
+	/**
+	 * 充电阶段BMS中止
+	 */
+	BMS_ABORT ("bms_abort"),
+	/**
+	 * 充电阶段充电机中止
+	 */
+	MOTOR_ABORT ("motor_abort"),
+	/**
+	 * 充电过程BMS需求、充电机输出
+	 */
+	BMS_DEMAND_AND_CHARGER_EXPORTATION ("bms_demand_and_charger_exportation"),
+	/**
+	 * 充电过程BMS信息
+	 */
+	BMS_INFORMATION ("bms_information"),
+	/**
+	 * 充电桩主动申请启动充电
+	 */
+	CHARGING_PILE_STARTS_CHARGING ("charging_pile_starts_charging"),
+	/**
+	 * 远程启机命令回复
+	 */
+	PLATFORM_START_CHARGING_REPLY ("platform_start_charging_reply"),
+	/**
+	 * 远程停机命令回复
+	 */
+	PLATFORM_STOP_CHARGING_REPLY ("platform_stop_charging_reply"),
+	/**
+	 * 交易记录
+	 */
+	TRANSACTION_RECORD ("transaction_record"),
+	/**
+	 * 余额更新应答
+	 */
+	UPDATE_BALANCE_REPLY ("update_balance_reply"),
+	/**
+	 * 卡数据同步应答
+	 */
+	SYNCHRONIZE_OFFLINE_CARD_REPLY ("synchronize_offline_card_reply"),
+	/**
+	 * 离线卡数据清除应答
+	 */
+	CLEAR_OFFLINE_CARD_REPLY ("clear_offline_card_reply"),
+	/**
+	 * 离线卡数据查询应答
+	 */
+	QUERY_OFFLINE_CARD_REPLY ("query_offline_card_reply"),
+	/**
+	 * 充电桩工作参数设置应答
+	 */
+	WORKING_PARAMETER_SETTING_REPLY ("working_parameter_setting_reply"),
+	/**
+	 * 对时设置应答
+	 */
+	TIMING_SETTING_REPLY ("timing_setting_reply"),
+	/**
+	 * 计费模型应答
+	 */
+	SETUP_BILLING_MODEL_REPLY ("setup_billing_model_reply"),
+	/**
+	 * 地锁数据上送(充电桩上送)
+	 */
+	GROUND_LOCK_REAL_TIME_DATA ("ground_lock_real_time_data"),
+	/**
+	 * 充电桩返回数据(上行)
+	 */
+	CHARGING_PILE_RETURNS_GROUND_LOCK_DATA ("charging_pile_returns_ground_lock_data"),
+	/**
+	 * 远程重启应答
+	 */
+	PLATFORM_RESTART_REPLY ("platform_restart_reply"),
+	/**
+	 * 远程更新应答
+	 */
+	PLATFORM_REMOTE_UPDATE_REPLY ("platform_remote_update_reply"),
+	;
+	private String value;
+
+
+	SendTagMenu(String value) {
+		this.value = value;
+	}
+	
+	public String getValue() {
+		return value;
+	}
+	
+	public void setValue(String value) {
+		this.value = value;
+	}
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/ServiceIdMenu.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/ServiceIdMenu.java
new file mode 100644
index 0000000..e54b94b
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/ServiceIdMenu.java
@@ -0,0 +1,104 @@
+package com.ruoyi.integration.iotda.enums;
+
+
+/**
+ * @author xiaochen
+ * @Date 2024/8/22 15:28
+ */
+public enum ServiceIdMenu {
+	/**
+	 * 登录认证应答
+	 */
+	 ONLINE_REPLY ("online_reply"),
+	/**
+	 * 登录认证应答
+	 */
+	 PONG ("pong"),
+	/**
+	 * 计费模型验证请求应答
+	 */
+	 BILLING_MODE_VERIFY_REPLY ("billing_mode_verify_reply"),
+	/**
+	 * 计费模型请求应答
+	 */
+	 ACQUISITION_BILLING_MODE_REPLY ("acquisition_billing_mode_reply"),
+	/**
+	 * 读取实时监测数据
+	 */
+	 READ_REAL_TIME_MONITORING_DATA ("read_real_time_monitoring_data"),
+	/**
+	 * 充电结束
+	 */
+	 END_CHARGE ("end_charge"),
+	/**
+	 * 运营平台确认启动充电
+	 */
+	 PLATFORM_CONFIRMATION_CHARGING ("platform_confirmation_charging"),
+	/**
+	 * 运营平台远程控制启机
+	 */
+	 PLATFORM_START_CHARGING ("platform_start_charging"),
+	/**
+	 * 运营平台远程停机
+	 */
+	 PLATFORM_STOP_CHARGING ("platform_stop_charging"),
+	/**
+	 * 交易记录确认
+	 */
+	 CONFIRM_TRANSACTION_RECORD ("confirm_transaction_record"),
+	/**
+	 * 远程账户余额更新
+	 */
+	 UPDATE_BALANCE ("update_balance"),
+	/**
+	 * 离线卡数据同步
+	 */
+	 SYNCHRONIZE_OFFLINE_CARD ("synchronize_offline_card"),
+	/**
+	 * 离线卡数据清除
+	 */
+	 CLEAR_OFFLINE_CARD ("clear_offline_card"),
+	/**
+	 * 离线卡数据查询
+	 */
+	 QUERY_OFFLINE_CARD ("query_offline_card"),
+	/**
+	 * 充电桩工作参数设置
+	 */
+	 WORKING_PARAMETER_SETTING ("working_parameter_setting"),
+	/**
+	 * 对时设置
+	 */
+	 TIMING_SETTING ("timing_setting"),
+	/**
+	 * 计费模型设置
+	 */
+	 SETUP_BILLING_MODEL ("setup_billing_model"),
+	/**
+	 * 遥控地锁升锁与降锁命令 (下行)
+	 */
+	 OPEN_OR_CLOSE_GROUND_LOCK ("open_or_close_ground_lock"),
+	/**
+	 * 远程重启
+	 */
+	 PLATFORM_RESTART ("platform_restart"),
+	/**
+	 * 远程更新
+	 */
+	 PLATFORM_REMOTE_UPDATE ("platform_remote_update"),
+	;
+	private String value;
+
+
+	ServiceIdMenu(String value) {
+		this.value = value;
+	}
+	
+	public String getValue() {
+		return value;
+	}
+	
+	public void setValue(String value) {
+		this.value = value;
+	}
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java
index 2528cc6..491377c 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/api/IotInterfaceUtil.java
@@ -16,6 +16,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.text.MessageFormat;
 import java.util.ArrayList;
@@ -25,7 +26,7 @@
  * iot接口调用工具类
  */
 @Slf4j
-@Component
+@RestController
 public class IotInterfaceUtil {
 
     private static final String dataFormat = "json";
@@ -40,10 +41,6 @@
 
     private String decodeUrl(String url) {
         return MessageFormat.format(url, iotDAConfig.getProjectId());
-    }
-
-    public static void main(String[] args) {
-
     }
 
     /**
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
index 22bb005..acf6897 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -24,8 +24,12 @@
      * @throws IOException
      */
     @PostMapping(value = "/message")
-    public AjaxResult<Integer> add(@RequestBody JSONObject jsonObject) throws IOException {
-        System.err.println(jsonObject);
+    public AjaxResult<String> message(@RequestBody JSONObject jsonObject) throws IOException {
+        log.info("接收到消息中转:{}",jsonObject);
+        JSONObject content = jsonObject.getJSONObject("content");
+        if (content.getString("name").equals("device_status_change")){
+            //设备状态改变
+        }
         return AjaxResult.success();
     }
 
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
index 439572a..0269d52 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
@@ -13,12 +13,14 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * iotda消息发送
  */
 @Slf4j
-@Component
+@RestController
 public class IotMessageProduce {
 
     @Autowired
@@ -31,6 +33,7 @@
      * @param message 消息内容
      * @return
      */
+    @PostMapping("/sendMessage")
     public String sendMessage(String deviceId,String name,String message){
         CreateMessageRequest request = new CreateMessageRequest();
         request.withDeviceId(deviceId);
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
index 09df514..f25bc8f 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
@@ -2,12 +2,15 @@
 
 
 import com.alibaba.fastjson2.JSONObject;
-import com.ruoyi.integration.iotda.constant.ServiceIdConstant;
-import com.ruoyi.integration.mongodb.model.*;
+import com.ruoyi.integration.api.model.*;
+import com.ruoyi.integration.iotda.enums.ServiceIdMenu;
 import com.ruoyi.integration.mongodb.service.*;
-import org.apache.poi.ss.formula.functions.T;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
+@Slf4j
+@Component
 public class MessageUtil {
 
     @Autowired
@@ -58,7 +61,7 @@
      */
     public String onlineReply(OnlineReply onlineReply){
         onlineReplyService.create(onlineReply);
-        return getMessageJsonString(onlineReply, ServiceIdConstant.ONLINE_REPLY);
+        return  getMessageJsonString(onlineReply, ServiceIdMenu.ONLINE_REPLY.getValue());
     }
 
     /**
@@ -68,7 +71,7 @@
      */
     public String pong(Pong pong){
         pongService.create(pong);
-        return getMessageJsonString(pong, ServiceIdConstant.PONG);
+        return  getMessageJsonString(pong, ServiceIdMenu.PONG.getValue());
     }
 
     /**
@@ -78,7 +81,7 @@
      */
     public String billingModeVerifyReply(BillingModeVerifyReply billingModeVerifyReply){
         billingModeVerifyReplyService.create(billingModeVerifyReply);
-        return getMessageJsonString(billingModeVerifyReply, ServiceIdConstant.BILLING_MODE_VERIFY_REPLY);
+        return  getMessageJsonString(billingModeVerifyReply, ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getValue());
     }
 
     /**
@@ -88,7 +91,7 @@
      */
     public String acquisitionBillingModeReply(AcquisitionBillingModeReply acquisitionBillingModeReply){
         acquisitionBillingModeReplyService.create(acquisitionBillingModeReply);
-        return getMessageJsonString(acquisitionBillingModeReply, ServiceIdConstant.ACQUISITION_BILLING_MODE_REPLY);
+        return  getMessageJsonString(acquisitionBillingModeReply, ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getValue());
     }
 
     /**
@@ -98,7 +101,7 @@
      */
     public String readRealTimeMonitoringData(ReadRealTimeMonitoringData readRealTimeMonitoringData){
         readRealTimeMonitoringDataService.create(readRealTimeMonitoringData);
-        return getMessageJsonString(readRealTimeMonitoringData, ServiceIdConstant.READ_REAL_TIME_MONITORING_DATA);
+        return  getMessageJsonString(readRealTimeMonitoringData, ServiceIdMenu.READ_REAL_TIME_MONITORING_DATA.getValue());
     }
 
     /**
@@ -108,7 +111,7 @@
      */
     public String endCharge(EndCharge endCharge){
         endChargeService.create(endCharge);
-        return getMessageJsonString(endCharge, ServiceIdConstant.END_CHARGE);
+        return  getMessageJsonString(endCharge, ServiceIdMenu.END_CHARGE.getValue());
     }
 
     /**
@@ -118,7 +121,7 @@
      */
     public String platformConfirmationCharging(PlatformConfirmationCharging platformConfirmationCharging){
         platformConfirmationChargingService.create(platformConfirmationCharging);
-        return getMessageJsonString(platformConfirmationCharging, ServiceIdConstant.PLATFORM_CONFIRMATION_CHARGING);
+        return  getMessageJsonString(platformConfirmationCharging, ServiceIdMenu.PLATFORM_CONFIRMATION_CHARGING.getValue());
     }
 
     /**
@@ -128,7 +131,7 @@
      */
     public String platformConfirmationCharging(PlatformStartCharging platformStartCharging){
         platformStartChargingService.create(platformStartCharging);
-        return getMessageJsonString(platformStartCharging, ServiceIdConstant.PLATFORM_START_CHARGING);
+        return  getMessageJsonString(platformStartCharging, ServiceIdMenu.PLATFORM_START_CHARGING.getValue());
     }
 
     /**
@@ -138,7 +141,7 @@
      */
     public String platformStopCharging(PlatformStopCharging platformStopCharging){
         platformStopChargingService.create(platformStopCharging);
-        return getMessageJsonString(platformStopCharging, ServiceIdConstant.PLATFORM_STOP_CHARGING);
+        return  getMessageJsonString(platformStopCharging, ServiceIdMenu.PLATFORM_STOP_CHARGING.getValue());
     }
 
     /**
@@ -148,7 +151,7 @@
      */
     public String confirmTransactionRecord(ConfirmTransactionRecord confirmTransactionRecord){
         confirmTransactionRecordService.create(confirmTransactionRecord);
-        return getMessageJsonString(confirmTransactionRecord, ServiceIdConstant.CONFIRM_TRANSACTION_RECORD);
+        return  getMessageJsonString(confirmTransactionRecord, ServiceIdMenu.CONFIRM_TRANSACTION_RECORD.getValue());
     }
 
     /**
@@ -158,7 +161,7 @@
      */
     public String updateBalance(UpdateBalance updateBalance){
         updateBalanceService.create(updateBalance);
-        return getMessageJsonString(updateBalance, ServiceIdConstant.UPDATE_BALANCE);
+        return  getMessageJsonString(updateBalance, ServiceIdMenu.UPDATE_BALANCE.getValue());
     }
 
     /**
@@ -168,7 +171,7 @@
      */
     public String synchronizeOfflineCard(SynchronizeOfflineCard synchronizeOfflineCard){
         synchronizeOfflineCardService.create(synchronizeOfflineCard);
-        return getMessageJsonString(synchronizeOfflineCard, ServiceIdConstant.SYNCHRONIZE_OFFLINE_CARD);
+        return  getMessageJsonString(synchronizeOfflineCard, ServiceIdMenu.SYNCHRONIZE_OFFLINE_CARD.getValue());
     }
 
     /**
@@ -178,7 +181,7 @@
      */
     public String clearOfflineCard(ClearOfflineCard clearOfflineCard){
         clearOfflineCardService.create(clearOfflineCard);
-        return getMessageJsonString(clearOfflineCard, ServiceIdConstant.CLEAR_OFFLINE_CARD);
+        return  getMessageJsonString(clearOfflineCard, ServiceIdMenu.CLEAR_OFFLINE_CARD.getValue());
     }
 
     /**
@@ -188,7 +191,7 @@
      */
     public String queryOfflineCard(QueryOfflineCard queryOfflineCard){
         queryOfflineCardService.create(queryOfflineCard);
-        return getMessageJsonString(queryOfflineCard, ServiceIdConstant.QUERY_OFFLINE_CARD);
+        return  getMessageJsonString(queryOfflineCard, ServiceIdMenu.QUERY_OFFLINE_CARD.getValue());
     }
 
     /**
@@ -198,7 +201,7 @@
      */
     public String workingParameterSetting(WorkingParameterSetting workingParameterSetting){
         workingParameterSettingService.create(workingParameterSetting);
-        return getMessageJsonString(workingParameterSetting, ServiceIdConstant.WORKING_PARAMETER_SETTING);
+        return  getMessageJsonString(workingParameterSetting, ServiceIdMenu.WORKING_PARAMETER_SETTING.getValue());
     }
 
     /**
@@ -208,7 +211,7 @@
      */
     public String timingSetting(TimingSetting timingSetting){
         timingSettingService.create(timingSetting);
-        return getMessageJsonString(timingSetting, ServiceIdConstant.TIMING_SETTING);
+        return  getMessageJsonString(timingSetting, ServiceIdMenu.TIMING_SETTING.getValue());
     }
 
     /**
@@ -218,7 +221,7 @@
      */
     public String setupBillingModel(SetupBillingModel setupBillingModel){
         setupBillingModelService.create(setupBillingModel);
-        return getMessageJsonString(setupBillingModel, ServiceIdConstant.SETUP_BILLING_MODEL);
+        return  getMessageJsonString(setupBillingModel, ServiceIdMenu.SETUP_BILLING_MODEL.getValue());
     }
 
     /**
@@ -228,7 +231,7 @@
      */
     public String openOrCloseGroundLock(OpenOrCloseGroundLock openOrCloseGroundLock){
         openOrCloseGroundLockService.create(openOrCloseGroundLock);
-        return getMessageJsonString(openOrCloseGroundLock, ServiceIdConstant.OPEN_OR_CLOSE_GROUND_LOCK);
+        return  getMessageJsonString(openOrCloseGroundLock, ServiceIdMenu.OPEN_OR_CLOSE_GROUND_LOCK.getValue());
     }
     /**
      * 远程重启
@@ -237,7 +240,7 @@
      */
     public String platformRestart(PlatformRestart platformRestart){
         platformRestartService.create(platformRestart);
-        return getMessageJsonString(platformRestart, ServiceIdConstant.PLATFORM_RESTART);
+        return  getMessageJsonString(platformRestart, ServiceIdMenu.PLATFORM_RESTART.getValue());
     }
     /**
      * 远程更新
@@ -246,7 +249,7 @@
      */
     public String platformRemoteUpdate(PlatformRemoteUpdate platformRemoteUpdate){
         platformRemoteUpdateService.create(platformRemoteUpdate);
-        return getMessageJsonString(platformRemoteUpdate, ServiceIdConstant.PLATFORM_REMOTE_UPDATE);
+        return  getMessageJsonString(platformRemoteUpdate, ServiceIdMenu.PLATFORM_REMOTE_UPDATE.getValue());
     }
 
     /**
@@ -255,10 +258,9 @@
      * @param serviceId 服务ID
      * @return
      */
-    private String getMessageJsonString(Object object, String serviceId){
+    public String getMessageJsonString(Object object, String serviceId){
         JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(object));
         jsonObject.put("service_id", serviceId);
         return jsonObject.toJSONString();
     }
-
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java
index d16587c..1bc8695 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.AcquisitionBillingModeReply;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.AcquisitionBillingModeReply;
 
 public interface AcquisitionBillingModeReplyService extends BaseService<AcquisitionBillingModeReply> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeService.java
new file mode 100644
index 0000000..3bf273d
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.AcquisitionBillingMode;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface AcquisitionBillingModeService extends BaseService<AcquisitionBillingMode> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java
index aefa979..ad8f405 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.BillingModeVerifyReply;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.BillingModeVerifyReply;
 import org.springframework.stereotype.Service;
 
 public interface BillingModeVerifyReplyService extends BaseService<BillingModeVerifyReply> {
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyService.java
new file mode 100644
index 0000000..373235d
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.BillingModeVerify;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface BillingModeVerifyService extends BaseService<BillingModeVerify> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsAbortService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsAbortService.java
new file mode 100644
index 0000000..5d761b8
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsAbortService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.BmsAbort;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface BmsAbortService extends BaseService<BmsAbort> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsDemandAndChargerExportationService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsDemandAndChargerExportationService.java
new file mode 100644
index 0000000..34e3749
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsDemandAndChargerExportationService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface BmsDemandAndChargerExportationService extends BaseService<BmsDemandAndChargerExportation> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsInformationService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsInformationService.java
new file mode 100644
index 0000000..3dafc4c
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsInformationService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.BmsInformation;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface BmsInformationService extends BaseService<BmsInformation> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingHandshakeService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingHandshakeService.java
new file mode 100644
index 0000000..aa79902
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingHandshakeService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.ChargingHandshake;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface ChargingHandshakeService extends BaseService<ChargingHandshake> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingPileReturnsGroundLockDataService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingPileReturnsGroundLockDataService.java
new file mode 100644
index 0000000..697d642
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingPileReturnsGroundLockDataService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.ChargingPileReturnsGroundLockData;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface ChargingPileReturnsGroundLockDataService extends BaseService<ChargingPileReturnsGroundLockData> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingPileStartsChargingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingPileStartsChargingService.java
new file mode 100644
index 0000000..f9dcf02
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingPileStartsChargingService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.ChargingPileStartsCharging;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface ChargingPileStartsChargingService extends BaseService<ChargingPileStartsCharging> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ClearOfflineCardReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ClearOfflineCardReplyService.java
new file mode 100644
index 0000000..d274c4e
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ClearOfflineCardReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.ClearOfflineCardReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface ClearOfflineCardReplyService extends BaseService<ClearOfflineCardReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ClearOfflineCardService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ClearOfflineCardService.java
index ca5cf48..4286a3b 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ClearOfflineCardService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ClearOfflineCardService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.ClearOfflineCard;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.ClearOfflineCard;
 
 public interface ClearOfflineCardService extends BaseService<ClearOfflineCard> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ConfirmTransactionRecordService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ConfirmTransactionRecordService.java
index dc44702..25f871e 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ConfirmTransactionRecordService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ConfirmTransactionRecordService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.ConfirmTransactionRecord;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.ConfirmTransactionRecord;
 
 public interface ConfirmTransactionRecordService extends BaseService<ConfirmTransactionRecord> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java
index 8626bf9..26508ed 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.EndCharge;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.EndCharge;
 
 public interface EndChargeService extends BaseService<EndCharge> {
 
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/GroundLockRealTimeDataService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/GroundLockRealTimeDataService.java
new file mode 100644
index 0000000..2791e64
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/GroundLockRealTimeDataService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.GroundLockRealTimeData;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface GroundLockRealTimeDataService extends BaseService<GroundLockRealTimeData> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/MotorAbortService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/MotorAbortService.java
new file mode 100644
index 0000000..9d11dc6
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/MotorAbortService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.MotorAbort;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface MotorAbortService extends BaseService<MotorAbort> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java
index ecf59cb..f9d7ee2 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.OnlineReply;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.OnlineReply;
 import org.springframework.stereotype.Service;
 
 /**
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java
index bd152a3..6cca94c 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.Online;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.Online;
 import org.springframework.stereotype.Service;
 
 /**
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OpenOrCloseGroundLockService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OpenOrCloseGroundLockService.java
index 8d49063..3095dfa 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OpenOrCloseGroundLockService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OpenOrCloseGroundLockService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.OpenOrCloseGroundLock;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.OpenOrCloseGroundLock;
 
 public interface OpenOrCloseGroundLockService extends BaseService<OpenOrCloseGroundLock> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ParameterSettingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ParameterSettingService.java
new file mode 100644
index 0000000..b8a2083
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ParameterSettingService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.ParameterSetting;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface ParameterSettingService extends BaseService<ParameterSetting> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PingService.java
new file mode 100644
index 0000000..228a4a2
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PingService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.Ping;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface PingService extends BaseService<Ping> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformConfirmationChargingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformConfirmationChargingService.java
index cf60b5a..22d1236 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformConfirmationChargingService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformConfirmationChargingService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.PlatformConfirmationCharging;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.PlatformConfirmationCharging;
 
 public interface PlatformConfirmationChargingService extends BaseService<PlatformConfirmationCharging> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRemoteUpdateReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRemoteUpdateReplyService.java
new file mode 100644
index 0000000..942eafb
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRemoteUpdateReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformRemoteUpdateReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface PlatformRemoteUpdateReplyService extends BaseService<PlatformRemoteUpdateReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRemoteUpdateService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRemoteUpdateService.java
index fee304d..60ef081 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRemoteUpdateService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRemoteUpdateService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.PlatformRemoteUpdate;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.PlatformRemoteUpdate;
 
 public interface PlatformRemoteUpdateService extends BaseService<PlatformRemoteUpdate> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRestartReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRestartReplyService.java
new file mode 100644
index 0000000..589c6d3
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRestartReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformRestartReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface PlatformRestartReplyService extends BaseService<PlatformRestartReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRestartService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRestartService.java
index 96a3df4..6afd2a0 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRestartService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformRestartService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.PlatformRestart;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.PlatformRestart;
 
 public interface PlatformRestartService extends BaseService<PlatformRestart> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingReplyService.java
new file mode 100644
index 0000000..da31586
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformStartChargingReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface PlatformStartChargingReplyService extends BaseService<PlatformStartChargingReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java
index 4c45229..2632c6b 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.PlatformStartCharging;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.PlatformStartCharging;
 
 public interface PlatformStartChargingService extends BaseService<PlatformStartCharging> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingReplyService.java
new file mode 100644
index 0000000..a618614
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformStopChargingReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface PlatformStopChargingReplyService extends BaseService<PlatformStopChargingReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingService.java
index a6ee95b..d4d8282 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.PlatformStopCharging;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.PlatformStopCharging;
 
 public interface PlatformStopChargingService extends BaseService<PlatformStopCharging> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PongService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PongService.java
index 459d53b..d48eba4 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PongService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PongService.java
@@ -1,9 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.Pong;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.Online;
-import com.ruoyi.integration.mongodb.model.Pong;
-import org.springframework.stereotype.Service;
 
 /**
  * 心跳包应答接口
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QueryOfflineCardReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QueryOfflineCardReplyService.java
new file mode 100644
index 0000000..ad2db6f
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QueryOfflineCardReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.QueryOfflineCardReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface QueryOfflineCardReplyService extends BaseService<QueryOfflineCardReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QueryOfflineCardService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QueryOfflineCardService.java
index e141bc6..22f35dc 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QueryOfflineCardService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QueryOfflineCardService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.QueryOfflineCard;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.QueryOfflineCard;
 
 public interface QueryOfflineCardService extends BaseService<QueryOfflineCard> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ReadRealTimeMonitoringDataService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ReadRealTimeMonitoringDataService.java
index f77a87c..0e4ee90 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ReadRealTimeMonitoringDataService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ReadRealTimeMonitoringDataService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.ReadRealTimeMonitoringData;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.ReadRealTimeMonitoringData;
 
 public interface ReadRealTimeMonitoringDataService extends BaseService<ReadRealTimeMonitoringData> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelReplyService.java
new file mode 100644
index 0000000..673c65d
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.SetupBillingModelReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface SetupBillingModelReplyService extends BaseService<SetupBillingModelReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelService.java
index 0d45529..1e5d46c 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.SetupBillingModel;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.SetupBillingModel;
 
 public interface SetupBillingModelService extends BaseService<SetupBillingModel> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SynchronizeOfflineCardReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SynchronizeOfflineCardReplyService.java
new file mode 100644
index 0000000..f04b407
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SynchronizeOfflineCardReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.SynchronizeOfflineCardReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface SynchronizeOfflineCardReplyService extends BaseService<SynchronizeOfflineCardReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SynchronizeOfflineCardService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SynchronizeOfflineCardService.java
index 6281819..d7e1be7 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SynchronizeOfflineCardService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SynchronizeOfflineCardService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.SynchronizeOfflineCard;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.SynchronizeOfflineCard;
 
 public interface SynchronizeOfflineCardService extends BaseService<SynchronizeOfflineCard> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TimingSettingReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TimingSettingReplyService.java
new file mode 100644
index 0000000..f616748
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TimingSettingReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.TimingSettingReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface TimingSettingReplyService extends BaseService<TimingSettingReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TimingSettingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TimingSettingService.java
index f4d2f5d..5647c93 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TimingSettingService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TimingSettingService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.TimingSetting;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.TimingSetting;
 
 public interface TimingSettingService extends BaseService<TimingSetting> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TransactionRecordService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TransactionRecordService.java
new file mode 100644
index 0000000..0a3369e
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TransactionRecordService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.TransactionRecord;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface TransactionRecordService extends BaseService<TransactionRecord> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UpdateBalanceReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UpdateBalanceReplyService.java
new file mode 100644
index 0000000..8dea74d
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UpdateBalanceReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.UpdateBalanceReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface UpdateBalanceReplyService extends BaseService<UpdateBalanceReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UpdateBalanceService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UpdateBalanceService.java
index 488e81c..ecbf4a2 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UpdateBalanceService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UpdateBalanceService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.UpdateBalance;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.UpdateBalance;
 
 public interface UpdateBalanceService extends BaseService<UpdateBalance> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
new file mode 100644
index 0000000..ca3235c
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
@@ -0,0 +1,8 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface UploadRealTimeMonitoringDataService extends BaseService<UploadRealTimeMonitoringData> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/WorkingParameterSettingReplyService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/WorkingParameterSettingReplyService.java
new file mode 100644
index 0000000..5db506f
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/WorkingParameterSettingReplyService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.integration.mongodb.service;
+
+import com.ruoyi.integration.api.model.WorkingParameterSettingReply;
+import com.ruoyi.integration.mongodb.base.BaseService;
+
+public interface WorkingParameterSettingReplyService extends BaseService<WorkingParameterSettingReply> {
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/WorkingParameterSettingService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/WorkingParameterSettingService.java
index ab588a2..53e3371 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/WorkingParameterSettingService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/WorkingParameterSettingService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service;
 
+import com.ruoyi.integration.api.model.WorkingParameterSetting;
 import com.ruoyi.integration.mongodb.base.BaseService;
-import com.ruoyi.integration.mongodb.model.WorkingParameterSetting;
 
 public interface WorkingParameterSettingService extends BaseService<WorkingParameterSetting> {
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java
index bb0bbb5..a3b40d8 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
+import com.ruoyi.integration.api.model.AcquisitionBillingModeReply;
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.AcquisitionBillingModeReply;
 import com.ruoyi.integration.mongodb.service.AcquisitionBillingModeReplyService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java
new file mode 100644
index 0000000..ce1a529
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.api.model.AcquisitionBillingMode;
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.mongodb.service.AcquisitionBillingModeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class AcquisitionBillingModeServiceImpl implements AcquisitionBillingModeService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(AcquisitionBillingMode acquisitionBillingMode) {
+        mongoTemplate.save(acquisitionBillingMode);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public AcquisitionBillingMode findById(String id) {
+        return mongoTemplate.findById(id, AcquisitionBillingMode.class);
+    }
+
+    @Override
+    public List<AcquisitionBillingMode> findAll() {
+        return mongoTemplate.findAll(AcquisitionBillingMode.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java
index 324a208..a611b35 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.BillingModeVerifyReply;
+import com.ruoyi.integration.api.model.BillingModeVerifyReply;
 import com.ruoyi.integration.mongodb.service.BillingModeVerifyReplyService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyServiceImpl.java
new file mode 100644
index 0000000..3e995a4
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.BillingModeVerify;
+import com.ruoyi.integration.mongodb.service.BillingModeVerifyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class BillingModeVerifyServiceImpl implements BillingModeVerifyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(BillingModeVerify billingModeVerify) {
+        mongoTemplate.save(billingModeVerify);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public BillingModeVerify findById(String id) {
+        return mongoTemplate.findById(id, BillingModeVerify.class);
+    }
+
+    @Override
+    public List<BillingModeVerify> findAll() {
+        return mongoTemplate.findAll(BillingModeVerify.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsAbortServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsAbortServiceImpl.java
new file mode 100644
index 0000000..84a6ec1
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsAbortServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.BmsAbort;
+import com.ruoyi.integration.mongodb.service.BmsAbortService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class BmsAbortServiceImpl implements BmsAbortService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(BmsAbort bmsAbort) {
+        mongoTemplate.save(bmsAbort);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public BmsAbort findById(String id) {
+        return mongoTemplate.findById(id, BmsAbort.class);
+    }
+
+    @Override
+    public List<BmsAbort> findAll() {
+        return mongoTemplate.findAll(BmsAbort.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java
new file mode 100644
index 0000000..c8a9b50
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
+import com.ruoyi.integration.mongodb.service.BmsDemandAndChargerExportationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class BmsDemandAndChargerExportationServiceImpl implements BmsDemandAndChargerExportationService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(BmsDemandAndChargerExportation bmsDemandAndChargerExportation) {
+        mongoTemplate.save(bmsDemandAndChargerExportation);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public BmsDemandAndChargerExportation findById(String id) {
+        return mongoTemplate.findById(id, BmsDemandAndChargerExportation.class);
+    }
+
+    @Override
+    public List<BmsDemandAndChargerExportation> findAll() {
+        return mongoTemplate.findAll(BmsDemandAndChargerExportation.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsInformationServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsInformationServiceImpl.java
new file mode 100644
index 0000000..d34bb0b
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsInformationServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.BmsInformation;
+import com.ruoyi.integration.mongodb.service.BmsInformationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class BmsInformationServiceImpl implements BmsInformationService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(BmsInformation bmsInformation) {
+        mongoTemplate.save(bmsInformation);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public BmsInformation findById(String id) {
+        return mongoTemplate.findById(id, BmsInformation.class);
+    }
+
+    @Override
+    public List<BmsInformation> findAll() {
+        return mongoTemplate.findAll(BmsInformation.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingHandshakeServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingHandshakeServiceImpl.java
new file mode 100644
index 0000000..00ef612
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingHandshakeServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.ChargingHandshake;
+import com.ruoyi.integration.mongodb.service.ChargingHandshakeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ChargingHandshakeServiceImpl implements ChargingHandshakeService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(ChargingHandshake chargingHandshake) {
+        mongoTemplate.save(chargingHandshake);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public ChargingHandshake findById(String id) {
+        return mongoTemplate.findById(id, ChargingHandshake.class);
+    }
+
+    @Override
+    public List<ChargingHandshake> findAll() {
+        return mongoTemplate.findAll(ChargingHandshake.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingPileReturnsGroundLockDataServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingPileReturnsGroundLockDataServiceImpl.java
new file mode 100644
index 0000000..bd38939
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingPileReturnsGroundLockDataServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.ChargingPileReturnsGroundLockData;
+import com.ruoyi.integration.mongodb.service.ChargingPileReturnsGroundLockDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ChargingPileReturnsGroundLockDataServiceImpl implements ChargingPileReturnsGroundLockDataService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(ChargingPileReturnsGroundLockData chargingPileReturnsGroundLockData) {
+        mongoTemplate.save(chargingPileReturnsGroundLockData);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public ChargingPileReturnsGroundLockData findById(String id) {
+        return mongoTemplate.findById(id, ChargingPileReturnsGroundLockData.class);
+    }
+
+    @Override
+    public List<ChargingPileReturnsGroundLockData> findAll() {
+        return mongoTemplate.findAll(ChargingPileReturnsGroundLockData.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingPileStartsChargingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingPileStartsChargingServiceImpl.java
new file mode 100644
index 0000000..2ac72ca
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingPileStartsChargingServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.ChargingPileStartsCharging;
+import com.ruoyi.integration.mongodb.service.ChargingPileStartsChargingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ChargingPileStartsChargingServiceImpl implements ChargingPileStartsChargingService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(ChargingPileStartsCharging chargingPileStartsCharging) {
+        mongoTemplate.save(chargingPileStartsCharging);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public ChargingPileStartsCharging findById(String id) {
+        return mongoTemplate.findById(id, ChargingPileStartsCharging.class);
+    }
+
+    @Override
+    public List<ChargingPileStartsCharging> findAll() {
+        return mongoTemplate.findAll(ChargingPileStartsCharging.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ClearOfflineCardReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ClearOfflineCardReplyServiceImpl.java
new file mode 100644
index 0000000..86b8c5a
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ClearOfflineCardReplyServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.ClearOfflineCardReply;
+import com.ruoyi.integration.mongodb.service.ClearOfflineCardReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ClearOfflineCardReplyServiceImpl implements ClearOfflineCardReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(ClearOfflineCardReply clearOfflineCardReply) {
+        mongoTemplate.save(clearOfflineCardReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public ClearOfflineCardReply findById(String id) {
+        return mongoTemplate.findById(id, ClearOfflineCardReply.class);
+    }
+
+    @Override
+    public List<ClearOfflineCardReply> findAll() {
+        return mongoTemplate.findAll(ClearOfflineCardReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ClearOfflineCardServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ClearOfflineCardServiceImpl.java
index 308c0f6..d947776 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ClearOfflineCardServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ClearOfflineCardServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.ClearOfflineCard;
+import com.ruoyi.integration.api.model.ClearOfflineCard;
 import com.ruoyi.integration.mongodb.service.ClearOfflineCardService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java
index a918eb4..53e042a 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.ConfirmTransactionRecord;
+import com.ruoyi.integration.api.model.ConfirmTransactionRecord;
 import com.ruoyi.integration.mongodb.service.ConfirmTransactionRecordService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java
index d9476dd..b70bf71 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java
@@ -1,8 +1,8 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.EndCharge;
-import com.ruoyi.integration.mongodb.model.Pong;
+import com.ruoyi.integration.api.model.EndCharge;
+import com.ruoyi.integration.api.model.Pong;
 import com.ruoyi.integration.mongodb.service.EndChargeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java
new file mode 100644
index 0000000..72cf88e
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.GroundLockRealTimeData;
+import com.ruoyi.integration.mongodb.service.GroundLockRealTimeDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class GroundLockRealTimeDataServiceImpl implements GroundLockRealTimeDataService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(GroundLockRealTimeData groundLockRealTimeData) {
+        mongoTemplate.save(groundLockRealTimeData);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public GroundLockRealTimeData findById(String id) {
+        return mongoTemplate.findById(id, GroundLockRealTimeData.class);
+    }
+
+    @Override
+    public List<GroundLockRealTimeData> findAll() {
+        return mongoTemplate.findAll(GroundLockRealTimeData.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/MotorAbortServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/MotorAbortServiceImpl.java
new file mode 100644
index 0000000..9ac5412
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/MotorAbortServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.MotorAbort;
+import com.ruoyi.integration.mongodb.service.MotorAbortService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class MotorAbortServiceImpl implements MotorAbortService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(MotorAbort motorAbort) {
+        mongoTemplate.save(motorAbort);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public MotorAbort findById(String id) {
+        return mongoTemplate.findById(id, MotorAbort.class);
+    }
+
+    @Override
+    public List<MotorAbort> findAll() {
+        return mongoTemplate.findAll(MotorAbort.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java
index 5652d9d..6e5f240 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.OnlineReply;
+import com.ruoyi.integration.api.model.OnlineReply;
 import com.ruoyi.integration.mongodb.service.OnlineReplyService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java
index 78e3759..52f8372 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.Online;
+import com.ruoyi.integration.api.model.Online;
 import com.ruoyi.integration.mongodb.service.OnlineService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OpenOrCloseGroundLockServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OpenOrCloseGroundLockServiceImpl.java
index 467242e..5c4a3be 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OpenOrCloseGroundLockServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OpenOrCloseGroundLockServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.OpenOrCloseGroundLock;
+import com.ruoyi.integration.api.model.OpenOrCloseGroundLock;
 import com.ruoyi.integration.mongodb.service.OpenOrCloseGroundLockService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ParameterSettingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ParameterSettingServiceImpl.java
new file mode 100644
index 0000000..d092905
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ParameterSettingServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.ParameterSetting;
+import com.ruoyi.integration.mongodb.service.ParameterSettingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ParameterSettingServiceImpl implements ParameterSettingService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(ParameterSetting parameterSetting) {
+        mongoTemplate.save(parameterSetting);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public ParameterSetting findById(String id) {
+        return mongoTemplate.findById(id, ParameterSetting.class);
+    }
+
+    @Override
+    public List<ParameterSetting> findAll() {
+        return mongoTemplate.findAll(ParameterSetting.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java
new file mode 100644
index 0000000..83ec000
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PingServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.Ping;
+import com.ruoyi.integration.mongodb.service.PingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PingServiceImpl implements PingService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(Ping ping) {
+        mongoTemplate.save(ping);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public Ping findById(String id) {
+        return mongoTemplate.findById(id, Ping.class);
+    }
+
+    @Override
+    public List<Ping> findAll() {
+        return mongoTemplate.findAll(Ping.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java
index 55bf672..6d90cf6 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.PlatformConfirmationCharging;
+import com.ruoyi.integration.api.model.PlatformConfirmationCharging;
 import com.ruoyi.integration.mongodb.service.PlatformConfirmationChargingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRemoteUpdateReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRemoteUpdateReplyServiceImpl.java
new file mode 100644
index 0000000..59ff9d8
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRemoteUpdateReplyServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.PlatformRemoteUpdateReply;
+import com.ruoyi.integration.mongodb.service.PlatformRemoteUpdateReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PlatformRemoteUpdateReplyServiceImpl implements PlatformRemoteUpdateReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(PlatformRemoteUpdateReply platformRemoteUpdateReply) {
+        mongoTemplate.save(platformRemoteUpdateReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public PlatformRemoteUpdateReply findById(String id) {
+        return mongoTemplate.findById(id, PlatformRemoteUpdateReply.class);
+    }
+
+    @Override
+    public List<PlatformRemoteUpdateReply> findAll() {
+        return mongoTemplate.findAll(PlatformRemoteUpdateReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRemoteUpdateServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRemoteUpdateServiceImpl.java
index ed1bd60..7c53c58 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRemoteUpdateServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRemoteUpdateServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.PlatformRemoteUpdate;
+import com.ruoyi.integration.api.model.PlatformRemoteUpdate;
 import com.ruoyi.integration.mongodb.service.PlatformRemoteUpdateService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRestartReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRestartReplyServiceImpl.java
new file mode 100644
index 0000000..e9f15fd
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRestartReplyServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.PlatformRestartReply;
+import com.ruoyi.integration.mongodb.service.PlatformRestartReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PlatformRestartReplyServiceImpl implements PlatformRestartReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(PlatformRestartReply platformRestartReply) {
+        mongoTemplate.save(platformRestartReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public PlatformRestartReply findById(String id) {
+        return mongoTemplate.findById(id, PlatformRestartReply.class);
+    }
+
+    @Override
+    public List<PlatformRestartReply> findAll() {
+        return mongoTemplate.findAll(PlatformRestartReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRestartServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRestartServiceImpl.java
index c3ab610..a0afeed 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRestartServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformRestartServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.PlatformRestart;
+import com.ruoyi.integration.api.model.PlatformRestart;
 import com.ruoyi.integration.mongodb.service.PlatformRestartService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java
new file mode 100644
index 0000000..fcbe760
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.PlatformStartChargingReply;
+import com.ruoyi.integration.mongodb.service.PlatformStartChargingReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PlatformStartChargingReplyServiceImpl implements PlatformStartChargingReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(PlatformStartChargingReply platformStartChargingReply) {
+        mongoTemplate.save(platformStartChargingReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public PlatformStartChargingReply findById(String id) {
+        return mongoTemplate.findById(id, PlatformStartChargingReply.class);
+    }
+
+    @Override
+    public List<PlatformStartChargingReply> findAll() {
+        return mongoTemplate.findAll(PlatformStartChargingReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java
index c8f4cd9..3da0a2f 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.PlatformStartCharging;
+import com.ruoyi.integration.api.model.PlatformStartCharging;
 import com.ruoyi.integration.mongodb.service.PlatformStartChargingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java
new file mode 100644
index 0000000..357de01
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.PlatformStopChargingReply;
+import com.ruoyi.integration.mongodb.service.PlatformStopChargingReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PlatformStopChargingReplyServiceImpl implements PlatformStopChargingReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(PlatformStopChargingReply platformStopChargingReply) {
+        mongoTemplate.save(platformStopChargingReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public PlatformStopChargingReply findById(String id) {
+        return mongoTemplate.findById(id, PlatformStopChargingReply.class);
+    }
+
+    @Override
+    public List<PlatformStopChargingReply> findAll() {
+        return mongoTemplate.findAll(PlatformStopChargingReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingServiceImpl.java
index 7516ffb..c935088 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.PlatformStopCharging;
+import com.ruoyi.integration.api.model.PlatformStopCharging;
 import com.ruoyi.integration.mongodb.service.PlatformStopChargingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PongServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PongServiceImpl.java
index eaa822a..b8e6c6b 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PongServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PongServiceImpl.java
@@ -1,8 +1,8 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.Online;
-import com.ruoyi.integration.mongodb.model.Pong;
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.Pong;
 import com.ruoyi.integration.mongodb.service.OnlineService;
 import com.ruoyi.integration.mongodb.service.PongService;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QueryOfflineCardReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QueryOfflineCardReplyServiceImpl.java
new file mode 100644
index 0000000..fa29856
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QueryOfflineCardReplyServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.QueryOfflineCardReply;
+import com.ruoyi.integration.mongodb.service.QueryOfflineCardReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class QueryOfflineCardReplyServiceImpl implements QueryOfflineCardReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(QueryOfflineCardReply queryOfflineCardReply) {
+        mongoTemplate.save(queryOfflineCardReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public QueryOfflineCardReply findById(String id) {
+        return mongoTemplate.findById(id, QueryOfflineCardReply.class);
+    }
+
+    @Override
+    public List<QueryOfflineCardReply> findAll() {
+        return mongoTemplate.findAll(QueryOfflineCardReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QueryOfflineCardServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QueryOfflineCardServiceImpl.java
index 43e2a29..6b3c861 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QueryOfflineCardServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QueryOfflineCardServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.QueryOfflineCard;
+import com.ruoyi.integration.api.model.QueryOfflineCard;
 import com.ruoyi.integration.mongodb.service.QueryOfflineCardService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java
index 22e170f..743e09f 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.ReadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.ReadRealTimeMonitoringData;
 import com.ruoyi.integration.mongodb.service.ReadRealTimeMonitoringDataService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java
new file mode 100644
index 0000000..afb78f1
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.SetupBillingModelReply;
+import com.ruoyi.integration.mongodb.service.SetupBillingModelReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SetupBillingModelReplyServiceImpl implements SetupBillingModelReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(SetupBillingModelReply setupBillingModelReply) {
+        mongoTemplate.save(setupBillingModelReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public SetupBillingModelReply findById(String id) {
+        return mongoTemplate.findById(id, SetupBillingModelReply.class);
+    }
+
+    @Override
+    public List<SetupBillingModelReply> findAll() {
+        return mongoTemplate.findAll(SetupBillingModelReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelServiceImpl.java
index 79830bb..b21886f 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.SetupBillingModel;
+import com.ruoyi.integration.api.model.SetupBillingModel;
 import com.ruoyi.integration.mongodb.service.SetupBillingModelService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SynchronizeOfflineCardReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SynchronizeOfflineCardReplyServiceImpl.java
new file mode 100644
index 0000000..5382d6b
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SynchronizeOfflineCardReplyServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.SetupBillingModel;
+import com.ruoyi.integration.api.model.SynchronizeOfflineCardReply;
+import com.ruoyi.integration.mongodb.service.SynchronizeOfflineCardReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SynchronizeOfflineCardReplyServiceImpl implements SynchronizeOfflineCardReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(SynchronizeOfflineCardReply synchronizeOfflineCardReply) {
+        mongoTemplate.save(synchronizeOfflineCardReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public SynchronizeOfflineCardReply findById(String id) {
+        return mongoTemplate.findById(id, SynchronizeOfflineCardReply.class);
+    }
+
+    @Override
+    public List<SynchronizeOfflineCardReply> findAll() {
+        return mongoTemplate.findAll(SynchronizeOfflineCardReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SynchronizeOfflineCardServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SynchronizeOfflineCardServiceImpl.java
index 95bd093..fee0954 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SynchronizeOfflineCardServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SynchronizeOfflineCardServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.SynchronizeOfflineCard;
+import com.ruoyi.integration.api.model.SynchronizeOfflineCard;
 import com.ruoyi.integration.mongodb.service.SynchronizeOfflineCardService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TimingSettingReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TimingSettingReplyServiceImpl.java
new file mode 100644
index 0000000..1d2eb4d
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TimingSettingReplyServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.TimingSettingReply;
+import com.ruoyi.integration.mongodb.service.TimingSettingReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class TimingSettingReplyServiceImpl implements TimingSettingReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(TimingSettingReply timingSettingReply) {
+        mongoTemplate.save(timingSettingReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public TimingSettingReply findById(String id) {
+        return mongoTemplate.findById(id, TimingSettingReply.class);
+    }
+
+    @Override
+    public List<TimingSettingReply> findAll() {
+        return mongoTemplate.findAll(TimingSettingReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TimingSettingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TimingSettingServiceImpl.java
index 0f01b03..3f55c12 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TimingSettingServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TimingSettingServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.TimingSetting;
+import com.ruoyi.integration.api.model.TimingSetting;
 import com.ruoyi.integration.mongodb.service.TimingSettingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TransactionRecordServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TransactionRecordServiceImpl.java
new file mode 100644
index 0000000..a98c22b
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TransactionRecordServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.TimingSetting;
+import com.ruoyi.integration.api.model.TransactionRecord;
+import com.ruoyi.integration.mongodb.service.TransactionRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class TransactionRecordServiceImpl implements TransactionRecordService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(TransactionRecord transactionRecord) {
+        mongoTemplate.save(transactionRecord);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public TransactionRecord findById(String id) {
+        return mongoTemplate.findById(id, TransactionRecord.class);
+    }
+
+    @Override
+    public List<TransactionRecord> findAll() {
+        return mongoTemplate.findAll(TransactionRecord.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UpdateBalanceReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UpdateBalanceReplyServiceImpl.java
new file mode 100644
index 0000000..f1090fb
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UpdateBalanceReplyServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.TransactionRecord;
+import com.ruoyi.integration.api.model.UpdateBalanceReply;
+import com.ruoyi.integration.mongodb.service.UpdateBalanceReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class UpdateBalanceReplyServiceImpl implements UpdateBalanceReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(UpdateBalanceReply updateBalanceReply) {
+        mongoTemplate.save(updateBalanceReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public UpdateBalanceReply findById(String id) {
+        return mongoTemplate.findById(id, UpdateBalanceReply.class);
+    }
+
+    @Override
+    public List<UpdateBalanceReply> findAll() {
+        return mongoTemplate.findAll(UpdateBalanceReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UpdateBalanceServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UpdateBalanceServiceImpl.java
index b4e7398..2ca7a24 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UpdateBalanceServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UpdateBalanceServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.UpdateBalance;
+import com.ruoyi.integration.api.model.UpdateBalance;
 import com.ruoyi.integration.mongodb.service.UpdateBalanceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
new file mode 100644
index 0000000..6c2ef6b
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
@@ -0,0 +1,35 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class UploadRealTimeMonitoringDataServiceImpl implements UploadRealTimeMonitoringDataService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(UploadRealTimeMonitoringData uploadRealTimeMonitoringData) {
+        mongoTemplate.save(uploadRealTimeMonitoringData);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public UploadRealTimeMonitoringData findById(String id) {
+        return mongoTemplate.findById(id, UploadRealTimeMonitoringData.class);
+    }
+
+
+    @Override
+    public List<UploadRealTimeMonitoringData> findAll() {
+        return mongoTemplate.findAll(UploadRealTimeMonitoringData.class);
+    }
+
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/WorkingParameterSettingReplyServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/WorkingParameterSettingReplyServiceImpl.java
new file mode 100644
index 0000000..ab88ea5
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/WorkingParameterSettingReplyServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ruoyi.integration.mongodb.service.impl;
+
+import com.ruoyi.integration.iotda.constant.IotConstant;
+import com.ruoyi.integration.api.model.WorkingParameterSettingReply;
+import com.ruoyi.integration.mongodb.service.WorkingParameterSettingReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class WorkingParameterSettingReplyServiceImpl implements WorkingParameterSettingReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(WorkingParameterSettingReply workingParameterSettingReply) {
+        mongoTemplate.save(workingParameterSettingReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public WorkingParameterSettingReply findById(String id) {
+        return mongoTemplate.findById(id, WorkingParameterSettingReply.class);
+    }
+
+    @Override
+    public List<WorkingParameterSettingReply> findAll() {
+        return mongoTemplate.findAll(WorkingParameterSettingReply.class);
+    }
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/WorkingParameterSettingServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/WorkingParameterSettingServiceImpl.java
index 6c082ab..f09fbe5 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/WorkingParameterSettingServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/WorkingParameterSettingServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.integration.mongodb.service.impl;
 
 import com.ruoyi.integration.iotda.constant.IotConstant;
-import com.ruoyi.integration.mongodb.model.WorkingParameterSetting;
+import com.ruoyi.integration.api.model.WorkingParameterSetting;
 import com.ruoyi.integration.mongodb.service.WorkingParameterSettingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/AcquisitionBillingModeMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/AcquisitionBillingModeMessageListener.java
new file mode 100644
index 0000000..28b3de3
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/AcquisitionBillingModeMessageListener.java
@@ -0,0 +1,79 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.AcquisitionBillingMode;
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.mongodb.service.AcquisitionBillingModeService;
+import com.ruoyi.integration.rocket.model.AcquisitionBillingModeMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class AcquisitionBillingModeMessageListener extends EnhanceMessageHandler<AcquisitionBillingModeMessage> implements RocketMQListener<AcquisitionBillingModeMessage> {
+
+    @Autowired
+    private AcquisitionBillingModeService acquisitionBillingModeService;
+
+    @Override
+    protected void handleMessage(AcquisitionBillingModeMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("充电桩计费模型请求-业务消息处理:{}",message);
+        // 持久化消息
+        AcquisitionBillingMode acquisitionBillingMode = new AcquisitionBillingMode();
+        BeanUtils.copyProperties(message,acquisitionBillingMode);
+        acquisitionBillingModeService.create(acquisitionBillingMode);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(AcquisitionBillingModeMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(AcquisitionBillingModeMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(AcquisitionBillingModeMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BillingModeVerifyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BillingModeVerifyMessageListener.java
new file mode 100644
index 0000000..49dcc6b
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BillingModeVerifyMessageListener.java
@@ -0,0 +1,79 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.AcquisitionBillingMode;
+import com.ruoyi.integration.api.model.BillingModeVerify;
+import com.ruoyi.integration.mongodb.service.BillingModeVerifyService;
+import com.ruoyi.integration.rocket.model.BillingModeVerifyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class BillingModeVerifyMessageListener extends EnhanceMessageHandler<BillingModeVerifyMessage> implements RocketMQListener<BillingModeVerifyMessage> {
+
+    @Autowired
+    private BillingModeVerifyService billingModeVerifyService;
+
+    @Override
+    protected void handleMessage(BillingModeVerifyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("计费模型验证请求-业务消息处理:{}",message);
+        // 持久化消息
+        BillingModeVerify billingModeVerify = new BillingModeVerify();
+        BeanUtils.copyProperties(message,billingModeVerify);
+        billingModeVerifyService.create(billingModeVerify);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(BillingModeVerifyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(BillingModeVerifyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(BillingModeVerifyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsAbortMessageListener.java
similarity index 62%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsAbortMessageListener.java
index 537f867..9c0e654 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsAbortMessageListener.java
@@ -1,10 +1,15 @@
 package com.ruoyi.integration.rocket.listener;
 
-import com.ruoyi.integration.rocket.test.MemberMessage;
+import com.ruoyi.integration.api.model.BillingModeVerify;
+import com.ruoyi.integration.api.model.BmsAbort;
+import com.ruoyi.integration.mongodb.service.BmsAbortService;
+import com.ruoyi.integration.rocket.model.BmsAbortMessage;
 import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
 import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Slf4j
@@ -15,16 +20,23 @@
         selectorExpression = "*",
         consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
 )
-public class EnhanceMemberMessageListener extends EnhanceMessageHandler<MemberMessage> implements RocketMQListener<MemberMessage> {
+public class BmsAbortMessageListener extends EnhanceMessageHandler<BmsAbortMessage> implements RocketMQListener<BmsAbortMessage> {
 
+    @Autowired
+    private BmsAbortService bmsAbortService;
     @Override
-    protected void handleMessage(MemberMessage message) throws Exception {
+    protected void handleMessage(BmsAbortMessage message) throws Exception {
         // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
-        System.out.println("业务消息处理:"+message.getUserName());
+        log.info("充电阶段BMS中止-业务消息处理:{}",message);
+        // 持久化消息
+        BmsAbort bmsAbort = new BmsAbort();
+        BeanUtils.copyProperties(message,bmsAbort);
+        bmsAbortService.create(bmsAbort);
+        // 业务处理
     }
 
     @Override
-    protected void handleMaxRetriesExceeded(MemberMessage message) {
+    protected void handleMaxRetriesExceeded(BmsAbortMessage message) {
         // 当超过指定重试次数消息时此处方法会被调用
         // 生产中可以进行回退或其他业务操作
         log.error("消息消费失败,请执行后续处理");
@@ -51,7 +63,7 @@
      * @return true: 本次消息被过滤,false:不过滤
      */
     @Override
-    protected boolean filter(MemberMessage message) {
+    protected boolean filter(BmsAbortMessage message) {
         // 此处可做消息过滤
         return false;
     }
@@ -60,7 +72,7 @@
      * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
      */
     @Override
-    public void onMessage(MemberMessage memberMessage) {
-        super.dispatchMessage(memberMessage);
+    public void onMessage(BmsAbortMessage message) {
+        super.dispatchMessage(message);
     }
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsDemandAndChargerExportationMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsDemandAndChargerExportationMessageListener.java
new file mode 100644
index 0000000..b30a74e
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsDemandAndChargerExportationMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.BmsAbort;
+import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
+import com.ruoyi.integration.mongodb.service.BmsDemandAndChargerExportationService;
+import com.ruoyi.integration.rocket.model.BmsDemandAndChargerExportationMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class BmsDemandAndChargerExportationMessageListener extends EnhanceMessageHandler<BmsDemandAndChargerExportationMessage> implements RocketMQListener<BmsDemandAndChargerExportationMessage> {
+
+    @Autowired
+    private BmsDemandAndChargerExportationService bmsDemandAndChargerExportationService;
+    @Override
+    protected void handleMessage(BmsDemandAndChargerExportationMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("充电过程BMS需求、充电机输出-业务消息处理:{}",message);
+        // 持久化消息
+        BmsDemandAndChargerExportation bmsDemandAndChargerExportation = new BmsDemandAndChargerExportation();
+        BeanUtils.copyProperties(message,bmsDemandAndChargerExportation);
+        bmsDemandAndChargerExportationService.create(bmsDemandAndChargerExportation);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(BmsDemandAndChargerExportationMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(BmsDemandAndChargerExportationMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(BmsDemandAndChargerExportationMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsInformationMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsInformationMessageListener.java
new file mode 100644
index 0000000..920823d
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/BmsInformationMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
+import com.ruoyi.integration.api.model.BmsInformation;
+import com.ruoyi.integration.mongodb.service.BmsInformationService;
+import com.ruoyi.integration.rocket.model.BmsInformationMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class BmsInformationMessageListener extends EnhanceMessageHandler<BmsInformationMessage> implements RocketMQListener<BmsInformationMessage> {
+    @Autowired
+    private BmsInformationService bmsInformationService;
+
+    @Override
+    protected void handleMessage(BmsInformationMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("充电过程BMS信息-业务消息处理:{}",message);
+        // 持久化消息
+        BmsInformation bmsInformation = new BmsInformation();
+        BeanUtils.copyProperties(message,bmsInformation);
+        bmsInformationService.create(bmsInformation);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(BmsInformationMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(BmsInformationMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(BmsInformationMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingHandshakeMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingHandshakeMessageListener.java
new file mode 100644
index 0000000..a307eb1
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingHandshakeMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.BmsInformation;
+import com.ruoyi.integration.api.model.ChargingHandshake;
+import com.ruoyi.integration.mongodb.service.ChargingHandshakeService;
+import com.ruoyi.integration.rocket.model.ChargingHandshakeMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class ChargingHandshakeMessageListener extends EnhanceMessageHandler<ChargingHandshakeMessage> implements RocketMQListener<ChargingHandshakeMessage> {
+
+    @Autowired
+    private ChargingHandshakeService chargingHandshakeService;
+    @Override
+    protected void handleMessage(ChargingHandshakeMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("充电握手-业务消息处理:{}",message);
+        // 持久化消息
+        ChargingHandshake chargingHandshake = new ChargingHandshake();
+        BeanUtils.copyProperties(message,chargingHandshake);
+        chargingHandshakeService.create(chargingHandshake);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(ChargingHandshakeMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(ChargingHandshakeMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(ChargingHandshakeMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileReturnsGroundLockDataMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileReturnsGroundLockDataMessageListener.java
new file mode 100644
index 0000000..5bb08b4
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileReturnsGroundLockDataMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.ChargingHandshake;
+import com.ruoyi.integration.api.model.ChargingPileReturnsGroundLockData;
+import com.ruoyi.integration.mongodb.service.ChargingPileReturnsGroundLockDataService;
+import com.ruoyi.integration.rocket.model.ChargingPileReturnsGroundLockDataMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class ChargingPileReturnsGroundLockDataMessageListener extends EnhanceMessageHandler<ChargingPileReturnsGroundLockDataMessage> implements RocketMQListener<ChargingPileReturnsGroundLockDataMessage> {
+
+    @Autowired
+    private ChargingPileReturnsGroundLockDataService chargingPileReturnsGroundLockDataService;
+    @Override
+    protected void handleMessage(ChargingPileReturnsGroundLockDataMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("充电桩返回数据(上行)-业务消息处理:{}",message);
+        // 持久化消息
+        ChargingPileReturnsGroundLockData chargingPileReturnsGroundLockData = new ChargingPileReturnsGroundLockData();
+        BeanUtils.copyProperties(message,chargingPileReturnsGroundLockData);
+        chargingPileReturnsGroundLockDataService.create(chargingPileReturnsGroundLockData);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(ChargingPileReturnsGroundLockDataMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(ChargingPileReturnsGroundLockDataMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(ChargingPileReturnsGroundLockDataMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileStartsChargingMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileStartsChargingMessageListener.java
new file mode 100644
index 0000000..4aff733
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ChargingPileStartsChargingMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.ChargingPileReturnsGroundLockData;
+import com.ruoyi.integration.api.model.ChargingPileStartsCharging;
+import com.ruoyi.integration.mongodb.service.ChargingPileStartsChargingService;
+import com.ruoyi.integration.rocket.model.ChargingPileStartsChargingMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class ChargingPileStartsChargingMessageListener extends EnhanceMessageHandler<ChargingPileStartsChargingMessage> implements RocketMQListener<ChargingPileStartsChargingMessage> {
+
+    @Autowired
+    private ChargingPileStartsChargingService chargingPileStartsChargingService;
+    @Override
+    protected void handleMessage(ChargingPileStartsChargingMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("充电桩主动申请启动充电-业务消息处理:{}",message);
+        // 持久化消息
+        ChargingPileStartsCharging chargingPileStartsCharging = new ChargingPileStartsCharging();
+        BeanUtils.copyProperties(message,chargingPileStartsCharging);
+        chargingPileStartsChargingService.create(chargingPileStartsCharging);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(ChargingPileStartsChargingMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(ChargingPileStartsChargingMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(ChargingPileStartsChargingMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ClearOfflineCardReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ClearOfflineCardReplyMessageListener.java
new file mode 100644
index 0000000..3993ec9
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ClearOfflineCardReplyMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.ChargingPileStartsCharging;
+import com.ruoyi.integration.api.model.ClearOfflineCardReply;
+import com.ruoyi.integration.mongodb.service.ClearOfflineCardReplyService;
+import com.ruoyi.integration.rocket.model.ClearOfflineCardReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class ClearOfflineCardReplyMessageListener extends EnhanceMessageHandler<ClearOfflineCardReplyMessage> implements RocketMQListener<ClearOfflineCardReplyMessage> {
+
+    @Autowired
+    private ClearOfflineCardReplyService clearOfflineCardReplyService;
+    @Override
+    protected void handleMessage(ClearOfflineCardReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("离线卡数据清除应答-业务消息处理:{}",message);
+        // 持久化消息
+        ClearOfflineCardReply clearOfflineCardReply = new ClearOfflineCardReply();
+        BeanUtils.copyProperties(message,clearOfflineCardReply);
+        clearOfflineCardReplyService.create(clearOfflineCardReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(ClearOfflineCardReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(ClearOfflineCardReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(ClearOfflineCardReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/GroundLockRealTimeDataMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/GroundLockRealTimeDataMessageListener.java
new file mode 100644
index 0000000..cdf1114
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/GroundLockRealTimeDataMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.ClearOfflineCardReply;
+import com.ruoyi.integration.api.model.GroundLockRealTimeData;
+import com.ruoyi.integration.mongodb.service.GroundLockRealTimeDataService;
+import com.ruoyi.integration.rocket.model.GroundLockRealTimeDataMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class GroundLockRealTimeDataMessageListener extends EnhanceMessageHandler<GroundLockRealTimeDataMessage> implements RocketMQListener<GroundLockRealTimeDataMessage> {
+
+    @Autowired
+    private GroundLockRealTimeDataService groundLockRealTimeDataService;
+    @Override
+    protected void handleMessage(GroundLockRealTimeDataMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("地锁数据上送(充电桩上送)-业务消息处理:{}",message);
+        // 持久化消息
+        GroundLockRealTimeData groundLockRealTimeData = new GroundLockRealTimeData();
+        BeanUtils.copyProperties(message,groundLockRealTimeData);
+        groundLockRealTimeDataService.create(groundLockRealTimeData);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(GroundLockRealTimeDataMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(GroundLockRealTimeDataMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(GroundLockRealTimeDataMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/MotorAbortMessageListener.java
similarity index 61%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/MotorAbortMessageListener.java
index 537f867..9ffff0f 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/MotorAbortMessageListener.java
@@ -1,10 +1,15 @@
 package com.ruoyi.integration.rocket.listener;
 
-import com.ruoyi.integration.rocket.test.MemberMessage;
+import com.ruoyi.integration.api.model.GroundLockRealTimeData;
+import com.ruoyi.integration.api.model.MotorAbort;
+import com.ruoyi.integration.mongodb.service.MotorAbortService;
+import com.ruoyi.integration.rocket.model.MotorAbortMessage;
 import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
 import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Slf4j
@@ -15,16 +20,23 @@
         selectorExpression = "*",
         consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
 )
-public class EnhanceMemberMessageListener extends EnhanceMessageHandler<MemberMessage> implements RocketMQListener<MemberMessage> {
+public class MotorAbortMessageListener extends EnhanceMessageHandler<MotorAbortMessage> implements RocketMQListener<MotorAbortMessage> {
 
+    @Autowired
+    private MotorAbortService motorAbortService;
     @Override
-    protected void handleMessage(MemberMessage message) throws Exception {
+    protected void handleMessage(MotorAbortMessage message) throws Exception {
         // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
-        System.out.println("业务消息处理:"+message.getUserName());
+        log.info("充电阶段充电机中止-业务消息处理:{}",message);
+        // 持久化消息
+        MotorAbort motorAbort = new MotorAbort();
+        BeanUtils.copyProperties(message,motorAbort);
+        motorAbortService.create(motorAbort);
+        // 业务处理
     }
 
     @Override
-    protected void handleMaxRetriesExceeded(MemberMessage message) {
+    protected void handleMaxRetriesExceeded(MotorAbortMessage message) {
         // 当超过指定重试次数消息时此处方法会被调用
         // 生产中可以进行回退或其他业务操作
         log.error("消息消费失败,请执行后续处理");
@@ -51,7 +63,7 @@
      * @return true: 本次消息被过滤,false:不过滤
      */
     @Override
-    protected boolean filter(MemberMessage message) {
+    protected boolean filter(MotorAbortMessage message) {
         // 此处可做消息过滤
         return false;
     }
@@ -60,7 +72,7 @@
      * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
      */
     @Override
-    public void onMessage(MemberMessage memberMessage) {
-        super.dispatchMessage(memberMessage);
+    public void onMessage(MotorAbortMessage message) {
+        super.dispatchMessage(message);
     }
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/OnlineMessageListener.java
similarity index 63%
rename from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
rename to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/OnlineMessageListener.java
index 537f867..7ad85d9 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/OnlineMessageListener.java
@@ -1,10 +1,15 @@
 package com.ruoyi.integration.rocket.listener;
 
-import com.ruoyi.integration.rocket.test.MemberMessage;
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.mongodb.service.OnlineService;
+import com.ruoyi.integration.rocket.model.OnlineMessage;
+import com.ruoyi.integration.rocket.model.OnlineMessage;
 import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
 import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Slf4j
@@ -15,16 +20,24 @@
         selectorExpression = "*",
         consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
 )
-public class EnhanceMemberMessageListener extends EnhanceMessageHandler<MemberMessage> implements RocketMQListener<MemberMessage> {
+public class OnlineMessageListener extends EnhanceMessageHandler<OnlineMessage> implements RocketMQListener<OnlineMessage> {
+
+    @Autowired
+    private OnlineService onlineService;
 
     @Override
-    protected void handleMessage(MemberMessage message) throws Exception {
+    protected void handleMessage(OnlineMessage message) throws Exception {
         // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
-        System.out.println("业务消息处理:"+message.getUserName());
+        log.info("充电桩登录认证业务消息处理:{}",message);
+        // 持久化消息
+        Online online = new Online();
+        BeanUtils.copyProperties(message,online);
+        onlineService.create(online);
+        // 业务处理
     }
 
     @Override
-    protected void handleMaxRetriesExceeded(MemberMessage message) {
+    protected void handleMaxRetriesExceeded(OnlineMessage message) {
         // 当超过指定重试次数消息时此处方法会被调用
         // 生产中可以进行回退或其他业务操作
         log.error("消息消费失败,请执行后续处理");
@@ -51,7 +64,7 @@
      * @return true: 本次消息被过滤,false:不过滤
      */
     @Override
-    protected boolean filter(MemberMessage message) {
+    protected boolean filter(OnlineMessage message) {
         // 此处可做消息过滤
         return false;
     }
@@ -60,7 +73,7 @@
      * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
      */
     @Override
-    public void onMessage(MemberMessage memberMessage) {
-        super.dispatchMessage(memberMessage);
+    public void onMessage(OnlineMessage message) {
+        super.dispatchMessage(message);
     }
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ParameterSettingMessageListener.java
similarity index 60%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ParameterSettingMessageListener.java
index 537f867..e006852 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/ParameterSettingMessageListener.java
@@ -1,10 +1,15 @@
 package com.ruoyi.integration.rocket.listener;
 
-import com.ruoyi.integration.rocket.test.MemberMessage;
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.ParameterSetting;
+import com.ruoyi.integration.mongodb.service.ParameterSettingService;
+import com.ruoyi.integration.rocket.model.ParameterSettingMessage;
 import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
 import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Slf4j
@@ -15,16 +20,24 @@
         selectorExpression = "*",
         consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
 )
-public class EnhanceMemberMessageListener extends EnhanceMessageHandler<MemberMessage> implements RocketMQListener<MemberMessage> {
+public class ParameterSettingMessageListener extends EnhanceMessageHandler<ParameterSettingMessage> implements RocketMQListener<ParameterSettingMessage> {
+
+    @Autowired
+    private ParameterSettingService parameterSettingService;
 
     @Override
-    protected void handleMessage(MemberMessage message) throws Exception {
+    protected void handleMessage(ParameterSettingMessage message) throws Exception {
         // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
-        System.out.println("业务消息处理:"+message.getUserName());
+        log.info("业务消息处理:{}",message);
+        // 持久化消息
+        ParameterSetting parameterSetting = new ParameterSetting();
+        BeanUtils.copyProperties(message,parameterSetting);
+        parameterSettingService.create(parameterSetting);
+        // 业务处理
     }
 
     @Override
-    protected void handleMaxRetriesExceeded(MemberMessage message) {
+    protected void handleMaxRetriesExceeded(ParameterSettingMessage message) {
         // 当超过指定重试次数消息时此处方法会被调用
         // 生产中可以进行回退或其他业务操作
         log.error("消息消费失败,请执行后续处理");
@@ -51,7 +64,7 @@
      * @return true: 本次消息被过滤,false:不过滤
      */
     @Override
-    protected boolean filter(MemberMessage message) {
+    protected boolean filter(ParameterSettingMessage message) {
         // 此处可做消息过滤
         return false;
     }
@@ -60,7 +73,7 @@
      * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
      */
     @Override
-    public void onMessage(MemberMessage memberMessage) {
-        super.dispatchMessage(memberMessage);
+    public void onMessage(ParameterSettingMessage message) {
+        super.dispatchMessage(message);
     }
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PingMessageListener.java
similarity index 63%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PingMessageListener.java
index 537f867..5a562a6 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/EnhanceMemberMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PingMessageListener.java
@@ -1,10 +1,16 @@
 package com.ruoyi.integration.rocket.listener;
 
-import com.ruoyi.integration.rocket.test.MemberMessage;
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.Ping;
+import com.ruoyi.integration.mongodb.service.OnlineService;
+import com.ruoyi.integration.mongodb.service.PingService;
+import com.ruoyi.integration.rocket.model.PingMessage;
 import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
 import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Slf4j
@@ -15,16 +21,24 @@
         selectorExpression = "*",
         consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
 )
-public class EnhanceMemberMessageListener extends EnhanceMessageHandler<MemberMessage> implements RocketMQListener<MemberMessage> {
+public class PingMessageListener extends EnhanceMessageHandler<PingMessage> implements RocketMQListener<PingMessage> {
+
+    @Autowired
+    private PingService pingService;
 
     @Override
-    protected void handleMessage(MemberMessage message) throws Exception {
+    protected void handleMessage(PingMessage message) throws Exception {
         // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
-        System.out.println("业务消息处理:"+message.getUserName());
+        log.info("充电桩心跳包-业务消息处理:{}",message);
+        // 持久化消息
+        Ping ping = new Ping();
+        BeanUtils.copyProperties(message,ping);
+        pingService.create(ping);
+        // 业务处理
     }
 
     @Override
-    protected void handleMaxRetriesExceeded(MemberMessage message) {
+    protected void handleMaxRetriesExceeded(PingMessage message) {
         // 当超过指定重试次数消息时此处方法会被调用
         // 生产中可以进行回退或其他业务操作
         log.error("消息消费失败,请执行后续处理");
@@ -51,7 +65,7 @@
      * @return true: 本次消息被过滤,false:不过滤
      */
     @Override
-    protected boolean filter(MemberMessage message) {
+    protected boolean filter(PingMessage message) {
         // 此处可做消息过滤
         return false;
     }
@@ -60,7 +74,7 @@
      * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
      */
     @Override
-    public void onMessage(MemberMessage memberMessage) {
-        super.dispatchMessage(memberMessage);
+    public void onMessage(PingMessage message) {
+        super.dispatchMessage(message);
     }
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRemoteUpdateReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRemoteUpdateReplyMessageListener.java
new file mode 100644
index 0000000..3d56522
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRemoteUpdateReplyMessageListener.java
@@ -0,0 +1,79 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.PlatformRemoteUpdateReply;
+import com.ruoyi.integration.mongodb.service.PlatformRemoteUpdateReplyService;
+import com.ruoyi.integration.rocket.model.PlatformRemoteUpdateReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class PlatformRemoteUpdateReplyMessageListener extends EnhanceMessageHandler<PlatformRemoteUpdateReplyMessage> implements RocketMQListener<PlatformRemoteUpdateReplyMessage> {
+
+    @Autowired
+    private PlatformRemoteUpdateReplyService platformRemoteUpdateReplyService;
+
+    @Override
+    protected void handleMessage(PlatformRemoteUpdateReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("远程更新应答-业务消息处理:{}",message);
+        // 持久化消息
+        PlatformRemoteUpdateReply platformRemoteUpdateReply = new PlatformRemoteUpdateReply();
+        BeanUtils.copyProperties(message,platformRemoteUpdateReply);
+        platformRemoteUpdateReplyService.create(platformRemoteUpdateReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(PlatformRemoteUpdateReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(PlatformRemoteUpdateReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(PlatformRemoteUpdateReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRestartReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRestartReplyMessageListener.java
new file mode 100644
index 0000000..5d422d5
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformRestartReplyMessageListener.java
@@ -0,0 +1,79 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.PlatformRestartReply;
+import com.ruoyi.integration.mongodb.service.PlatformRestartReplyService;
+import com.ruoyi.integration.rocket.model.PlatformRestartReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class PlatformRestartReplyMessageListener extends EnhanceMessageHandler<PlatformRestartReplyMessage> implements RocketMQListener<PlatformRestartReplyMessage> {
+
+    @Autowired
+    private PlatformRestartReplyService platformRestartReplyService;
+
+    @Override
+    protected void handleMessage(PlatformRestartReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("远程重启应答-业务消息处理:{}",message);
+        // 持久化消息
+        PlatformRestartReply platformRestartReply = new PlatformRestartReply();
+        BeanUtils.copyProperties(message,platformRestartReply);
+        platformRestartReplyService.create(platformRestartReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(PlatformRestartReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(PlatformRestartReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(PlatformRestartReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStartChargingReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStartChargingReplyMessageListener.java
new file mode 100644
index 0000000..3ae7a6b
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStartChargingReplyMessageListener.java
@@ -0,0 +1,79 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.PlatformStartChargingReply;
+import com.ruoyi.integration.mongodb.service.PlatformStartChargingReplyService;
+import com.ruoyi.integration.rocket.model.PlatformStartChargingReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class PlatformStartChargingReplyMessageListener extends EnhanceMessageHandler<PlatformStartChargingReplyMessage> implements RocketMQListener<PlatformStartChargingReplyMessage> {
+
+    @Autowired
+    private PlatformStartChargingReplyService platformStartChargingReplyService;
+
+    @Override
+    protected void handleMessage(PlatformStartChargingReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("远程启机命令回复-业务消息处理:{}",message);
+        // 持久化消息
+        PlatformStartChargingReply platformStartChargingReply = new PlatformStartChargingReply();
+        BeanUtils.copyProperties(message,platformStartChargingReply);
+        platformStartChargingReplyService.create(platformStartChargingReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(PlatformStartChargingReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(PlatformStartChargingReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(PlatformStartChargingReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStopChargingReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStopChargingReplyMessageListener.java
new file mode 100644
index 0000000..3222881
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PlatformStopChargingReplyMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.PlatformStopChargingReply;
+import com.ruoyi.integration.mongodb.service.PlatformStopChargingReplyService;
+import com.ruoyi.integration.rocket.model.PlatformStopChargingReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class PlatformStopChargingReplyMessageListener extends EnhanceMessageHandler<PlatformStopChargingReplyMessage> implements RocketMQListener<PlatformStopChargingReplyMessage> {
+    @Autowired
+    private PlatformStopChargingReplyService platformStopChargingReplyService;
+
+    @Override
+    protected void handleMessage(PlatformStopChargingReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("远程停机命令回复-业务消息处理:{}",message);
+        // 持久化消息
+        PlatformStopChargingReply platformStopChargingReply = new PlatformStopChargingReply();
+        BeanUtils.copyProperties(message,platformStopChargingReply);
+        platformStopChargingReplyService.create(platformStopChargingReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(PlatformStopChargingReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(PlatformStopChargingReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(PlatformStopChargingReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/QueryOfflineCardReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/QueryOfflineCardReplyMessageListener.java
new file mode 100644
index 0000000..b740303
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/QueryOfflineCardReplyMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.QueryOfflineCardReply;
+import com.ruoyi.integration.mongodb.service.QueryOfflineCardReplyService;
+import com.ruoyi.integration.rocket.model.QueryOfflineCardReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class QueryOfflineCardReplyMessageListener extends EnhanceMessageHandler<QueryOfflineCardReplyMessage> implements RocketMQListener<QueryOfflineCardReplyMessage> {
+
+    @Autowired
+    private QueryOfflineCardReplyService queryOfflineCardReplyService;
+    @Override
+    protected void handleMessage(QueryOfflineCardReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("离线卡数据查询应答-业务消息处理:{}",message);
+        // 持久化消息
+        QueryOfflineCardReply queryOfflineCardReply = new QueryOfflineCardReply();
+        BeanUtils.copyProperties(message,queryOfflineCardReply);
+        queryOfflineCardReplyService.create(queryOfflineCardReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(QueryOfflineCardReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(QueryOfflineCardReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(QueryOfflineCardReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SetupBillingModelReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SetupBillingModelReplyMessageListener.java
new file mode 100644
index 0000000..7a2501c
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SetupBillingModelReplyMessageListener.java
@@ -0,0 +1,79 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.SetupBillingModelReply;
+import com.ruoyi.integration.mongodb.service.SetupBillingModelReplyService;
+import com.ruoyi.integration.rocket.model.SetupBillingModelReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class SetupBillingModelReplyMessageListener extends EnhanceMessageHandler<SetupBillingModelReplyMessage> implements RocketMQListener<SetupBillingModelReplyMessage> {
+
+    @Autowired
+    private SetupBillingModelReplyService setupBillingModelReplyService;
+
+    @Override
+    protected void handleMessage(SetupBillingModelReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("计费模型应答-业务消息处理:{}",message);
+        // 持久化消息
+        SetupBillingModelReply setupBillingModelReply = new SetupBillingModelReply();
+        BeanUtils.copyProperties(message,setupBillingModelReply);
+        setupBillingModelReplyService.create(setupBillingModelReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(SetupBillingModelReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(SetupBillingModelReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(SetupBillingModelReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SynchronizeOfflineCardReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SynchronizeOfflineCardReplyMessageListener.java
new file mode 100644
index 0000000..70b14e2
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/SynchronizeOfflineCardReplyMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.SynchronizeOfflineCardReply;
+import com.ruoyi.integration.mongodb.service.SynchronizeOfflineCardReplyService;
+import com.ruoyi.integration.rocket.model.SynchronizeOfflineCardReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class SynchronizeOfflineCardReplyMessageListener extends EnhanceMessageHandler<SynchronizeOfflineCardReplyMessage> implements RocketMQListener<SynchronizeOfflineCardReplyMessage> {
+
+    @Autowired
+    private SynchronizeOfflineCardReplyService synchronizeOfflineCardReplyService;
+    @Override
+    protected void handleMessage(SynchronizeOfflineCardReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("卡数据同步应答-业务消息处理:{}",message);
+        // 持久化消息
+        SynchronizeOfflineCardReply synchronizeOfflineCardReply = new SynchronizeOfflineCardReply();
+        BeanUtils.copyProperties(message,synchronizeOfflineCardReply);
+        synchronizeOfflineCardReplyService.create(synchronizeOfflineCardReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(SynchronizeOfflineCardReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(SynchronizeOfflineCardReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(SynchronizeOfflineCardReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TimingSettingReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TimingSettingReplyMessageListener.java
new file mode 100644
index 0000000..09cdf0d
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TimingSettingReplyMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.TimingSettingReply;
+import com.ruoyi.integration.mongodb.service.TimingSettingReplyService;
+import com.ruoyi.integration.rocket.model.TimingSettingReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class TimingSettingReplyMessageListener extends EnhanceMessageHandler<TimingSettingReplyMessage> implements RocketMQListener<TimingSettingReplyMessage> {
+
+    @Autowired
+    private TimingSettingReplyService timingSettingReplyService;
+    @Override
+    protected void handleMessage(TimingSettingReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("对时设置应答-业务消息处理:{}",message);
+        // 持久化消息
+        TimingSettingReply timingSettingReply = new TimingSettingReply();
+        BeanUtils.copyProperties(message,timingSettingReply);
+        timingSettingReplyService.create(timingSettingReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(TimingSettingReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(TimingSettingReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(TimingSettingReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TransactionRecordMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TransactionRecordMessageListener.java
new file mode 100644
index 0000000..bc3780f
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/TransactionRecordMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.TransactionRecord;
+import com.ruoyi.integration.mongodb.service.TransactionRecordService;
+import com.ruoyi.integration.rocket.model.TransactionRecordMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class TransactionRecordMessageListener extends EnhanceMessageHandler<TransactionRecordMessage> implements RocketMQListener<TransactionRecordMessage> {
+
+    @Autowired
+    private TransactionRecordService transactionRecordService;
+    @Override
+    protected void handleMessage(TransactionRecordMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("交易记录-业务消息处理:{}",message);
+        // 持久化消息
+        TransactionRecord transactionRecord = new TransactionRecord();
+        BeanUtils.copyProperties(message,transactionRecord);
+        transactionRecordService.create(transactionRecord);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(TransactionRecordMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(TransactionRecordMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(TransactionRecordMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UpdateBalanceReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UpdateBalanceReplyMessageListener.java
new file mode 100644
index 0000000..23ff0cb
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UpdateBalanceReplyMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.UpdateBalanceReply;
+import com.ruoyi.integration.mongodb.service.UpdateBalanceReplyService;
+import com.ruoyi.integration.rocket.model.UpdateBalanceReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class UpdateBalanceReplyMessageListener extends EnhanceMessageHandler<UpdateBalanceReplyMessage> implements RocketMQListener<UpdateBalanceReplyMessage> {
+
+    @Autowired
+    private UpdateBalanceReplyService updateBalanceReplyService;
+    @Override
+    protected void handleMessage(UpdateBalanceReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("余额更新应答-业务消息处理:{}",message);
+        // 持久化消息
+        UpdateBalanceReply updateBalanceReply = new UpdateBalanceReply();
+        BeanUtils.copyProperties(message,updateBalanceReply);
+        updateBalanceReplyService.create(updateBalanceReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(UpdateBalanceReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(UpdateBalanceReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(UpdateBalanceReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UploadRealTimeMonitoringDataMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UploadRealTimeMonitoringDataMessageListener.java
new file mode 100644
index 0000000..31a7501
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/UploadRealTimeMonitoringDataMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
+import com.ruoyi.integration.rocket.model.UploadRealTimeMonitoringDataMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class UploadRealTimeMonitoringDataMessageListener extends EnhanceMessageHandler<UploadRealTimeMonitoringDataMessage> implements RocketMQListener<UploadRealTimeMonitoringDataMessage> {
+
+    @Autowired
+    private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService;
+    @Override
+    protected void handleMessage(UploadRealTimeMonitoringDataMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("上传实时监测数据-业务消息处理:{}",message);
+        // 持久化消息
+        UploadRealTimeMonitoringData uploadRealTimeMonitoringData = new UploadRealTimeMonitoringData();
+        BeanUtils.copyProperties(message,uploadRealTimeMonitoringData);
+        uploadRealTimeMonitoringDataService.create(uploadRealTimeMonitoringData);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(UploadRealTimeMonitoringDataMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(UploadRealTimeMonitoringDataMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(UploadRealTimeMonitoringDataMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/WorkingParameterSettingReplyMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/WorkingParameterSettingReplyMessageListener.java
new file mode 100644
index 0000000..212b38b
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/WorkingParameterSettingReplyMessageListener.java
@@ -0,0 +1,78 @@
+package com.ruoyi.integration.rocket.listener;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.WorkingParameterSettingReply;
+import com.ruoyi.integration.mongodb.service.WorkingParameterSettingReplyService;
+import com.ruoyi.integration.rocket.model.WorkingParameterSettingReplyMessage;
+import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "enhance_consumer_group",
+        topic = "rocket_enhance",
+        selectorExpression = "*",
+        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+)
+public class WorkingParameterSettingReplyMessageListener extends EnhanceMessageHandler<WorkingParameterSettingReplyMessage> implements RocketMQListener<WorkingParameterSettingReplyMessage> {
+
+    @Autowired
+    private WorkingParameterSettingReplyService workingParameterSettingReplyService;
+    @Override
+    protected void handleMessage(WorkingParameterSettingReplyMessage message) throws Exception {
+        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
+        log.info("充电桩工作参数设置应答-业务消息处理:{}",message);
+        // 持久化消息
+        WorkingParameterSettingReply workingParameterSettingReply = new WorkingParameterSettingReply();
+        BeanUtils.copyProperties(message,workingParameterSettingReply);
+        workingParameterSettingReplyService.create(workingParameterSettingReply);
+        // 业务处理
+    }
+
+    @Override
+    protected void handleMaxRetriesExceeded(WorkingParameterSettingReplyMessage message) {
+        // 当超过指定重试次数消息时此处方法会被调用
+        // 生产中可以进行回退或其他业务操作
+        log.error("消息消费失败,请执行后续处理");
+    }
+
+
+    /**
+     * 是否执行重试机制
+     */
+    @Override
+    protected boolean isRetry() {
+        return true;
+    }
+
+    @Override
+    protected boolean throwException() {
+        // 是否抛出异常,false搭配retry自行处理异常
+        return false;
+    }
+
+    /**
+     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
+     * @param message 待处理消息
+     * @return true: 本次消息被过滤,false:不过滤
+     */
+    @Override
+    protected boolean filter(WorkingParameterSettingReplyMessage message) {
+        // 此处可做消息过滤
+        return false;
+    }
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
+    @Override
+    public void onMessage(WorkingParameterSettingReplyMessage message) {
+        super.dispatchMessage(message);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/AcquisitionBillingModeMessage.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/AcquisitionBillingModeMessage.java
new file mode 100644
index 0000000..f83dd5e
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/AcquisitionBillingModeMessage.java
@@ -0,0 +1,20 @@
+package com.ruoyi.integration.rocket.model;
+
+import com.ruoyi.integration.rocket.base.BaseMessage;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ * 充电桩计费模型请求
+ **/
+
+@Data
+public class AcquisitionBillingModeMessage extends BaseMessage {
+
+    private String charging_pile_code;// 桩编码
+
+}
+
+
+
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BillingModeVerify.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BillingModeVerifyMessage.java
similarity index 62%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BillingModeVerify.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BillingModeVerifyMessage.java
index 70eb0c1..3122ec1 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BillingModeVerify.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BillingModeVerifyMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "billing_mode_verify") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class BillingModeVerify {
+public class BillingModeVerifyMessage extends BaseMessage {
 
     private String charging_pile_code;// 桩编码
     private String billing_model_code;// "计费模型编号,首次连接到平台时置零
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsAbort.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsAbortMessage.java
similarity index 84%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsAbort.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsAbortMessage.java
index f6ac443..dfb0f5e 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsAbort.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsAbortMessage.java
@@ -1,19 +1,16 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
-
-import java.math.BigDecimal;
 
 /**
  * 充电阶段BMS中止
  **/
 
 @Data
-@Document(collection = "bms_abort") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class BmsAbort {
+public class BmsAbortMessage extends BaseMessage {
 
     private String transaction_serial_number; // 交易流水号
     private String charging_pile_code; // 桩编码
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsDemandAndChargerExportation.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java
similarity index 86%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsDemandAndChargerExportation.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java
index 6ce463a..8e958b7 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsDemandAndChargerExportation.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsDemandAndChargerExportationMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -11,9 +12,7 @@
  **/
 
 @Data
-@Document(collection = "bms_demand_and_charger_exportation") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class BmsDemandAndChargerExportation {
+public class BmsDemandAndChargerExportationMessage extends BaseMessage {
 
     private String transaction_serial_number; // 交易流水号
     private String charging_pile_code; // 桩编码
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsInformation.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java
similarity index 88%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsInformation.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java
index 152db7d..d5281cd 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/BmsInformation.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/BmsInformationMessage.java
@@ -1,19 +1,16 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
-
-import java.math.BigDecimal;
 
 /**
  * 充电过程BMS信息
  **/
 
 @Data
-@Document(collection = "bms_information") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class BmsInformation {
+public class BmsInformationMessage extends BaseMessage {
 
     private String transaction_serial_number; // 交易流水号
     private String charging_pile_code; // 桩编码
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingHandshake.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingHandshakeMessage.java
similarity index 88%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingHandshake.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingHandshakeMessage.java
index 2a51843..13ffa28 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingHandshake.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingHandshakeMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -11,9 +12,7 @@
  **/
 
 @Data
-@Document(collection = "charging_handshake") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class ChargingHandshake {
+public class ChargingHandshakeMessage extends BaseMessage {
 
     private String transaction_serial_number;// 交易流水号
     private String charging_pile_code;// 桩编码
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileReturnsGroundLockData.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileReturnsGroundLockDataMessage.java
similarity index 65%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileReturnsGroundLockData.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileReturnsGroundLockDataMessage.java
index 880c893..c6390d2 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileReturnsGroundLockData.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileReturnsGroundLockDataMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "charging_pile_returns_ground_lock_data") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class ChargingPileReturnsGroundLockData {
+public class ChargingPileReturnsGroundLockDataMessage extends BaseMessage {
 
     private String charging_pile_code; //桩编码
     private String charging_gun_code; // 抢号
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileStartsCharging.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileStartsChargingMessage.java
similarity index 78%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileStartsCharging.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileStartsChargingMessage.java
index 8104513..c738443 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ChargingPileStartsCharging.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ChargingPileStartsChargingMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "charging_pile_starts_charging") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class ChargingPileStartsCharging {
+public class ChargingPileStartsChargingMessage extends BaseMessage {
 
     private String charging_pile_code; // 桩编码
     private String charging_gun_code; // 抢号
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ClearOfflineCardReply.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ClearOfflineCardReplyMessage.java
similarity index 93%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ClearOfflineCardReply.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ClearOfflineCardReplyMessage.java
index 68aedbf..aec77a8 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ClearOfflineCardReply.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ClearOfflineCardReplyMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "clear_offline_card_reply") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class ClearOfflineCardReply {
+public class ClearOfflineCardReplyMessage extends BaseMessage {
 
     private String charging_pile_code; //桩编码
     private String physical_card1; // 第 1 个卡物理卡号,离线卡物理卡号
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/GroundLockRealTimeData.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/GroundLockRealTimeDataMessage.java
similarity index 78%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/GroundLockRealTimeData.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/GroundLockRealTimeDataMessage.java
index 4f211e9..c2dd9b5 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/GroundLockRealTimeData.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/GroundLockRealTimeDataMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "ground_lock_real_time_data") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class GroundLockRealTimeData {
+public class GroundLockRealTimeDataMessage extends BaseMessage {
 
     private String charging_pile_code; //桩编码
     private String charging_gun_code; // 抢号
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/MotorAbort.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/MotorAbortMessage.java
similarity index 85%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/MotorAbort.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/MotorAbortMessage.java
index 8f7c072..163ea6a 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/MotorAbort.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/MotorAbortMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "motor_abort") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class MotorAbort {
+public class MotorAbortMessage extends BaseMessage {
 
     private String transaction_serial_number; // 交易流水号
     private String charging_pile_code; // 桩编码
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Online.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/OnlineMessage.java
similarity index 81%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Online.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/OnlineMessage.java
index 03106ee..4b8c130 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Online.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/OnlineMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "online") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class Online {
+public class OnlineMessage extends BaseMessage {
     private String charging_pile_code;// 充电桩编号
     private Integer charging_pile_type;// 充电桩类型(0 表示直流桩,1 表示交流桩)
     private Integer charging_gun_number;// 充电枪数量
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ParameterSetting.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ParameterSettingMessage.java
similarity index 86%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ParameterSetting.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ParameterSettingMessage.java
index 22d54f6..9a40e77 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/ParameterSetting.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/ParameterSettingMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -11,9 +12,7 @@
  **/
 
 @Data
-@Document(collection = "parameter_setting") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class ParameterSetting {
+public class ParameterSettingMessage extends BaseMessage {
 
     private String transaction_serial_number; // 交易流水号
     private String charging_pile_code; // 桩编码
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Ping.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PingMessage.java
similarity index 67%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Ping.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PingMessage.java
index ea3166c..67517f3 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/Ping.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PingMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "ping") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class Ping {
+public class PingMessage extends BaseMessage {
 
     private String charging_pile_code;// 桩编码
     private String charging_gun_code;// 抢号
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRemoteUpdateReply.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRemoteUpdateReplyMessage.java
similarity index 63%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRemoteUpdateReply.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRemoteUpdateReplyMessage.java
index 807e362..f4498af 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformRemoteUpdateReply.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRemoteUpdateReplyMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "platform_remote_update_reply") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class PlatformRemoteUpdateReply {
+public class PlatformRemoteUpdateReplyMessage extends BaseMessage {
 
     private String charging_pile_code; //桩编码
     private Integer escalation_state; // 升级状态(0:成功,1:编码错误,2:程序与桩型号不符,3:下载更新文件超时)
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRestartReplyMessage.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRestartReplyMessage.java
new file mode 100644
index 0000000..42f7b25
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformRestartReplyMessage.java
@@ -0,0 +1,20 @@
+package com.ruoyi.integration.rocket.model;
+
+import com.ruoyi.integration.rocket.base.BaseMessage;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ *  远程重启应答
+ **/
+
+@Data
+public class PlatformRestartReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private Integer set_result; // 设置结果(0:失败,1:成功)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStartChargingReply.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStartChargingReplyMessage.java
similarity index 77%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStartChargingReply.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStartChargingReplyMessage.java
index 99f4d13..525555b 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStartChargingReply.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStartChargingReplyMessage.java
@@ -1,19 +1,16 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
-
-import java.math.BigDecimal;
 
 /**
  * 远程启机命令回复
  **/
 
 @Data
-@Document(collection = "platform_start_charging_reply") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class PlatformStartChargingReply {
+public class PlatformStartChargingReplyMessage extends BaseMessage {
 
     private String transaction_serial_number; // 交易流水号
     private String charging_pile_code; // 桩编码
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStopChargingReply.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStopChargingReplyMessage.java
similarity index 66%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStopChargingReply.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStopChargingReplyMessage.java
index 8304aab..8ff99f8 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/PlatformStopChargingReply.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/PlatformStopChargingReplyMessage.java
@@ -1,19 +1,16 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
-
-import java.math.BigDecimal;
 
 /**
  * 远程停机命令回复
  **/
 
 @Data
-@Document(collection = "platform_stop_charging_reply") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class PlatformStopChargingReply {
+public class PlatformStopChargingReplyMessage extends BaseMessage {
 
     private String charging_pile_code; // 桩编码
     private String charging_gun_code; // 抢号
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/QueryOfflineCardReply.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/QueryOfflineCardReplyMessage.java
similarity index 90%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/QueryOfflineCardReply.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/QueryOfflineCardReplyMessage.java
index b2b239b..b1cf3d0 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/QueryOfflineCardReply.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/QueryOfflineCardReplyMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,9 +10,7 @@
  **/
 
 @Data
-@Document(collection = "query_offline_card_reply") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class QueryOfflineCardReply {
+public class QueryOfflineCardReplyMessage extends BaseMessage {
 
     private String charging_pile_code; //桩编码
     private String physical_card1; // 第 1 个卡物理卡号,离线卡物理卡号
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SetupBillingModelReplyMessage.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SetupBillingModelReplyMessage.java
new file mode 100644
index 0000000..b97bbff
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SetupBillingModelReplyMessage.java
@@ -0,0 +1,20 @@
+package com.ruoyi.integration.rocket.model;
+
+import com.ruoyi.integration.rocket.base.BaseMessage;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ * 计费模型应答
+ **/
+
+@Data
+public class SetupBillingModelReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String set_result; //设置结果(0:失败,1:成功)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SynchronizeOfflineCardReply.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SynchronizeOfflineCardReplyMessage.java
similarity index 62%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SynchronizeOfflineCardReply.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SynchronizeOfflineCardReplyMessage.java
index 09f0a2f..adeb907 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/SynchronizeOfflineCardReply.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/SynchronizeOfflineCardReplyMessage.java
@@ -1,19 +1,16 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
-
-import java.math.BigDecimal;
 
 /**
  * 卡数据同步应答
  **/
 
 @Data
-@Document(collection = "synchronize_offline_card_reply") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class SynchronizeOfflineCardReply {
+public class SynchronizeOfflineCardReplyMessage extends BaseMessage {
 
     private String charging_pile_code; //桩编码
     private Integer save_result; // 保存结果(0:失败,1:成功)
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TimingSettingReplyMessage.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TimingSettingReplyMessage.java
new file mode 100644
index 0000000..d848235
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TimingSettingReplyMessage.java
@@ -0,0 +1,19 @@
+package com.ruoyi.integration.rocket.model;
+
+import com.ruoyi.integration.rocket.base.BaseMessage;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ * 对时设置应答
+ **/
+
+@Data
+public class TimingSettingReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String current_time; //当前时间
+}
+
+
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TransactionRecord.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java
similarity index 90%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TransactionRecord.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java
index 35f3496..5d8eb09 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/TransactionRecord.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -11,9 +12,7 @@
  **/
 
 @Data
-@Document(collection = "transaction_record") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class TransactionRecord {
+public class TransactionRecordMessage extends BaseMessage {
 
     private String transaction_serial_number;// 交易流水号
     private String charging_pile_code;// 桩编码
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UpdateBalanceReplyMessage.java
similarity index 68%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UpdateBalanceReplyMessage.java
index 1c82407..faefd6a 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UpdateBalanceReply.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UpdateBalanceReplyMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -11,9 +12,7 @@
  **/
 
 @Data
-@Document(collection = "update_balance_reply") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class UpdateBalanceReply {
+public class UpdateBalanceReplyMessage extends BaseMessage {
 
     private String charging_pile_code; //桩编码
     private String physical_card_number; //物理卡号
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UploadRealTimeMonitoringData.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UploadRealTimeMonitoringDataMessage.java
similarity index 90%
copy from ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UploadRealTimeMonitoringData.java
copy to ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UploadRealTimeMonitoringDataMessage.java
index 16417f8..8a8f765 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/model/UploadRealTimeMonitoringData.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/UploadRealTimeMonitoringDataMessage.java
@@ -1,5 +1,6 @@
-package com.ruoyi.integration.mongodb.model;
+package com.ruoyi.integration.rocket.model;
 
+import com.ruoyi.integration.rocket.base.BaseMessage;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import org.springframework.data.mongodb.core.mapping.Document;
@@ -11,9 +12,7 @@
  **/
 
 @Data
-@Document(collection = "upload_real_time_monitoring_data") //指定要对应的文档名(表名)
-@Accessors(chain = true)
-public class UploadRealTimeMonitoringData {
+public class UploadRealTimeMonitoringDataMessage extends BaseMessage {
 
     private String transaction_serial_number; // 交易流水号
     private String charging_pile_code; // 桩编码
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/WorkingParameterSettingReplyMessage.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/WorkingParameterSettingReplyMessage.java
new file mode 100644
index 0000000..ecf248c
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/WorkingParameterSettingReplyMessage.java
@@ -0,0 +1,19 @@
+package com.ruoyi.integration.rocket.model;
+
+import com.ruoyi.integration.rocket.base.BaseMessage;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ * 充电桩工作参数设置应答
+ **/
+
+@Data
+public class WorkingParameterSettingReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private Integer set_result; //设置结果(0:失败,1:成功)
+}
+
+
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduceController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduceController.java
index d4735b5..eb4f3e2 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduceController.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduceController.java
@@ -1,16 +1,17 @@
 package com.ruoyi.integration.rocket.produce;
 
-import com.ruoyi.integration.rocket.test.MemberMessage;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.integration.iotda.enums.SendTagMenu;
+import com.ruoyi.integration.rocket.model.*;
 import com.ruoyi.integration.rocket.util.RocketMQEnhanceTemplate;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.rocketmq.client.producer.SendResult;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.time.LocalDate;
 import java.util.UUID;
 
 @RestController
@@ -22,24 +23,293 @@
     @Setter(onMethod_ = @Autowired)
     private RocketMQEnhanceTemplate rocketMQEnhanceTemplate;
 
-    private static final String topic = "rocket_enhance";
-    private static final String tag = "member";
+    private static final String TOPIC = "rocket_enhance";
 
     /**
-     * 发送实体消息
+     * 充电桩登录认证
      */
-    @GetMapping("/member")
-    public SendResult member() {
-        String key = UUID.randomUUID().toString();
-        MemberMessage message = new MemberMessage();
+    public SendResult onlineMessage(JSONObject jsonObject) {
+        OnlineMessage message = JSON.parseObject(jsonObject.toJSONString(),OnlineMessage.class);
         // 设置业务key
-        message.setKey(key);
+        message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
-        message.setSource("MEMBER");
-        // 业务消息内容
-        message.setUserName("Java日知录");
-        message.setBirthday(LocalDate.now());
+        message.setSource(SendTagMenu.ONLINE.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.ONLINE.getValue(), message);
+    }
 
-        return rocketMQEnhanceTemplate.send(topic, tag, message);
+    /**
+     * 充电桩心跳包
+     */
+    public SendResult pingMessage(JSONObject jsonObject) {
+        PingMessage message = JSON.parseObject(jsonObject.toJSONString(),PingMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.PING.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.PING.getValue(), message);
+    }
+
+    /**
+     * 计费模型验证请求
+     */
+    public SendResult billingModeVerifyMessage(JSONObject jsonObject) {
+        BillingModeVerifyMessage message = JSON.parseObject(jsonObject.toJSONString(),BillingModeVerifyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.BILLING_MODE_VERIFY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.BILLING_MODE_VERIFY.getValue(), message);
+    }
+
+    /**
+     * 充电桩计费模型请求
+     */
+    public SendResult acquisitionBillingModeMessage(JSONObject jsonObject) {
+        AcquisitionBillingModeMessage message = JSON.parseObject(jsonObject.toJSONString(),AcquisitionBillingModeMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.ACQUISITION_BILLING_MODE.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.ACQUISITION_BILLING_MODE.getValue(), message);
+    }
+
+    /**
+     * 上传实时监测数据
+     */
+    public SendResult uploadRealTimeMonitoringDataMessage(JSONObject jsonObject) {
+        UploadRealTimeMonitoringDataMessage message = JSON.parseObject(jsonObject.toJSONString(),UploadRealTimeMonitoringDataMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.UPLOAD_REAL_TIME_MONITORING_DATA.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.UPLOAD_REAL_TIME_MONITORING_DATA.getValue(), message);
+    }
+
+    /**
+     * 充电握手
+     */
+    public SendResult chargingHandshakeMessage(JSONObject jsonObject) {
+        ChargingHandshakeMessage message = JSON.parseObject(jsonObject.toJSONString(),ChargingHandshakeMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.CHARGING_HANDSHAKE.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.CHARGING_HANDSHAKE.getValue(), message);
+    }
+
+    /**
+     * 充电阶段BMS中止
+     */
+    public SendResult bmsAbortMessage(JSONObject jsonObject) {
+        BmsAbortMessage message = JSON.parseObject(jsonObject.toJSONString(),BmsAbortMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.BMS_ABORT.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.BMS_ABORT.getValue(), message);
+    }
+
+    /**
+     * 充电阶段充电机中止
+     */
+    public SendResult motorAbortMessage(JSONObject jsonObject) {
+        MotorAbortMessage message = JSON.parseObject(jsonObject.toJSONString(),MotorAbortMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.MOTOR_ABORT.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.MOTOR_ABORT.getValue(), message);
+    }
+
+    /**
+     * 充电过程BMS需求、充电机输出
+     */
+    public SendResult bmsDemandAndChargerExportationMessage(JSONObject jsonObject) {
+        BmsDemandAndChargerExportationMessage message = JSON.parseObject(jsonObject.toJSONString(),BmsDemandAndChargerExportationMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.BMS_DEMAND_AND_CHARGER_EXPORTATION.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.BMS_DEMAND_AND_CHARGER_EXPORTATION.getValue(), message);
+    }
+
+    /**
+     * 充电过程BMS信息
+     */
+    public SendResult bmsInformationMessage(JSONObject jsonObject) {
+        BmsInformationMessage message = JSON.parseObject(jsonObject.toJSONString(),BmsInformationMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.BMS_INFORMATION.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.BMS_INFORMATION.getValue(), message);
+    }
+
+    /**
+     * 充电桩主动申请启动充电
+     */
+    public SendResult chargingPileStartsChargingMessage(JSONObject jsonObject) {
+        ChargingPileStartsChargingMessage message = JSON.parseObject(jsonObject.toJSONString(),ChargingPileStartsChargingMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.CHARGING_PILE_STARTS_CHARGING.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.CHARGING_PILE_STARTS_CHARGING.getValue(), message);
+    }
+
+    /**
+     * 远程启机命令回复
+     */
+    public SendResult platformStartChargingReplyMessage(JSONObject jsonObject) {
+        PlatformStartChargingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformStartChargingReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.PLATFORM_START_CHARGING_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.PLATFORM_START_CHARGING_REPLY.getValue(), message);
+    }
+
+    /**
+     * 远程停机命令回复
+     */
+    public SendResult platformStopChargingReplyMessage(JSONObject jsonObject) {
+        PlatformStopChargingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformStopChargingReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.PLATFORM_STOP_CHARGING_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.PLATFORM_STOP_CHARGING_REPLY.getValue(), message);
+    }
+
+    /**
+     * 交易记录
+     */
+    public SendResult transactionRecordMessage(JSONObject jsonObject) {
+        TransactionRecordMessage message = JSON.parseObject(jsonObject.toJSONString(),TransactionRecordMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.TRANSACTION_RECORD.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.TRANSACTION_RECORD.getValue(), message);
+    }
+
+    /**
+     * 余额更新应答
+     */
+    public SendResult updateBalanceReplyMessage(JSONObject jsonObject) {
+        UpdateBalanceReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),UpdateBalanceReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.UPDATE_BALANCE_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.UPDATE_BALANCE_REPLY.getValue(), message);
+    }
+
+    /**
+     * 卡数据同步应答
+     */
+    public SendResult synchronizeOfflineCardReplyMessage(JSONObject jsonObject) {
+        SynchronizeOfflineCardReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),SynchronizeOfflineCardReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.SYNCHRONIZE_OFFLINE_CARD_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.SYNCHRONIZE_OFFLINE_CARD_REPLY.getValue(), message);
+    }
+
+    /**
+     * 离线卡数据清除应答
+     */
+    public SendResult clearOfflineCardReplyMessage(JSONObject jsonObject) {
+        ClearOfflineCardReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),ClearOfflineCardReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.CLEAR_OFFLINE_CARD_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.CLEAR_OFFLINE_CARD_REPLY.getValue(), message);
+    }
+
+    /**
+     * 充电桩工作参数设置应答
+     */
+    public SendResult workingParameterSettingReplyMessage(JSONObject jsonObject) {
+        WorkingParameterSettingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),WorkingParameterSettingReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.WORKING_PARAMETER_SETTING_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.WORKING_PARAMETER_SETTING_REPLY.getValue(), message);
+    }
+
+    /**
+     * 对时设置应答
+     */
+    public SendResult timingSettingReplyMessage(JSONObject jsonObject) {
+        TimingSettingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),TimingSettingReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.TIMING_SETTING_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.TIMING_SETTING_REPLY.getValue(), message);
+    }
+
+    /**
+     * 计费模型应答
+     */
+    public SendResult setupBillingModelReplyMessage(JSONObject jsonObject) {
+        SetupBillingModelReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),SetupBillingModelReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.SETUP_BILLING_MODEL_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.SETUP_BILLING_MODEL_REPLY.getValue(), message);
+    }
+
+    /**
+     * 地锁数据上送(充电桩上送)
+     */
+    public SendResult groundLockRealTimeDataMessage(JSONObject jsonObject) {
+        GroundLockRealTimeDataMessage message = JSON.parseObject(jsonObject.toJSONString(),GroundLockRealTimeDataMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.GROUND_LOCK_REAL_TIME_DATA.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.GROUND_LOCK_REAL_TIME_DATA.getValue(), message);
+    }
+
+    /**
+     * 充电桩返回数据(上行)
+     */
+    public SendResult chargingPileReturnsGroundLockDataMessage(JSONObject jsonObject) {
+        ChargingPileReturnsGroundLockDataMessage message = JSON.parseObject(jsonObject.toJSONString(),ChargingPileReturnsGroundLockDataMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.CHARGING_PILE_RETURNS_GROUND_LOCK_DATA.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.CHARGING_PILE_RETURNS_GROUND_LOCK_DATA.getValue(), message);
+    }
+
+    /**
+     * 远程重启应答
+     */
+    public SendResult platformRestartReplyMessage(JSONObject jsonObject) {
+        PlatformRestartReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformRestartReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.PLATFORM_RESTART_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.PLATFORM_RESTART_REPLY.getValue(), message);
+    }
+
+    /**
+     * 远程更新应答
+     */
+    public SendResult platformRemoteUpdateReplyMessage(JSONObject jsonObject) {
+        PlatformRemoteUpdateReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformRemoteUpdateReplyMessage.class);
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagMenu.PLATFORM_REMOTE_UPDATE_REPLY.getValue());
+        return rocketMQEnhanceTemplate.send(TOPIC, SendTagMenu.PLATFORM_REMOTE_UPDATE_REPLY.getValue(), message);
     }
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/test/MemberMessage.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/test/MemberMessage.java
deleted file mode 100644
index 758007f..0000000
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/test/MemberMessage.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ruoyi.integration.rocket.test;
-
-import com.ruoyi.integration.rocket.base.BaseMessage;
-import lombok.Data;
-
-import java.time.LocalDate;
-
-@Data
-public class MemberMessage extends BaseMessage {
-
-    private String userName;
-    private LocalDate birthday;
-
-}
diff --git a/ruoyi-service/ruoyi-order/pom.xml b/ruoyi-service/ruoyi-order/pom.xml
index a4353da..51c211d 100644
--- a/ruoyi-service/ruoyi-order/pom.xml
+++ b/ruoyi-service/ruoyi-order/pom.xml
@@ -22,6 +22,10 @@
         </dependency>
         <dependency>
             <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-api-integration</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-account</artifactId>
         </dependency>
         <!-- ruoyi-modules-chargingPile-api -->
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index fd85e38..d9a6601 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -2,6 +2,7 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.account.api.feignClient.AppUserClient;
 import com.ruoyi.chargingPile.api.vo.SiteVO;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.redis.service.RedisService;
@@ -71,17 +72,30 @@
     @Resource
     private AliPaymentClient aliPaymentClient;
     
-    
-    
+    @Autowired
+    private AppUserClient appUserClient;
 
+    
+    
+    
+    
+    
     @ResponseBody
     @PostMapping(value = "/chargingOrder")
     @ApiOperation(value = "充电桩订单列表", tags = {"管理后台-订单管理"})
     public AjaxResult<TCharingOrderVO> chargingOrder(@RequestBody ChargingOrderQuery dto){
+        List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData();
+        dto.setUserIds(data);
         TCharingOrderVO res = chargingOrderService.chargingOrder(dto);
         return AjaxResult.success(res);
     }
+    @ResponseBody
+    @PostMapping(value = "/chargingOrderInfo")
+    @ApiOperation(value = "充电桩订单列表查看详情", tags = {"管理后台-订单管理"})
+    public AjaxResult<TCharingOrderVO> chargingOrderInfo(String orderId){
 
+        return AjaxResult.success();
+    }
 
     @ResponseBody
     @PostMapping(value = "/addEvaluate")
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
index 1e5f04f..905b3ba 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
@@ -93,6 +93,7 @@
             case 1:
                 for (int i = 0; i < split.length-1; i++) {
                     Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>()
+                                    .eq("order_type",1)
                                     .eq("goods_id", split[i])
                                     .eq("payment_status", 2)
                                     .ne("refund_status", 2))
@@ -103,6 +104,8 @@
             case 2:
                 for (int i = 0; i < split.length-1; i++) {
                     Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>()
+                                            .eq("order_type",1)
+                                    .ne("status",4)
                                     .eq("goods_id", split[i])
                                     )
                             .stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
index 5b448ec..01c381a 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
@@ -88,47 +88,44 @@
 		return AjaxResult.success(list);
 	}
 
-//	@PostMapping("/create")
-//	public R<Long> shopCreate(@RequestBody ExchangeDto exchangeDto){
-//		TShoppingOrder shoppingOrder = new TShoppingOrder();
-//		shoppingOrder.setCode(OrderCodeUtil.getOrderCode("GW"));
-//		shoppingOrder.setAppUserId(exchangeDto.getUserId());
-//		shoppingOrder.setOrderType(exchangeDto.getGoodType());
-//		if (exchangeDto.getGoodType()==1) {
-//			shoppingOrder.setGoodsId(exchangeDto.getGoodId());
-//		}else {
-//			shoppingOrder.setCouponId(exchangeDto.getGoodId());
-//		}
-//		shoppingOrder.setPurchaseQuantity(exchangeDto.getNum());
-//		shoppingOrder.setAppUserAddressId(Long.valueOf(exchangeDto.getAddressId()));
-//		shoppingOrder.setOrderAmount(new BigDecimal("0"));
-//		shoppingOrder.setAppCouponId(0L);
-//		shoppingOrder.setCouponDiscountAmount(new BigDecimal("0"));
-//		shoppingOrder.setVipDiscount(new BigDecimal("0"));
-//		shoppingOrder.setVipDiscountAmount(new BigDecimal("0"));
-//		shoppingOrder.setPaymentAmount(new BigDecimal("0"));
-//		shoppingOrder.setPaymentStatus(0);
-//		shoppingOrder.setPaymentType(0);
-//		shoppingOrder.setSerialNumber("");
-//		shoppingOrder.setRemark("");
-//		shoppingOrder.setStatus(0);
-//		shoppingOrder.setExpressCompany("");
-//		shoppingOrder.setExpressNumber("");
-//		shoppingOrder.setConsignerId(0);
-//		shoppingOrder.setConsignerTime(LocalDateTime.now());
-//		shoppingOrder.setReceivingTime(LocalDateTime.now());
-//		shoppingOrder.setCancellationTime(LocalDateTime.now());
-//		shoppingOrder.setCancellationId(0);
-//		shoppingOrder.setRefundCode("");
-//		shoppingOrder.setRefundAmount(new BigDecimal("0"));
-//		shoppingOrder.setRefundStatus(0);
-//		shoppingOrder.setRefundSerialNumber("");
-//		shoppingOrder.setRefundTime(LocalDateTime.now());
-//		shoppingOrder.setCreateTime(LocalDateTime.now());
-//		shoppingOrder.setDelFlag(false);
-//
-//
-//
-//	}
+	@PostMapping("/create")
+	public R<TShoppingOrder> shopCreate(@RequestBody ExchangeDto exchangeDto){
+		TShoppingOrder shoppingOrder = new TShoppingOrder();
+		shoppingOrder.setCode(OrderCodeUtil.getOrderCode("GW"));
+		shoppingOrder.setAppUserId(exchangeDto.getUserId());
+		shoppingOrder.setOrderType(exchangeDto.getGoodType());
+		if (exchangeDto.getGoodType()==1) {
+			shoppingOrder.setGoodsId(exchangeDto.getGoodId());
+		}else {
+			shoppingOrder.setCouponId(exchangeDto.getGoodId());
+		}
+		shoppingOrder.setPurchaseQuantity(exchangeDto.getNum());
+		shoppingOrder.setAppUserAddressId(Long.valueOf(exchangeDto.getAddressId()));
+		shoppingOrder.setOrderAmount(exchangeDto.getOrderPrice());
+		if (exchangeDto.getCouponId()!=null) {
+			shoppingOrder.setAppCouponId(exchangeDto.getCouponId());
+		}
+		shoppingOrder.setCouponDiscountAmount(exchangeDto.getDiscountPrice());
+		shoppingOrder.setVipDiscount(new BigDecimal("0"));
+		shoppingOrder.setVipDiscountAmount(exchangeDto.getVipDiscount());
+		shoppingOrder.setPaymentAmount(exchangeDto.getPayPrice());
+		shoppingOrder.setPaymentStatus(1);
+		shoppingOrder.setPaymentType(exchangeDto.getPayMethod());
+		shoppingOrder.setRemark(exchangeDto.getRemark());
+		shoppingOrder.setStatus(1);
+		shoppingOrder.setCreateTime(LocalDateTime.now());
+		shoppingOrder.setDelFlag(false);
+		shoppingOrderService.save(shoppingOrder);
+
+		return R.ok(shoppingOrder);
+
+	}
+
+	@PostMapping("/callBack")
+	public R callBack(@RequestParam("code")String code,@RequestParam("outTradeNo")String outTradeNo){
+		shoppingOrderService.callBack(code,outTradeNo);
+		return R.ok();
+
+	}
 }
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/filter/AuthFilter.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/filter/AuthFilter.java
index 9702f6d..6d39f09 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/filter/AuthFilter.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/filter/AuthFilter.java
@@ -5,11 +5,9 @@
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.common.core.constant.TokenConstants;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.utils.JwtUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysUserClient;
-import io.jsonwebtoken.Claims;
 import org.apache.logging.log4j.core.config.Order;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java
index c503367..70a4616 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java
@@ -59,4 +59,6 @@
      * @return
      */
     List<MyShoppingOrderList> getNoInvoicedOrder(GetNoInvoicedOrder query);
+
+    void callBack(String code,String outTradeNo);
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 51ec3ab..016a888 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.order.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.account.api.feignClient.AppUserCarClient;
 import com.ruoyi.account.api.feignClient.AppUserClient;
@@ -33,14 +34,18 @@
 import com.ruoyi.payment.api.feignClient.WxPaymentClient;
 import com.ruoyi.payment.api.vo.*;
 import io.seata.spring.annotation.GlobalTransactional;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
 import java.util.*;
 
 /**
@@ -86,10 +91,7 @@
 	
 	@Resource
 	private RedisService redisService;
-	
-	
-	
-	
+
 	/**
 	 * 获取小程序充电记录列表数据
 	 * @param query
@@ -426,6 +428,8 @@
     @Override
     public TCharingOrderVO chargingOrder(ChargingOrderQuery dto) {
 		TCharingOrderVO tCharingOrderVO = new TCharingOrderVO();
+
+
 		String startTime1 = null;
 		String startTime2 = null;
 		String endTime1 = null;
@@ -450,7 +454,64 @@
 		}
 		PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
 		List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
-
+		 BigDecimal total = new BigDecimal("0");
+		 long time = 0L;
+		 BigDecimal income = new BigDecimal("0");
+		 BigDecimal electronicMoney = new BigDecimal("0");
+		 BigDecimal serviceMoney = new BigDecimal("0");
+		for (ChargingOrderVO chargingOrderVO : list) {
+			total = total.add(chargingOrderVO.getChargingCapacity());
+			// 充电订单 明细记录
+			List<TChargingOrderAccountingStrategy> chargingOrderId = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>()
+					.eq("charging_order_id", chargingOrderVO.getId()));
+			// 单个订单累计电费
+			BigDecimal electronicMoney1 = new BigDecimal("0");
+			// 单个订单累计服务费
+			BigDecimal serviceMoney1 = new BigDecimal("0");
+			LocalDateTime startTime = chargingOrderVO.getStartTime();
+			LocalDateTime endTime = chargingOrderVO.getEndTime();
+			// 计算时间差 秒 充电时长
+			long between = ChronoUnit.SECONDS.between(startTime, endTime);
+			chargingOrderVO.setChargingSecond(between);
+			time += between;
+			// 总收入
+			if (chargingOrderVO.getRefundStatus() == 2){
+				income = income.add(chargingOrderVO.getPaymentAmount().subtract(chargingOrderVO.getRefundAmount()));
+			}else{
+				income = income.add(chargingOrderVO.getPaymentAmount());
+			}
+			for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : chargingOrderId) {
+				// 累计电费
+				electronicMoney1 = electronicMoney1.add(tChargingOrderAccountingStrategy.getElectrovalence()
+						.multiply(tChargingOrderAccountingStrategy.getChargingCapacity()));
+				electronicMoney = electronicMoney.add(electronicMoney1);
+				// 累计服务费
+				serviceMoney1 = serviceMoney1.add(tChargingOrderAccountingStrategy.getServiceCharge());
+				serviceMoney = serviceMoney.add(serviceMoney1);
+			}
+			chargingOrderVO.setServiceCharge(serviceMoney1);
+			chargingOrderVO.setElectrovalence(electronicMoney1);
+			// 充电时段数
+			int size = chargingOrderId.size();
+			chargingOrderVO.setCount(size);
+			// 用户手机号
+			TAppUser data = appUserClient.getUserById(chargingOrderVO.getAppUserId()).getData();
+			if (data!=null){
+				// 车牌号
+				chargingOrderVO.setPhone(data.getPhone());
+				List<Long> longs = new ArrayList<>();
+				longs.add(chargingOrderVO.getAppUserCarId());
+				List<TAppUserCar> data1 = appUserCarClient.getCarByIds(longs).getData();
+				if (!data1.isEmpty()){
+					chargingOrderVO.setLicensePlate(data1.get(0).getLicensePlate());
+				}
+			}
+		}
+		tCharingOrderVO.setTotal(total);
+		tCharingOrderVO.setTime(time);
+		tCharingOrderVO.setIncome(income);
+		tCharingOrderVO.setElectronicMoney(electronicMoney);
+		tCharingOrderVO.setServiceMoney(serviceMoney);
 		pageInfo.setRecords(list);
 		tCharingOrderVO.setList(pageInfo);
         return tCharingOrderVO;
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
index b809d8f..172dd2f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -1,7 +1,10 @@
 package com.ruoyi.order.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.api.dto.GrantCouponDto;
+import com.ruoyi.account.api.feignClient.AppCouponClient;
 import com.ruoyi.account.api.feignClient.AppUserAddressClient;
 import com.ruoyi.account.api.model.TAppUserAddress;
 import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -24,6 +27,7 @@
 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.List;
@@ -50,6 +54,8 @@
     
     @Resource
     private AppUserAddressClient appUserAddressClient;
+    @Resource
+    private AppCouponClient appCouponClient;
     
     
     
@@ -309,4 +315,23 @@
         }
         return pageList;
     }
+
+    @Override
+    public void callBack(String code,String outTradeNo) {
+        //改变订单状态
+        TShoppingOrder shoppingOrder = this.baseMapper.selectOne(Wrappers.lambdaQuery(TShoppingOrder.class).eq(TShoppingOrder::getCode, code));
+        shoppingOrder.setPaymentStatus(2);
+        shoppingOrder.setSerialNumber(outTradeNo);
+        this.updateById(shoppingOrder);
+        //如果是优惠券,赠送优惠券
+        if (shoppingOrder.getOrderType()==2){
+            GrantCouponDto grantCouponDto = new GrantCouponDto();
+            grantCouponDto.setType(3);
+            grantCouponDto.setUserIds(String.valueOf(shoppingOrder.getAppUserId()));
+            grantCouponDto.setCouponId(shoppingOrder.getCouponId());
+            grantCouponDto.setWaysToObtain(2);
+            grantCouponDto.setEndTime(LocalDateTime.now());
+            appCouponClient.grantCoupon(grantCouponDto);
+        }
+    }
 }
diff --git a/ruoyi-service/ruoyi-other/pom.xml b/ruoyi-service/ruoyi-other/pom.xml
index a44ba7c..0944dbe 100644
--- a/ruoyi-service/ruoyi-other/pom.xml
+++ b/ruoyi-service/ruoyi-other/pom.xml
@@ -131,6 +131,10 @@
             <groupId>io.netty</groupId>
             <artifactId>netty-all</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-api-payment</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java
index 55c8ab2..bc78481 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java
@@ -69,9 +69,10 @@
 
     @ApiOperation(tags = {"小程序-广告管理"},value = "广告列表查询")
     @GetMapping(value = "/list")
-    public AjaxResult<List<TAdvertising>> list() {
+    public AjaxResult<List<TAdvertising>> list(@RequestParam("position") Integer position) {
         return AjaxResult.ok(advertisingService.list(Wrappers.lambdaQuery(TAdvertising.class)
-                .eq(TAdvertising::getStatus, AdvertisingStatusEnum.YES.getCode())));
+                .eq(TAdvertising::getStatus, AdvertisingStatusEnum.YES.getCode())
+                .eq(TAdvertising::getPosition,position)));
     }
 }
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
index 14de43b..3e7d414 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
@@ -1,10 +1,13 @@
 package com.ruoyi.other.controller;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 
+import com.alibaba.fastjson.JSON;
 import com.ruoyi.account.api.dto.GrantCouponDto;
 import com.ruoyi.account.api.feignClient.AppCouponClient;
 import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.TAppCoupon;
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.dto.AppGoodQuery;
@@ -14,6 +17,7 @@
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.order.api.feignClient.OrderClient;
+import com.ruoyi.order.api.model.TShoppingOrder;
 import com.ruoyi.other.api.domain.TCoupon;
 import com.ruoyi.other.api.domain.TGoods;
 import com.ruoyi.common.core.dto.ExchangeDto;
@@ -22,12 +26,16 @@
 import com.ruoyi.other.service.TActivityService;
 import com.ruoyi.other.service.TCouponService;
 import com.ruoyi.other.service.TGoodsService;
+import com.ruoyi.payment.api.feignClient.WxPaymentClient;
+import com.ruoyi.payment.api.vo.PaymentOrder;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.swing.*;
 import java.util.Arrays;
+import java.util.Map;
 
 /**
  * <p>
@@ -44,6 +52,7 @@
     private TGoodsService goodsService;
     @Autowired
     private TActivityService activityService;
+
     @Resource
     private TokenService tokenService;
     @Resource
@@ -54,6 +63,9 @@
     private AppCouponClient appCouponClient;
     @Resource
     private TCouponService couponService;
+    @Resource
+    private WxPaymentClient wxPaymentClient;
+
 
 
 
@@ -159,19 +171,78 @@
 
     }
 
-//    @ApiOperation(tags = {"小程序-兑换商城"},value = "支付商品")
-//    @PostMapping(value = "/app/pay")
-//    public AjaxResult<PageInfo<TGoods>> pay(@RequestBody ExchangeDto exchangeDto) {
-//
-//        //创建订单
-//
-//        //计算价格
-//
-//        //调起支付
-//
-//
-//
-//    }
+    @ApiOperation(tags = {"小程序-现金商城"},value = "支付商品")
+    @PostMapping(value = "/app/pay")
+    public R<Map<String, Object>> pay(@RequestBody ExchangeDto exchangeDto) {
+        Long userId = tokenService.getLoginUserApplet().getUserId();
+        TAppUser user = appUserClient.getUserById(userId).getData();
+        boolean isVip = false;
+        if (user.getVipEndTime().isAfter(LocalDateTime.now())){
+            isVip = true;
+        }
+        //计算价格
+        BigDecimal orderPrice = new BigDecimal(0);
+        BigDecimal payPrice = new BigDecimal(0);
+        BigDecimal discountPrice = new BigDecimal(0);
+        BigDecimal vipDiscount = new BigDecimal(0);
+        if (exchangeDto.getGoodType()==1){
+            TGoods good = goodsService.getById(exchangeDto.getGoodId());
+            BigDecimal originalPrice = good.getPreferentialPrice();
+            if (isVip){
+                if (good.getVipPrice()!=null){
+                    vipDiscount = originalPrice.subtract(good.getVipPrice()).multiply(BigDecimal.valueOf(exchangeDto.getNum()));
+                    originalPrice = good.getVipPrice();
+                }
+            }
+            orderPrice.add(originalPrice.multiply(BigDecimal.valueOf(exchangeDto.getNum())));
+        }else {
+            TCoupon coupon = couponService.getById(exchangeDto.getGoodId());
+            BigDecimal originalPrice = coupon.getPaymentAmount();
+            if (isVip){
+                if (coupon.getVipPaymentAmount()!=null) {
+                    vipDiscount = originalPrice.subtract(coupon.getVipPaymentAmount()).multiply(BigDecimal.valueOf(exchangeDto.getNum()));
+                    originalPrice = coupon.getVipPaymentAmount();
+                }
+            }
+            orderPrice.add(originalPrice);
+        }
+
+        exchangeDto.setOrderPrice(orderPrice);
+        //查看是否使用优惠券
+        if(exchangeDto.getCouponId()!=null) {
+            TAppCoupon appCoupon = appUserClient.couponGetById(exchangeDto.getCouponId()).getData();
+            TCoupon coupon = JSON.toJavaObject(JSON.parseObject(appCoupon.getCouponJson()), TCoupon.class);
+            if (coupon.getValidityPeriodMode()==1){
+                if (orderPrice.compareTo(coupon.getMeetTheConditions())<0){
+                    return R.fail("不满足使用优惠券条件");
+                }
+
+            }
+            payPrice = orderPrice.subtract(coupon.getDiscountAmount());
+            discountPrice = coupon.getDiscountAmount();
+        }
+        exchangeDto.setPayPrice(payPrice);
+        exchangeDto.setDiscountPrice(discountPrice);
+        exchangeDto.setVipDiscount(vipDiscount);
+        //创建订单
+        TShoppingOrder shopOrder = orderClient.shopCreate(exchangeDto).getData();
+        if (exchangeDto.getPayMethod()==1) {
+            //调起支付
+            PaymentOrder paymentOrder = new PaymentOrder();
+            paymentOrder.setCode(shopOrder.getCode());
+            paymentOrder.setAmount(shopOrder.getPaymentAmount());
+            paymentOrder.setOpenId(user.getWxOpenid());
+            paymentOrder.setDescription("购买商品");
+         return    wxPaymentClient.orderPay(paymentOrder);
+        }else {
+            //todo 罗 支付宝支付
+            return R.ok();
+        }
+
+
+
+
+    }
 
     
     /**
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
index d8c9658..289bd9d 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
@@ -8,6 +8,7 @@
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.other.api.domain.THtml;
 import com.ruoyi.other.api.domain.TIntegralRule;
+import com.ruoyi.other.api.dto.SaveHtml;
 import com.ruoyi.other.service.THtmlService;
 import com.ruoyi.other.service.TIntegralRuleService;
 import io.swagger.annotations.ApiImplicitParam;
@@ -41,34 +42,9 @@
         return R.ok(res);
     }
     
-    
-    
     @PostMapping("/saveSet")
     @ApiOperation(tags = {"管理后台-积分管理"},value = "保存积分设置")
     public R saveSet(@RequestBody TIntegralRule dto) {
-//        JSONObject jsonObject = JSONObject.parseObject(dto);
-//        String chargeCredit = jsonObject.getString("chargeCredit");
-//        String credit = jsonObject.getString("credit");
-//        String inviteUsersToEarnPoints = jsonObject.getString("inviteUsersToEarnPoints");
-//        String addVehiclesEarnsPoints = jsonObject.getString("addVehiclesEarnsPoints");
-//        String signInForPoints = jsonObject.getString("signInForPoints");
-//        TIntegralRule tIntegralRule = new TIntegralRule();
-//        tIntegralRule.setAddVehiclesEarnsPoints(signInForPoints);
-//        tIntegralRule.setChargeCredit(chargeCredit);
-//        tIntegralRule.setCredit(credit);
-//        tIntegralRule.setSignInForPoints(addVehiclesEarnsPoints);
-//        tIntegralRule.setInviteUsersToEarnPoints(inviteUsersToEarnPoints);
-//        TIntegralRule one = integralRuleService.getOne(null);
-//        if (one!=null){
-//            one.setAddVehiclesEarnsPoints(signInForPoints);
-//            one.setChargeCredit(chargeCredit);
-//            one.setCredit(credit);
-//            one.setSignInForPoints(addVehiclesEarnsPoints);
-//            one.setInviteUsersToEarnPoints(inviteUsersToEarnPoints);
-//            integralRuleService.updateById(one);
-//        }else{
-//            integralRuleService.save(tIntegralRule);
-//        }
         TIntegralRule one = integralRuleService.getOne(null);
         if (one!=null){
             dto.setId(one.getId());
@@ -100,32 +76,17 @@
 
 
 
-    @GetMapping("/saveInfo")
+    @PostMapping("/saveInfo")
     @ApiOperation(tags = {"管理后台-积分管理"},value = "保存积分说明")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "info", value = "内容", required = true),
-            @ApiImplicitParam(name = "type", value = "type 1=积分规则说明,\" +\n" +
-                    "            \"2=会员折扣说明,\" +\n" +
-                    "            \"3=优惠券说明,\" +\n" +
-                    "            \"4=双倍积分说明,\" +\n" +
-                    "            \"5=商城专享价说明,\" +\n" +
-                    "            \"6=会员协议,\" +\n" +
-                    "            \"7=用户协议,\" +\n" +
-                    "            \"8=隐私协议,\" +\n" +
-                    "            \"9=邀请好友说明,\" +\n" +
-                    "            \"10=资质证明,\" +\n" +
-                    "            \"11=开票说明\"", required = true),
-
-    })
-    public R saveInfo(String info,Integer type) {
-        THtml g = htmlService.getOne(new QueryWrapper<THtml>().eq("type",type));
+    public R saveInfo(@RequestBody SaveHtml dto) {
+        THtml g = htmlService.getOne(new QueryWrapper<THtml>().eq("type",dto.getType()));
         if (g == null){
             THtml tHtml = new THtml();
-            tHtml.setType(type);
-            tHtml.setContent(info);
+            tHtml.setType(dto.getType());
+            tHtml.setContent(dto.getInfo());
             htmlService.save(tHtml);
         }else{
-            g.setContent(info);
+            g.setContent(dto.getInfo());
             htmlService.updateById(g);
         }
         return R.ok();
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TNoticeController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TNoticeController.java
index de7171d..4c66c0e 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TNoticeController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TNoticeController.java
@@ -1,6 +1,7 @@
 package com.ruoyi.other.controller;
 
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.other.api.domain.TNotice;
@@ -11,7 +12,9 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
@@ -80,5 +83,14 @@
 
     }
 
+    @ApiOperation(tags = {"小程序-首页-公告管理"},value = "查询")
+    @GetMapping(value = "/list")
+    public AjaxResult<List<TNotice>> list() {
+        return AjaxResult.success(noticeService.list(Wrappers.lambdaQuery(TNotice.class)
+                .le(TNotice::getStartTime, LocalDate.now())
+                .ge(TNotice::getEndTime,LocalDate.now())));
+
+    }
+
 }
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
index 1797317..e0a0fae 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
@@ -130,7 +130,7 @@
                         .last("LIMIT 1")));
             case 2:
                 return R.ok(vipService.getOne(Wrappers.lambdaQuery(TVip.class)
-                        .eq(TVip::getReveal,1)
+                        .eq(TVip::getReveal,1).eq(TVip::getType,1)
                         .orderByAsc(TVip::getMonthlyCard)
                         .last("LIMIT 1")));
             default:
@@ -144,7 +144,7 @@
 
     @ApiOperation(value = "会员信息", tags = {"小程序-个人中心"})
     @PostMapping("/vipInfo")
-    public AjaxResult vipInfo() {
+    public AjaxResult<VipInfoDto> vipInfo() {
         List<VipInfoDto> vipInfoDtos = new ArrayList<>();
         List<TVip> vips = vipService.lambdaQuery().eq(TVip::getReveal, 1).list();
         for (TVip vip : vips) {
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/filter/AuthFilter.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/filter/AuthFilter.java
index 5fab005..d1e25ba 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/filter/AuthFilter.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/filter/AuthFilter.java
@@ -5,11 +5,9 @@
 import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.common.core.constant.TokenConstants;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.utils.JwtUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysUserClient;
-import io.jsonwebtoken.Claims;
 import org.apache.logging.log4j.core.config.Order;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TAdvertisingMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TAdvertisingMapper.xml
index bc87ba2..8a29448 100644
--- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TAdvertisingMapper.xml
+++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TAdvertisingMapper.xml
@@ -15,11 +15,14 @@
         <result column="status" property="status" />
         <result column="create_time" property="createTime" />
         <result column="del_flag" property="delFlag" />
+        <result column="applet_id" property="appletId" />
+        <result column="applet_name" property="appletName" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, name, img, start_time, end_time, position, jump_type, jump_url, status, create_time, del_flag
+        id, name, img, start_time, end_time, position, jump_type, jump_url, status, create_time, del_flag,
+          applet_id, applet_name
     </sql>
     <select id="pageList" resultType="com.ruoyi.other.api.domain.TAdvertising">
         select * from t_advertising
diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml
index 4c7d61e..417dd0b 100644
--- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml
+++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml
@@ -52,13 +52,13 @@
 
     <select id="pageList1" resultType="com.ruoyi.other.api.domain.TGoods">
         SELECT
-            id,name,redeem_points,inventory
+            id,name,redeem_points,inventory,original_price,preferential_price,vip_price
         FROM
             t_goods
         WHERE `status` = 1 and del_flag = 0 and type = #{appGoodQuery.type}
         UNION ALL
         SELECT
-            id,name,redeem_points,inventory_quantity as inventory
+            id,name,redeem_points,inventory_quantity as inventory,payment_amount as preferential_price,vip_payment_amount as vip_price
         FROM
             t_coupon
         WHERE `status`= 1 and del_flag = 0 and type = #{appGoodQuery.type}
diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java
index 51b2238..d51b017 100644
--- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java
+++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java
@@ -87,17 +87,17 @@
     public R<Map<String, Object>> payNotify(HttpServletRequest request) throws Exception {
         try {
             Map<String, Object> params = wxV3Pay.verifyNotify(request, new TypeReference<Map<String, Object>>() {});
+            log.info("支付回调:{}", params);
             String outRefundNo = (String) params.get("out_refund_no");
+            String out_trade_no = params.get("out_trade_no").toString();
             String substring = outRefundNo.substring(0, 2);
             switch (substring){
                 //购物订单
                 case "GW":
-                    //更改订单状态
-                    //如果是优惠卷赠送优惠卷
+
                     break;
             }
 
-            log.info("支付回调:{}", params);
             return R.ok(params);
         } catch (Exception e) {
             log.error("支付回调异常:{}", e, e);
diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java
index a29040f..6bf8113 100644
--- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java
+++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/wx/model/WeixinProperties.java
@@ -1,5 +1,6 @@
 package com.ruoyi.payment.wx.model;
 
+import lombok.Data;
 import lombok.ToString;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.boot.context.properties.NestedConfigurationProperty;
@@ -37,6 +38,10 @@
      * @return secret ID
      */
     private String secretId;
+    /**
+     * 回调地址
+     */
+    private String callBackUrl;
 
     public String getSecretId() {
         return secretId;

--
Gitblit v1.7.1