From fa62e451824491ce385f7d848f323b0332fab3fc Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 06 五月 2025 10:58:14 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/MotorAbortServiceImpl.java                        |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UpdateBalanceServiceImpl.java                     |   51 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QrCodeDeliveryReplyService.java                        |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileReturnsGroundLockDataMessage.java             |   20 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingMessage.java                                      |   46 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ClearOfflineCardReplyMessage.java                         |   88 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryReplyMessage.java                           |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BillingModeVerifyService.java                          |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TransactionRecordService.java                          |   24 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/WorkingParameterSettingReplyServiceImpl.java      |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStopChargingServiceImpl.java              |   51 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRemoteUpdateReplyMessage.java                     |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ClearOfflineCardReplyService.java                      |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PingService.java                                       |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStartChargingService.java                      |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/WorkingParameterSettingReplyService.java               |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TimingSettingServiceImpl.java                     |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingPileReturnsGroundLockDataService.java          |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/config/TopicConstants.java                                        |   10 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OnlineService.java                                     |   20 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SetupBillingModelReplyMessage.java                        |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRemoteUpdateReplyServiceImpl.java         |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UpdateBalanceService.java                              |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStartChargingServiceImpl.java             |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/AcquisitionBillingModeMessage.java                        |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/OnlineMessage.java                                        |   22 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SecurityDetectionService.java                          |   27 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PingServiceImpl.java                              |   62 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QueryOfflineCardReplyMessage.java                         |   64 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OpenOrCloseGroundLockService.java                      |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java      |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SynchronizeOfflineCardService.java                     |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java            |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsAbortServiceImpl.java                          |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/EndChargeService.java                                  |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TimingSettingReplyService.java                         |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/client/ClientMQTT.java                                            |   66 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ClearOfflineCardService.java                           |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/constant/IotConstant.java                                              |   27 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingPileReturnsGroundLockDataServiceImpl.java |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ErrorMessageMessageServiceImpl.java               |   51 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TransactionRecordMessage.java                             |  187 ++
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformConfirmationChargingService.java               |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingMessage.java                                 |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OnlineServiceImpl.java                            |   55 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java        |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRemoteUpdateService.java                       |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsInformationMessage.java                                |   31 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/MotorAbortMessage.java                                    |   22 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UploadRealTimeMonitoringDataMessage.java                  |   37 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryMessage.java                                |   22 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java                                |  168 +
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UploadRealTimeMonitoringDataService.java               |   39 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsDemandAndChargerExportationMessage.java                |   34 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRemoteUpdateServiceImpl.java              |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OnlineReplyService.java                                |   22 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ConfirmTransactionRecordService.java                   |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BillingModeVerifyReplyService.java                     |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ErrorMessageMessageService.java                        |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TimingSettingService.java                              |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingPileStartsChargingServiceImpl.java        |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java       |   50 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SetupBillingModelReplyService.java                     |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BillingModeVerifyMessage.java                             |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsAbortService.java                                   |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStartChargingReplyService.java                 |   26 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingPileStartsChargingService.java                 |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStopChargingService.java                       |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QrCodeDeliveryServiceImpl.java                    |   54 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OpenOrCloseGroundLockServiceImpl.java             |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UpdateBalanceReplyMessage.java                            |   21 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingHandshakeService.java                          |   20 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QueryOfflineCardReplyService.java                      |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRestartReplyMessage.java                          |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ReadRealTimeMonitoringDataService.java                 |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QrCodeDeliveryReplyServiceImpl.java               |   54 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SecurityDetectionMessage.java                             |   21 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java            |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SetupBillingModelServiceImpl.java                 |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java    |   62 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PongService.java                                       |   13 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GunStatusMessage.java                                     |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRestartService.java                            |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GroundLockRealTimeDataMessage.java                        |   23 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java            |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java         |   65 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStartChargingReplyMessage.java                    |   22 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QueryOfflineCardServiceImpl.java                  |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/AcquisitionBillingModeReplyService.java                |   20 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/pool/ThreadPoolDemo.java                                               |  240 ++
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsInformationServiceImpl.java                    |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TransactionRecordServiceImpl.java                 |   66 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PingMessage.java                                          |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SynchronizeOfflineCardReplyMessage.java                   |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PongServiceImpl.java                              |   45 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UpdateBalanceReplyService.java                         |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/callback/PushCallback.java                                        |   70 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SecurityDetectionServiceImpl.java                 |   66 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/WorkingParameterSettingReplyMessage.java                  |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/GroundLockRealTimeDataService.java                     |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRestartServiceImpl.java                   |   49 
 ruoyi-service/ruoyi-jianguan/pom.xml                                                                                                 |   15 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ParameterSettingService.java                           |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/EndChargeServiceImpl.java                         |   51 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SynchronizeOfflineCardReplyService.java                |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TimingSettingReplyServiceImpl.java                |   50 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ParameterSettingMessage.java                              |   33 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsDemandAndChargerExportationService.java             |   27 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/AcquisitionBillingModeService.java                     |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingOrderMessage.java                                 |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRemoteUpdateReplyService.java                  |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java        |   65 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BillingModeVerifyServiceImpl.java                 |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SetupBillingModelService.java                          |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SynchronizeOfflineCardReplyServiceImpl.java       |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java          |   51 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRestartReplyServiceImpl.java              |   50 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SynchronizeOfflineCardServiceImpl.java            |   51 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingReplyMessage.java                            |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QueryOfflineCardReplyServiceImpl.java             |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ErrorMessageMessage.java                                  |   38 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ParameterSettingServiceImpl.java                  |   51 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingHandshakeServiceImpl.java                 |   55 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileStartsChargingMessage.java                    |   23 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/WorkingParameterSettingService.java                    |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStopChargingReplyMessage.java                     |   21 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UpdateBalanceReplyServiceImpl.java                |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/WorkingParameterSettingServiceImpl.java           |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/base/BaseService.java                                          |   28 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ClearOfflineCardServiceImpl.java                  |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRestartReplyService.java                       |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java      |  189 ++
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStopChargingReplyService.java                  |   24 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QueryOfflineCardService.java                           |   17 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java                                            |  167 +
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OnlineReplyServiceImpl.java                       |   54 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QrCodeDeliveryService.java                             |   19 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java            |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/EndChargeMessage.java                                     |   29 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/MotorAbortService.java                                 |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingHandshakeMessage.java                             |   36 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsInformationService.java                             |   18 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ClearOfflineCardReplyServiceImpl.java             |   49 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsAbortMessage.java                                      |   22 
 144 files changed, 5,563 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-jianguan/pom.xml b/ruoyi-service/ruoyi-jianguan/pom.xml
index 71d6251..02741fa 100644
--- a/ruoyi-service/ruoyi-jianguan/pom.xml
+++ b/ruoyi-service/ruoyi-jianguan/pom.xml
@@ -145,6 +145,21 @@
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-api-chargingPile</artifactId>
         </dependency>
+
+        <!-- mqtt  -->
+        <dependency>
+            <groupId>org.springframework.integration</groupId>
+            <artifactId>spring-integration-stream</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.integration</groupId>
+            <artifactId>spring-integration-mqtt</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-integration</artifactId>
+        </dependency>
+
     </dependencies>
 
     <build>
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/constant/IotConstant.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/constant/IotConstant.java
new file mode 100644
index 0000000..8903c4b
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/constant/IotConstant.java
@@ -0,0 +1,27 @@
+package com.ruoyi.jianguan.constant;
+
+public class IotConstant {
+    public static final int SUCCESS = 1;
+    public static final int FAIL = 0;
+    /**
+     * 华为云iot  token
+     */
+    public static final String IOT_TOKEN = "iot_token";
+    /**
+     * 模式
+     */
+    public static final String PASSWORD = "password";
+    /**
+     * URL
+     */
+    public static final String URL = "https://94cb3eb5f9.st1.iotda-app.cn-south-1.myhuaweicloud.com";
+    /**
+     * 创建产品
+     */
+    public static final String CREATE_PRODUCT = URL+"/v5/iot/{project_id}/products";
+    /**
+     * 创建产品
+     */
+    public static final String DELETE_PRODUCT = URL+"/v5/iot/{project_id}/products/{product_id}";
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java
new file mode 100644
index 0000000..fab531d
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/governmentCloud/UploadDataTaskUtil.java
@@ -0,0 +1,168 @@
+package com.ruoyi.jianguan.governmentCloud;
+
+
+import com.ruoyi.jianguan.mongodb.service.*;
+import io.netty.util.concurrent.DefaultThreadFactory;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.concurrent.*;
+
+/**
+ * 定时上传政务云数据
+ */
+@Slf4j
+@Component
+public class UploadDataTaskUtil {
+
+    @Autowired
+    private AcquisitionBillingModeService acquisitionBillingModeService;
+    @Autowired
+    private BillingModeVerifyService billingModeVerifyService;
+    @Autowired
+    private BmsAbortService bmsAbortService;
+    @Autowired
+    private BmsDemandAndChargerExportationService bmsDemandAndChargerExportationService;
+    @Autowired
+    private OnlineService onlineService;
+    @Autowired
+    private EndChargeService endChargeService;
+    @Autowired
+    private ErrorMessageMessageService errorMessageMessageService;
+    @Autowired
+    private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService;
+    @Autowired
+    private ChargingHandshakeService chargingHandshakeService;
+    @Autowired
+    private ParameterSettingService parameterSettingService;
+    @Autowired
+    private MotorAbortService motorAbortService;
+    @Autowired
+    private BmsInformationService bmsInformationService;
+    @Autowired
+    private ChargingPileStartsChargingService chargingPileStartsChargingService;
+    @Autowired
+    private PlatformStartChargingReplyService platformStartChargingReplyService;
+    @Autowired
+    private PlatformStopChargingReplyService platformStopChargingReplyService;
+    @Autowired
+    private TransactionRecordService transactionRecordService;
+    @Autowired
+    private UpdateBalanceReplyService updateBalanceReplyService;
+    @Autowired
+    private SynchronizeOfflineCardReplyService synchronizeOfflineCardReplyService;
+    @Autowired
+    private ClearOfflineCardReplyService clearOfflineCardReplyService;
+    @Autowired
+    private WorkingParameterSettingReplyService workingParameterSettingReplyService;
+    @Autowired
+    private TimingSettingService timingSettingService;
+    @Autowired
+    private SetupBillingModelReplyService setupBillingModelReplyService;
+    @Autowired
+    private GroundLockRealTimeDataService groundLockRealTimeDataService;
+    @Autowired
+    private ChargingPileReturnsGroundLockDataService chargingPileReturnsGroundLockDataService;
+    @Autowired
+    private PlatformRestartReplyService platformRestartReplyService;
+    @Autowired
+    private PlatformRemoteUpdateReplyService platformRemoteUpdateReplyService;
+    @Autowired
+    private QrCodeDeliveryReplyService qrCodeDeliveryReplyService;
+    @Autowired
+    private SecurityDetectionService securityDetectionService;
+
+    /**
+     * 每天的9点执行的任务
+     */
+    @Scheduled(cron = "0 0 9 * * *")
+    public void taskDay(){
+        try {
+            // 传输mongodb的硬件数据
+            createCustomThreadPool();
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 创建自定义线程池
+     * 特点:
+     * 1. 支持定时及周期性任务
+     * 2. 核心线程数固定,但可以不断创建新线程执行后续任务
+     * 3. 适用于需要定时执行或周期性执行的场景
+     */
+    @SneakyThrows
+    public static void createCustomThreadPool() {
+        /*
+          创建自定义线程池
+          字段:
+          1. corePoolSize:核心线程池数量
+          2. maximumPoolSize: 最大线程池数量
+          3. keepAliveTime: 线程空闲时间
+          4. unit: 时间单位
+          5. workQueue: 阻塞队列
+          5. threadFactory: 线程工厂
+          5. handler: 拒绝策略
+         */
+        ThreadPoolExecutor customthreadPoolExecutor = new ThreadPoolExecutor(
+                5,                                              // 根据CPU核心数设置
+                10,                                                         // 最大应急线程数
+                30, TimeUnit.SECONDS,                                       // 空闲线程存活时间
+                new ArrayBlockingQueue<>(100),                      // 有界队列防止内存溢出
+                new DefaultThreadFactory("custom-thread-pool"),   // 自定义线程命名
+                new ThreadPoolExecutor.CallerRunsPolicy()                   // 拒绝策略
+        );
+
+        try {
+            log.info("\n================ 普通任务执行 ================");
+            customthreadPoolExecutor.execute(() -> {
+
+
+
+            });
+
+            TimeUnit.MILLISECONDS.sleep(1);
+
+            log.info("\n================ 带返回值的任务执行 ================");
+            Future<String> future = customthreadPoolExecutor.submit(() -> {
+                log.info("线程:{},办理业务", Thread.currentThread().getName());
+                return "业务办理完成";
+            });
+            log.info(future.get());
+        } finally {
+            gracefulShutdown(customthreadPoolExecutor);
+        }
+    }
+
+
+    /**
+     * 优雅关闭线程池通用方法
+     *
+     * @param pool 需要关闭的线程池
+     */
+    private static void gracefulShutdown(ExecutorService pool) {
+        pool.shutdown(); // 拒绝新任务提交
+        try {
+            // 等待现有任务完成
+            if (!pool.awaitTermination(60, TimeUnit.SECONDS)) {
+                pool.shutdownNow(); // 取消等待中的任务 只等待运行中的任务
+                // 再次等待任务响应中断
+                if (!pool.awaitTermination(60, TimeUnit.SECONDS)) {
+                    log.error("线程池未完全关闭");
+                }
+            }
+        } catch (InterruptedException e) {
+            // 重新尝试关闭
+            pool.shutdownNow();
+            Thread.currentThread().interrupt();
+        } finally {
+            log.info("线程池是否执行完成:{}", pool.isTerminated());
+        }
+    }
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/base/BaseService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/base/BaseService.java
new file mode 100644
index 0000000..6c7f175
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/base/BaseService.java
@@ -0,0 +1,28 @@
+package com.ruoyi.jianguan.mongodb.base;
+
+
+import java.util.List;
+
+public interface BaseService<T> {
+
+    /**
+     * 添加
+     * @param t 实体类
+     * @return 添加结果 1=成功 0=失败
+     */
+    int create(T t);
+
+    /**
+     * 根据id查询
+     * @param id 实体id
+     * @return 实体对象
+     */
+    T findById(String id);
+
+    /**
+     * 查询列表
+     * @return 实体列表
+     */
+    List<T> findAll();
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/AcquisitionBillingModeReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/AcquisitionBillingModeReplyService.java
new file mode 100644
index 0000000..06e46e9
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/AcquisitionBillingModeReplyService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.AcquisitionBillingMode;
+import com.ruoyi.integration.api.model.AcquisitionBillingModeReply;
+import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface AcquisitionBillingModeReplyService extends BaseService<AcquisitionBillingModeReply> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<AcquisitionBillingModeReply> getRangeTimeData(String startTime, String endTime);
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/AcquisitionBillingModeService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/AcquisitionBillingModeService.java
new file mode 100644
index 0000000..ffb61d9
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/AcquisitionBillingModeService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.AcquisitionBillingMode;
+import com.ruoyi.integration.api.model.AcquisitionBillingModeReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface AcquisitionBillingModeService extends BaseService<AcquisitionBillingMode> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<AcquisitionBillingMode> getRangeTimeData(String startTime, String endTime);
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BillingModeVerifyReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BillingModeVerifyReplyService.java
new file mode 100644
index 0000000..c508bdb
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BillingModeVerifyReplyService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.AcquisitionBillingModeReply;
+import com.ruoyi.integration.api.model.BillingModeVerifyReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface BillingModeVerifyReplyService extends BaseService<BillingModeVerifyReply> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<BillingModeVerifyReply> getRangeTimeData(String startTime, String endTime);
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BillingModeVerifyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BillingModeVerifyService.java
new file mode 100644
index 0000000..7970e53
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BillingModeVerifyService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.BillingModeVerify;
+import com.ruoyi.integration.api.model.BillingModeVerifyReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface BillingModeVerifyService extends BaseService<BillingModeVerify> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<BillingModeVerify> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsAbortService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsAbortService.java
new file mode 100644
index 0000000..db79dde
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsAbortService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.BillingModeVerify;
+import com.ruoyi.integration.api.model.BmsAbort;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface BmsAbortService extends BaseService<BmsAbort> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<BmsAbort> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsDemandAndChargerExportationService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsDemandAndChargerExportationService.java
new file mode 100644
index 0000000..0160b3b
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsDemandAndChargerExportationService.java
@@ -0,0 +1,27 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.BmsAbort;
+import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface BmsDemandAndChargerExportationService extends BaseService<BmsDemandAndChargerExportation> {
+	
+	
+	/**
+	 * 获取bms数据
+	 * @param orderCode
+	 * @return
+	 */
+	List<BmsDemandAndChargerExportation> getBmsDemandAndChargerExportation(String orderCode);
+
+	/**
+	 * 获取前一日的所有数据数据
+	 * @param startTime 开始时间
+	 * @param endTime 结束时间
+	 * @return
+	 */
+	List<BmsDemandAndChargerExportation> getRangeTimeData(String startTime, String endTime);
+	
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsInformationService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsInformationService.java
new file mode 100644
index 0000000..5778d1c
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/BmsInformationService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.BmsAbort;
+import com.ruoyi.integration.api.model.BmsInformation;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface BmsInformationService extends BaseService<BmsInformation> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<BmsInformation> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingHandshakeService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingHandshakeService.java
new file mode 100644
index 0000000..e1894af
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingHandshakeService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.BmsInformation;
+import com.ruoyi.integration.api.model.ChargingHandshake;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface ChargingHandshakeService extends BaseService<ChargingHandshake> {
+	
+	
+	ChargingHandshake getDataByOrderCode(String code);
+	/**
+	 * 获取前一日的所有数据数据
+	 * @param startTime 开始时间
+	 * @param endTime 结束时间
+	 * @return
+	 */
+	List<ChargingHandshake> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingPileReturnsGroundLockDataService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingPileReturnsGroundLockDataService.java
new file mode 100644
index 0000000..5874e48
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingPileReturnsGroundLockDataService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.ChargingHandshake;
+import com.ruoyi.integration.api.model.ChargingPileReturnsGroundLockData;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface ChargingPileReturnsGroundLockDataService extends BaseService<ChargingPileReturnsGroundLockData> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<ChargingPileReturnsGroundLockData> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingPileStartsChargingService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingPileStartsChargingService.java
new file mode 100644
index 0000000..ab80f81
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ChargingPileStartsChargingService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.ChargingPileReturnsGroundLockData;
+import com.ruoyi.integration.api.model.ChargingPileStartsCharging;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface ChargingPileStartsChargingService extends BaseService<ChargingPileStartsCharging> {
+
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<ChargingPileStartsCharging> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ClearOfflineCardReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ClearOfflineCardReplyService.java
new file mode 100644
index 0000000..0915b61
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ClearOfflineCardReplyService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.ChargingPileStartsCharging;
+import com.ruoyi.integration.api.model.ClearOfflineCardReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface ClearOfflineCardReplyService extends BaseService<ClearOfflineCardReply> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<ClearOfflineCardReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ClearOfflineCardService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ClearOfflineCardService.java
new file mode 100644
index 0000000..c3480b9
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ClearOfflineCardService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.ClearOfflineCard;
+import com.ruoyi.integration.api.model.ClearOfflineCardReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface ClearOfflineCardService extends BaseService<ClearOfflineCard> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<ClearOfflineCard> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ConfirmTransactionRecordService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ConfirmTransactionRecordService.java
new file mode 100644
index 0000000..9d61e51
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ConfirmTransactionRecordService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.ClearOfflineCard;
+import com.ruoyi.integration.api.model.ConfirmTransactionRecord;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface ConfirmTransactionRecordService extends BaseService<ConfirmTransactionRecord> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<ConfirmTransactionRecord> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/EndChargeService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/EndChargeService.java
new file mode 100644
index 0000000..2cdc178
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/EndChargeService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.ConfirmTransactionRecord;
+import com.ruoyi.integration.api.model.EndCharge;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface EndChargeService extends BaseService<EndCharge> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<EndCharge> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ErrorMessageMessageService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ErrorMessageMessageService.java
new file mode 100644
index 0000000..fea698b
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ErrorMessageMessageService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.EndCharge;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+import com.ruoyi.jianguan.rocket.model.ErrorMessageMessage;
+
+import java.util.List;
+
+public interface ErrorMessageMessageService extends BaseService<ErrorMessageMessage> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<ErrorMessageMessage> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/GroundLockRealTimeDataService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/GroundLockRealTimeDataService.java
new file mode 100644
index 0000000..7e9248f
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/GroundLockRealTimeDataService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.GroundLockRealTimeData;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+import com.ruoyi.jianguan.rocket.model.ErrorMessageMessage;
+
+import java.util.List;
+
+public interface GroundLockRealTimeDataService extends BaseService<GroundLockRealTimeData> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<GroundLockRealTimeData> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/MotorAbortService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/MotorAbortService.java
new file mode 100644
index 0000000..8696c4e
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/MotorAbortService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.GroundLockRealTimeData;
+import com.ruoyi.integration.api.model.MotorAbort;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface MotorAbortService extends BaseService<MotorAbort> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<MotorAbort> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OnlineReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OnlineReplyService.java
new file mode 100644
index 0000000..32db915
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OnlineReplyService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.MotorAbort;
+import com.ruoyi.integration.api.model.OnlineReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+/**
+ * 登录认证应答接口
+ */
+public interface OnlineReplyService extends BaseService<OnlineReply> {
+
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<OnlineReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OnlineService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OnlineService.java
new file mode 100644
index 0000000..c7ce4cf
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OnlineService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.OnlineReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+/**
+ * 充电桩登录认证接口
+ */
+public interface OnlineService extends BaseService<Online> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<Online> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OpenOrCloseGroundLockService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OpenOrCloseGroundLockService.java
new file mode 100644
index 0000000..c3e1f58
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/OpenOrCloseGroundLockService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.OpenOrCloseGroundLock;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface OpenOrCloseGroundLockService extends BaseService<OpenOrCloseGroundLock> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<OpenOrCloseGroundLock> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ParameterSettingService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ParameterSettingService.java
new file mode 100644
index 0000000..ae80189
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ParameterSettingService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.OpenOrCloseGroundLock;
+import com.ruoyi.integration.api.model.ParameterSetting;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface ParameterSettingService extends BaseService<ParameterSetting> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<ParameterSetting> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PingService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PingService.java
new file mode 100644
index 0000000..88457f6
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PingService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.Ping;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+public interface PingService extends BaseService<Ping> {
+	
+	/**
+	 * 定时删除数据
+	 */
+	void delPing();
+	
+	
+	/**
+	 * 保存数据
+	 * @param ping
+	 */
+	void save(Ping ping);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformConfirmationChargingService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformConfirmationChargingService.java
new file mode 100644
index 0000000..e7a479b
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformConfirmationChargingService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.OnlineReply;
+import com.ruoyi.integration.api.model.PlatformConfirmationCharging;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface PlatformConfirmationChargingService extends BaseService<PlatformConfirmationCharging> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<PlatformConfirmationCharging> getRangeTimeData(String startTime, String endTime);
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRemoteUpdateReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRemoteUpdateReplyService.java
new file mode 100644
index 0000000..b2c6144
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRemoteUpdateReplyService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformConfirmationCharging;
+import com.ruoyi.integration.api.model.PlatformRemoteUpdateReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface PlatformRemoteUpdateReplyService extends BaseService<PlatformRemoteUpdateReply> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<PlatformRemoteUpdateReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRemoteUpdateService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRemoteUpdateService.java
new file mode 100644
index 0000000..2a73978
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRemoteUpdateService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformRemoteUpdate;
+import com.ruoyi.integration.api.model.PlatformRemoteUpdateReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface PlatformRemoteUpdateService extends BaseService<PlatformRemoteUpdate> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<PlatformRemoteUpdate> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRestartReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRestartReplyService.java
new file mode 100644
index 0000000..018f461
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRestartReplyService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformRemoteUpdate;
+import com.ruoyi.integration.api.model.PlatformRestartReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface PlatformRestartReplyService extends BaseService<PlatformRestartReply> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<PlatformRestartReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRestartService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRestartService.java
new file mode 100644
index 0000000..cf3ab74
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformRestartService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformRestart;
+import com.ruoyi.integration.api.model.PlatformRestartReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface PlatformRestartService extends BaseService<PlatformRestart> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<PlatformRestart> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStartChargingReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStartChargingReplyService.java
new file mode 100644
index 0000000..19f7a71
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStartChargingReplyService.java
@@ -0,0 +1,26 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformRestart;
+import com.ruoyi.integration.api.model.PlatformStartChargingReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface PlatformStartChargingReplyService extends BaseService<PlatformStartChargingReply> {
+	
+	/**
+	 * 根据订单编号查询远程启机应答数据
+	 * @param code
+	 * @return
+	 */
+	List<PlatformStartChargingReply> getPlatformStartChargingReply(String code);
+
+	/**
+	 * 获取前一日的所有数据数据
+	 * @param startTime 开始时间
+	 * @param endTime 结束时间
+	 * @return
+	 */
+	List<PlatformStartChargingReply> getRangeTimeData(String startTime, String endTime);
+	
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStartChargingService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStartChargingService.java
new file mode 100644
index 0000000..f033c2d
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStartChargingService.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformStartCharging;
+import com.ruoyi.integration.api.model.PlatformStartChargingReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface PlatformStartChargingService extends BaseService<PlatformStartCharging> {
+
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<PlatformStartCharging> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStopChargingReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStopChargingReplyService.java
new file mode 100644
index 0000000..3d8a560
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStopChargingReplyService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformStartCharging;
+import com.ruoyi.integration.api.model.PlatformStopChargingReply;
+import com.ruoyi.integration.api.vo.GetPlatformStopChargingReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface PlatformStopChargingReplyService extends BaseService<PlatformStopChargingReply> {
+	
+	/**
+	 * 根据枪编号获取停机应答
+	 * @return
+	 */
+	PlatformStopChargingReply getPlatformStopChargingReply(GetPlatformStopChargingReply query);
+	/**
+	 * 获取前一日的所有数据数据
+	 * @param startTime 开始时间
+	 * @param endTime 结束时间
+	 * @return
+	 */
+	List<PlatformStopChargingReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStopChargingService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStopChargingService.java
new file mode 100644
index 0000000..6508000
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PlatformStopChargingService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformStopCharging;
+import com.ruoyi.integration.api.model.PlatformStopChargingReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface PlatformStopChargingService extends BaseService<PlatformStopCharging> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<PlatformStopCharging> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PongService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PongService.java
new file mode 100644
index 0000000..12e731c
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/PongService.java
@@ -0,0 +1,13 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.Pong;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+/**
+ * 心跳包应答接口
+ */
+public interface PongService extends BaseService<Pong> {
+	
+	void delPong();
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QrCodeDeliveryReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QrCodeDeliveryReplyService.java
new file mode 100644
index 0000000..20acbf8
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QrCodeDeliveryReplyService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.PlatformStopCharging;
+import com.ruoyi.integration.api.model.QrCodeDeliveryReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+/**
+ */
+public interface QrCodeDeliveryReplyService extends BaseService<QrCodeDeliveryReply> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<QrCodeDeliveryReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QrCodeDeliveryService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QrCodeDeliveryService.java
new file mode 100644
index 0000000..e435a92
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QrCodeDeliveryService.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.QrCodeDelivery;
+import com.ruoyi.integration.api.model.QrCodeDeliveryReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+/**
+ */
+public interface QrCodeDeliveryService extends BaseService<QrCodeDelivery> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<QrCodeDelivery> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QueryOfflineCardReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QueryOfflineCardReplyService.java
new file mode 100644
index 0000000..3056ab7
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QueryOfflineCardReplyService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.QrCodeDelivery;
+import com.ruoyi.integration.api.model.QueryOfflineCardReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface QueryOfflineCardReplyService extends BaseService<QueryOfflineCardReply> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<QueryOfflineCardReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QueryOfflineCardService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QueryOfflineCardService.java
new file mode 100644
index 0000000..17ec661
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/QueryOfflineCardService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.QueryOfflineCard;
+import com.ruoyi.integration.api.model.QueryOfflineCardReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface QueryOfflineCardService extends BaseService<QueryOfflineCard> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<QueryOfflineCard> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ReadRealTimeMonitoringDataService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ReadRealTimeMonitoringDataService.java
new file mode 100644
index 0000000..6d14223
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/ReadRealTimeMonitoringDataService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.QueryOfflineCard;
+import com.ruoyi.integration.api.model.ReadRealTimeMonitoringData;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface ReadRealTimeMonitoringDataService extends BaseService<ReadRealTimeMonitoringData> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<ReadRealTimeMonitoringData> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SecurityDetectionService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SecurityDetectionService.java
new file mode 100644
index 0000000..e122029
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SecurityDetectionService.java
@@ -0,0 +1,27 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.ReadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.SecurityDetection;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+/**
+ */
+public interface SecurityDetectionService extends BaseService<SecurityDetection> {
+	
+	
+	/**
+	 * 根据业务流水号查询数据
+	 * @param transactionSerialNumber
+	 * @return
+	 */
+	SecurityDetection getSecurityDetection(String transactionSerialNumber);
+	/**
+	 * 获取前一日的所有数据数据
+	 * @param startTime 开始时间
+	 * @param endTime 结束时间
+	 * @return
+	 */
+	List<SecurityDetection> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SetupBillingModelReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SetupBillingModelReplyService.java
new file mode 100644
index 0000000..1d3d576
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SetupBillingModelReplyService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.SecurityDetection;
+import com.ruoyi.integration.api.model.SetupBillingModelReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface SetupBillingModelReplyService extends BaseService<SetupBillingModelReply> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<SetupBillingModelReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SetupBillingModelService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SetupBillingModelService.java
new file mode 100644
index 0000000..b326492
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SetupBillingModelService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.SetupBillingModel;
+import com.ruoyi.integration.api.model.SetupBillingModelReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface SetupBillingModelService extends BaseService<SetupBillingModel> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<SetupBillingModel> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SynchronizeOfflineCardReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SynchronizeOfflineCardReplyService.java
new file mode 100644
index 0000000..74f0c25
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SynchronizeOfflineCardReplyService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.SetupBillingModel;
+import com.ruoyi.integration.api.model.SynchronizeOfflineCardReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface SynchronizeOfflineCardReplyService extends BaseService<SynchronizeOfflineCardReply> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<SynchronizeOfflineCardReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SynchronizeOfflineCardService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SynchronizeOfflineCardService.java
new file mode 100644
index 0000000..b8c60f6
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/SynchronizeOfflineCardService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.SynchronizeOfflineCard;
+import com.ruoyi.integration.api.model.SynchronizeOfflineCardReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface SynchronizeOfflineCardService extends BaseService<SynchronizeOfflineCard> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<SynchronizeOfflineCard> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TimingSettingReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TimingSettingReplyService.java
new file mode 100644
index 0000000..ccdada5
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TimingSettingReplyService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.SynchronizeOfflineCard;
+import com.ruoyi.integration.api.model.TimingSettingReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface TimingSettingReplyService extends BaseService<TimingSettingReply> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<TimingSettingReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TimingSettingService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TimingSettingService.java
new file mode 100644
index 0000000..10542a4
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TimingSettingService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.TimingSetting;
+import com.ruoyi.integration.api.model.TimingSettingReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface TimingSettingService extends BaseService<TimingSetting> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<TimingSetting> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TransactionRecordService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TransactionRecordService.java
new file mode 100644
index 0000000..ae8723d
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/TransactionRecordService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.TimingSetting;
+import com.ruoyi.integration.api.model.TransactionRecord;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface TransactionRecordService extends BaseService<TransactionRecord> {
+	
+	/**
+	 * 根据订单流水号查询数据
+	 * @param code
+	 * @return
+	 */
+	TransactionRecord findOne(String code);
+	/**
+	 * 获取前一日的所有数据数据
+	 * @param startTime 开始时间
+	 * @param endTime 结束时间
+	 * @return
+	 */
+	List<TransactionRecord> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UpdateBalanceReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UpdateBalanceReplyService.java
new file mode 100644
index 0000000..09496cc
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UpdateBalanceReplyService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.TransactionRecord;
+import com.ruoyi.integration.api.model.UpdateBalanceReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface UpdateBalanceReplyService extends BaseService<UpdateBalanceReply> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<UpdateBalanceReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UpdateBalanceService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UpdateBalanceService.java
new file mode 100644
index 0000000..417e684
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UpdateBalanceService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.UpdateBalance;
+import com.ruoyi.integration.api.model.UpdateBalanceReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface UpdateBalanceService extends BaseService<UpdateBalance> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<UpdateBalance> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UploadRealTimeMonitoringDataService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UploadRealTimeMonitoringDataService.java
new file mode 100644
index 0000000..53c7a51
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/UploadRealTimeMonitoringDataService.java
@@ -0,0 +1,39 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
+import com.ruoyi.integration.api.model.UpdateBalance;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.text.ParseException;
+import java.util.List;
+
+public interface UploadRealTimeMonitoringDataService extends BaseService<UploadRealTimeMonitoringData> {
+	
+	/**
+	 * 根据订单号查询监控数据
+	 * @param code
+	 * @return
+	 */
+	List<UploadRealTimeMonitoringData> getDataByOrderCode(String code);
+	UploadRealTimeMonitoringPageData getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException;
+
+	/**
+	 * 查询订单最新一条数据
+	 * @param transaction_serial_number
+	 * @return
+	 */
+    UploadRealTimeMonitoringData getLastDataById(String transaction_serial_number);
+
+	void delete(String id);
+
+	void updateById(String id);
+	/**
+	 * 获取前一日的所有数据数据
+	 * @param startTime 开始时间
+	 * @param endTime 结束时间
+	 * @return
+	 */
+	List<UploadRealTimeMonitoringData> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/WorkingParameterSettingReplyService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/WorkingParameterSettingReplyService.java
new file mode 100644
index 0000000..11f56b9
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/WorkingParameterSettingReplyService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.WorkingParameterSettingReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface WorkingParameterSettingReplyService extends BaseService<WorkingParameterSettingReply> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<WorkingParameterSettingReply> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/WorkingParameterSettingService.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/WorkingParameterSettingService.java
new file mode 100644
index 0000000..a048e2c
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/WorkingParameterSettingService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.mongodb.service;
+
+import com.ruoyi.integration.api.model.WorkingParameterSetting;
+import com.ruoyi.integration.api.model.WorkingParameterSettingReply;
+import com.ruoyi.jianguan.mongodb.base.BaseService;
+
+import java.util.List;
+
+public interface WorkingParameterSettingService extends BaseService<WorkingParameterSetting> {
+    /**
+     * 获取前一日的所有数据数据
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return
+     */
+    List<WorkingParameterSetting> getRangeTimeData(String startTime, String endTime);
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java
new file mode 100644
index 0000000..a82b68c
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java
@@ -0,0 +1,50 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.AcquisitionBillingModeReply;
+import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.AcquisitionBillingModeReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+@Service
+public class AcquisitionBillingModeReplyServiceImpl implements AcquisitionBillingModeReplyService {
+
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(AcquisitionBillingModeReply acquisitionBillingModeReply) {
+        mongoTemplate.save(acquisitionBillingModeReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public AcquisitionBillingModeReply findById(String id) {
+        return mongoTemplate.findById(id, AcquisitionBillingModeReply.class);
+    }
+
+    @Override
+    public List<AcquisitionBillingModeReply> findAll() {
+        return mongoTemplate.findAll(AcquisitionBillingModeReply.class);
+    }
+
+    @Override
+    public List<AcquisitionBillingModeReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<AcquisitionBillingModeReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , AcquisitionBillingModeReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java
new file mode 100644
index 0000000..b6e2f29
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.AcquisitionBillingMode;
+import com.ruoyi.integration.api.model.AcquisitionBillingModeReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.AcquisitionBillingModeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+    @Override
+    public List<AcquisitionBillingMode> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<AcquisitionBillingMode> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , AcquisitionBillingMode.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java
new file mode 100644
index 0000000..173d519
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.AcquisitionBillingMode;
+import com.ruoyi.integration.api.model.BillingModeVerifyReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.BillingModeVerifyReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+@Service
+public class BillingModeVerifyReplyServiceImpl implements BillingModeVerifyReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(BillingModeVerifyReply billingModeVerifyReply) {
+        mongoTemplate.save(billingModeVerifyReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public BillingModeVerifyReply findById(String id) {
+        return mongoTemplate.findById(id, BillingModeVerifyReply.class);
+    }
+
+    @Override
+    public List<BillingModeVerifyReply> findAll() {
+        return mongoTemplate.findAll(BillingModeVerifyReply.class);
+    }
+
+    @Override
+    public List<BillingModeVerifyReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<BillingModeVerifyReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , BillingModeVerifyReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BillingModeVerifyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BillingModeVerifyServiceImpl.java
new file mode 100644
index 0000000..b74f0c2
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BillingModeVerifyServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.BillingModeVerify;
+import com.ruoyi.integration.api.model.BillingModeVerifyReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.BillingModeVerifyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<BillingModeVerify> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<BillingModeVerify> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , BillingModeVerify.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsAbortServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsAbortServiceImpl.java
new file mode 100644
index 0000000..3e9b0e7
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsAbortServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.BillingModeVerify;
+import com.ruoyi.integration.api.model.BmsAbort;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.BmsAbortService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<BmsAbort> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<BmsAbort> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , BmsAbort.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java
new file mode 100644
index 0000000..3580056
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java
@@ -0,0 +1,62 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.BmsAbort;
+import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.BmsDemandAndChargerExportationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+    
+    
+    @Override
+    public List<BmsDemandAndChargerExportation> getBmsDemandAndChargerExportation(String orderCode) {
+        Query query = new Query();
+        if(StringUtils.isNotEmpty(orderCode)){
+            query.addCriteria(Criteria.where("transaction_serial_number").is(orderCode));
+        }
+        List<BmsDemandAndChargerExportation> uploadRealTimeMonitoringData = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , BmsDemandAndChargerExportation.class);
+        return uploadRealTimeMonitoringData;
+    }
+
+    @Override
+    public List<BmsDemandAndChargerExportation> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<BmsDemandAndChargerExportation> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , BmsDemandAndChargerExportation.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsInformationServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsInformationServiceImpl.java
new file mode 100644
index 0000000..a69f5bd
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/BmsInformationServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
+import com.ruoyi.integration.api.model.BmsInformation;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.BmsInformationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<BmsInformation> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<BmsInformation> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , BmsInformation.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingHandshakeServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingHandshakeServiceImpl.java
new file mode 100644
index 0000000..89bf4b1
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingHandshakeServiceImpl.java
@@ -0,0 +1,55 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.BmsInformation;
+import com.ruoyi.integration.api.model.ChargingHandshake;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.ChargingHandshakeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+    
+    @Override
+    public ChargingHandshake getDataByOrderCode(String code) {
+        List<ChargingHandshake> charging_gun_code = mongoTemplate.find(new Query().addCriteria(Criteria.where("transaction_serial_number").is(code)), ChargingHandshake.class);
+        return charging_gun_code.size() > 0 ? charging_gun_code.get(0) : null;
+    }
+
+    @Override
+    public List<ChargingHandshake> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<ChargingHandshake> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , ChargingHandshake.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingPileReturnsGroundLockDataServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingPileReturnsGroundLockDataServiceImpl.java
new file mode 100644
index 0000000..9a6fc3e
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingPileReturnsGroundLockDataServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.ChargingHandshake;
+import com.ruoyi.integration.api.model.ChargingPileReturnsGroundLockData;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.ChargingPileReturnsGroundLockDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<ChargingPileReturnsGroundLockData> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<ChargingPileReturnsGroundLockData> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , ChargingPileReturnsGroundLockData.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingPileStartsChargingServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingPileStartsChargingServiceImpl.java
new file mode 100644
index 0000000..059dcce
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ChargingPileStartsChargingServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.ChargingPileReturnsGroundLockData;
+import com.ruoyi.integration.api.model.ChargingPileStartsCharging;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.ChargingPileStartsChargingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<ChargingPileStartsCharging> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<ChargingPileStartsCharging> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , ChargingPileStartsCharging.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ClearOfflineCardReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ClearOfflineCardReplyServiceImpl.java
new file mode 100644
index 0000000..a6cdfaa
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ClearOfflineCardReplyServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.ChargingPileStartsCharging;
+import com.ruoyi.integration.api.model.ClearOfflineCardReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.ClearOfflineCardReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<ClearOfflineCardReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<ClearOfflineCardReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , ClearOfflineCardReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ClearOfflineCardServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ClearOfflineCardServiceImpl.java
new file mode 100644
index 0000000..c98c819
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ClearOfflineCardServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.ClearOfflineCard;
+import com.ruoyi.integration.api.model.ClearOfflineCardReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.ClearOfflineCardService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ClearOfflineCardServiceImpl implements ClearOfflineCardService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(ClearOfflineCard clearOfflineCard) {
+        mongoTemplate.save(clearOfflineCard);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public ClearOfflineCard findById(String id) {
+        return mongoTemplate.findById(id, ClearOfflineCard.class);
+    }
+
+    @Override
+    public List<ClearOfflineCard> findAll() {
+        return mongoTemplate.findAll(ClearOfflineCard.class);
+    }
+
+    @Override
+    public List<ClearOfflineCard> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<ClearOfflineCard> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , ClearOfflineCard.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java
new file mode 100644
index 0000000..6419467
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java
@@ -0,0 +1,51 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.ClearOfflineCard;
+import com.ruoyi.integration.api.model.ConfirmTransactionRecord;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.ConfirmTransactionRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ConfirmTransactionRecordServiceImpl implements ConfirmTransactionRecordService {
+
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(ConfirmTransactionRecord confirmTransactionRecord) {
+        mongoTemplate.save(confirmTransactionRecord);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public ConfirmTransactionRecord findById(String id) {
+        return mongoTemplate.findById(id, ConfirmTransactionRecord.class);
+    }
+
+    @Override
+    public List<ConfirmTransactionRecord> findAll() {
+        return mongoTemplate.findAll(ConfirmTransactionRecord.class);
+    }
+
+    @Override
+    public List<ConfirmTransactionRecord> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<ConfirmTransactionRecord> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , ConfirmTransactionRecord.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/EndChargeServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/EndChargeServiceImpl.java
new file mode 100644
index 0000000..458661a
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/EndChargeServiceImpl.java
@@ -0,0 +1,51 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.ConfirmTransactionRecord;
+import com.ruoyi.integration.api.model.EndCharge;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.EndChargeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+@Service
+public class EndChargeServiceImpl implements EndChargeService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(EndCharge endCharge) {
+        mongoTemplate.save(endCharge);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public EndCharge findById(String id) {
+        return mongoTemplate.findById(id, EndCharge.class);
+    }
+
+    @Override
+    public List<EndCharge> findAll() {
+        return mongoTemplate.findAll(EndCharge.class);
+    }
+
+    @Override
+    public List<EndCharge> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<EndCharge> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , EndCharge.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ErrorMessageMessageServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ErrorMessageMessageServiceImpl.java
new file mode 100644
index 0000000..9b697e4
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ErrorMessageMessageServiceImpl.java
@@ -0,0 +1,51 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.EndCharge;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.ErrorMessageMessageService;
+import com.ruoyi.jianguan.rocket.model.ErrorMessageMessage;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+@Service
+public class ErrorMessageMessageServiceImpl implements ErrorMessageMessageService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(ErrorMessageMessage errorMessageMessage) {
+        mongoTemplate.save(errorMessageMessage);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public ErrorMessageMessage findById(String id) {
+        return mongoTemplate.findById(id, ErrorMessageMessage.class);
+    }
+
+    @Override
+    public List<ErrorMessageMessage> findAll() {
+        return mongoTemplate.findAll(ErrorMessageMessage.class);
+    }
+
+    @Override
+    public List<ErrorMessageMessage> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<ErrorMessageMessage> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , ErrorMessageMessage.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java
new file mode 100644
index 0000000..1ae67db
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/GroundLockRealTimeDataServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.GroundLockRealTimeData;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.GroundLockRealTimeDataService;
+import com.ruoyi.jianguan.rocket.model.ErrorMessageMessage;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<GroundLockRealTimeData> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<GroundLockRealTimeData> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , GroundLockRealTimeData.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/MotorAbortServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/MotorAbortServiceImpl.java
new file mode 100644
index 0000000..b9244cb
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/MotorAbortServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.GroundLockRealTimeData;
+import com.ruoyi.integration.api.model.MotorAbort;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.MotorAbortService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<MotorAbort> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<MotorAbort> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , MotorAbort.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OnlineReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OnlineReplyServiceImpl.java
new file mode 100644
index 0000000..50dfb7c
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OnlineReplyServiceImpl.java
@@ -0,0 +1,54 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.MotorAbort;
+import com.ruoyi.integration.api.model.OnlineReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.OnlineReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * 登录认证应答实现类
+ **/
+@Service
+public class OnlineReplyServiceImpl implements OnlineReplyService {
+
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(OnlineReply onlineReply) {
+        mongoTemplate.save(onlineReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public OnlineReply findById(String id) {
+        return null;
+    }
+
+    @Override
+    public List<OnlineReply> findAll() {
+        return null;
+    }
+
+    @Override
+    public List<OnlineReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<OnlineReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , OnlineReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OnlineServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OnlineServiceImpl.java
new file mode 100644
index 0000000..028b2ea
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OnlineServiceImpl.java
@@ -0,0 +1,55 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.OnlineReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.OnlineService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * 充电桩登录认证实现类
+ **/
+@Service
+public class OnlineServiceImpl implements OnlineService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(Online online) {
+        mongoTemplate.save(online);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public Online findById(String id) {
+        return mongoTemplate.findById(id, Online.class);
+    }
+
+    @Override
+    public List<Online> findAll() {
+        return mongoTemplate.findAll(Online.class);
+    }
+
+    @Override
+    public List<Online> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<Online> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , Online.class);
+        return list;
+    }
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OpenOrCloseGroundLockServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OpenOrCloseGroundLockServiceImpl.java
new file mode 100644
index 0000000..96f7cac
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/OpenOrCloseGroundLockServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.Online;
+import com.ruoyi.integration.api.model.OpenOrCloseGroundLock;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.OpenOrCloseGroundLockService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class OpenOrCloseGroundLockServiceImpl implements OpenOrCloseGroundLockService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(OpenOrCloseGroundLock openOrCloseGroundLock) {
+        mongoTemplate.save(openOrCloseGroundLock);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public OpenOrCloseGroundLock findById(String id) {
+        return mongoTemplate.findById(id, OpenOrCloseGroundLock.class);
+    }
+
+    @Override
+    public List<OpenOrCloseGroundLock> findAll() {
+        return mongoTemplate.findAll(OpenOrCloseGroundLock.class);
+    }
+
+    @Override
+    public List<OpenOrCloseGroundLock> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<OpenOrCloseGroundLock> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , OpenOrCloseGroundLock.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ParameterSettingServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ParameterSettingServiceImpl.java
new file mode 100644
index 0000000..ad8e6f6
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ParameterSettingServiceImpl.java
@@ -0,0 +1,51 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.OpenOrCloseGroundLock;
+import com.ruoyi.integration.api.model.ParameterSetting;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.ParameterSettingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<ParameterSetting> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<ParameterSetting> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , ParameterSetting.class);
+        return list;
+    }
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PingServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PingServiceImpl.java
new file mode 100644
index 0000000..261d5c0
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PingServiceImpl.java
@@ -0,0 +1,62 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.Ping;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+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);
+    }
+    
+    @Override
+    public void delPing() {
+        mongoTemplate.remove(new Query().addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusDays(1))), Ping.class);
+    }
+    
+    @Override
+    public void save(Ping ping) {
+        Query query = new Query();
+        if (StringUtils.isNotEmpty(ping.getCharging_pile_code())) {
+            query.addCriteria(Criteria.where("charging_pile_code").is(ping.getCharging_pile_code()));
+        }
+        if (StringUtils.isNotEmpty(ping.getCharging_gun_code())){
+            query.addCriteria(Criteria.where("charging_gun_code").is(ping.getCharging_gun_code()));
+        }
+        List<Ping> pings = mongoTemplate.find(query, Ping.class);
+        if(pings.size() > 0){
+            Ping ping1 = pings.get(0);
+            ping1.setLast_time(new Date());
+            ping1.setCharging_gun_status(ping.getCharging_gun_status());
+            mongoTemplate.save(ping1);
+        }else{
+            mongoTemplate.save(ping);
+        }
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java
new file mode 100644
index 0000000..2d02d3f
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformConfirmationChargingServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.ParameterSetting;
+import com.ruoyi.integration.api.model.PlatformConfirmationCharging;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PlatformConfirmationChargingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PlatformConfirmationChargingServiceImpl implements PlatformConfirmationChargingService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(PlatformConfirmationCharging platformConfirmationCharging) {
+        mongoTemplate.save(platformConfirmationCharging);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public PlatformConfirmationCharging findById(String id) {
+        return mongoTemplate.findById(id, PlatformConfirmationCharging.class);
+    }
+
+    @Override
+    public List<PlatformConfirmationCharging> findAll() {
+        return mongoTemplate.findAll(PlatformConfirmationCharging.class);
+    }
+
+    @Override
+    public List<PlatformConfirmationCharging> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<PlatformConfirmationCharging> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , PlatformConfirmationCharging.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRemoteUpdateReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRemoteUpdateReplyServiceImpl.java
new file mode 100644
index 0000000..ffe3c17
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRemoteUpdateReplyServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.PlatformConfirmationCharging;
+import com.ruoyi.integration.api.model.PlatformRemoteUpdateReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PlatformRemoteUpdateReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<PlatformRemoteUpdateReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<PlatformRemoteUpdateReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , PlatformRemoteUpdateReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRemoteUpdateServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRemoteUpdateServiceImpl.java
new file mode 100644
index 0000000..ec11cfe
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRemoteUpdateServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.PlatformRemoteUpdate;
+import com.ruoyi.integration.api.model.PlatformRemoteUpdateReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PlatformRemoteUpdateService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PlatformRemoteUpdateServiceImpl implements PlatformRemoteUpdateService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(PlatformRemoteUpdate platformRemoteUpdate) {
+        mongoTemplate.save(platformRemoteUpdate);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public PlatformRemoteUpdate findById(String id) {
+        return mongoTemplate.findById(id, PlatformRemoteUpdate.class);
+    }
+
+    @Override
+    public List<PlatformRemoteUpdate> findAll() {
+        return mongoTemplate.findAll(PlatformRemoteUpdate.class);
+    }
+
+    @Override
+    public List<PlatformRemoteUpdate> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<PlatformRemoteUpdate> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , PlatformRemoteUpdate.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRestartReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRestartReplyServiceImpl.java
new file mode 100644
index 0000000..37bf865
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRestartReplyServiceImpl.java
@@ -0,0 +1,50 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.PlatformRemoteUpdate;
+import com.ruoyi.integration.api.model.PlatformRestartReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PlatformRestartReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<PlatformRestartReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<PlatformRestartReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , PlatformRestartReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRestartServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRestartServiceImpl.java
new file mode 100644
index 0000000..96a758f
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformRestartServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.PlatformRestart;
+import com.ruoyi.integration.api.model.PlatformRestartReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PlatformRestartService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PlatformRestartServiceImpl implements PlatformRestartService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(PlatformRestart platformRestart) {
+        mongoTemplate.save(platformRestart);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public PlatformRestart findById(String id) {
+        return mongoTemplate.findById(id, PlatformRestart.class);
+    }
+
+    @Override
+    public List<PlatformRestart> findAll() {
+        return mongoTemplate.findAll(PlatformRestart.class);
+    }
+
+    @Override
+    public List<PlatformRestart> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<PlatformRestart> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , PlatformRestart.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java
new file mode 100644
index 0000000..7d3ed84
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java
@@ -0,0 +1,65 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.PlatformRestart;
+import com.ruoyi.integration.api.model.PlatformStartChargingReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PlatformStartChargingReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+    
+    
+    /**
+     * 根据订单编号查询远程启机应答数据
+     * @param code
+     * @return
+     */
+    @Override
+    public List<PlatformStartChargingReply> getPlatformStartChargingReply(String code) {
+        Query query = new Query();
+        query.addCriteria(Criteria.where("transaction_serial_number").is(code));
+        List<PlatformStartChargingReply> platformStartChargingReplies = mongoTemplate.find(query, PlatformStartChargingReply.class);
+        return platformStartChargingReplies;
+    }
+
+    @Override
+    public List<PlatformStartChargingReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<PlatformStartChargingReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , PlatformStartChargingReply.class);
+        return list;
+    }
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStartChargingServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStartChargingServiceImpl.java
new file mode 100644
index 0000000..460f342
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStartChargingServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.PlatformStartCharging;
+import com.ruoyi.integration.api.model.PlatformStartChargingReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PlatformStartChargingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PlatformStartChargingServiceImpl implements PlatformStartChargingService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(PlatformStartCharging platformStartCharging) {
+        mongoTemplate.save(platformStartCharging);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public PlatformStartCharging findById(String id) {
+        return mongoTemplate.findById(id, PlatformStartCharging.class);
+    }
+
+    @Override
+    public List<PlatformStartCharging> findAll() {
+        return mongoTemplate.findAll(PlatformStartCharging.class);
+    }
+
+    @Override
+    public List<PlatformStartCharging> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<PlatformStartCharging> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , PlatformStartCharging.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java
new file mode 100644
index 0000000..b9e725e
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java
@@ -0,0 +1,65 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.PlatformStartCharging;
+import com.ruoyi.integration.api.model.PlatformStopChargingReply;
+import com.ruoyi.integration.api.vo.GetPlatformStopChargingReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PlatformStopChargingReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+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);
+    }
+    
+    
+    /**
+     * 根据枪编号获取
+     * @return
+     */
+    @Override
+    public PlatformStopChargingReply getPlatformStopChargingReply(GetPlatformStopChargingReply query) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        List<PlatformStopChargingReply> platformStopChargingReplies = mongoTemplate.find(new Query().addCriteria(Criteria.where("charging_pile_code").is(query.getCharging_pile_code())
+                .and("charging_gun_code").is(query.getCharging_gun_code()).and("create_time").lte(sdf.format(new Date())).gte(query.getEnd_time())), PlatformStopChargingReply.class);
+        return platformStopChargingReplies.size() > 0 ? platformStopChargingReplies.get(0) : null;
+    }
+
+    @Override
+    public List<PlatformStopChargingReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<PlatformStopChargingReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , PlatformStopChargingReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStopChargingServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStopChargingServiceImpl.java
new file mode 100644
index 0000000..1def769
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PlatformStopChargingServiceImpl.java
@@ -0,0 +1,51 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.PlatformStopCharging;
+import com.ruoyi.integration.api.model.PlatformStopChargingReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PlatformStopChargingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PlatformStopChargingServiceImpl implements PlatformStopChargingService {
+
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(PlatformStopCharging platformStopCharging) {
+        mongoTemplate.save(platformStopCharging);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public PlatformStopCharging findById(String id) {
+        return mongoTemplate.findById(id, PlatformStopCharging.class);
+    }
+
+    @Override
+    public List<PlatformStopCharging> findAll() {
+        return mongoTemplate.findAll(PlatformStopCharging.class);
+    }
+
+    @Override
+    public List<PlatformStopCharging> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<PlatformStopCharging> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , PlatformStopCharging.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PongServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PongServiceImpl.java
new file mode 100644
index 0000000..9b7e2d9
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/PongServiceImpl.java
@@ -0,0 +1,45 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.integration.api.model.Pong;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.PongService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+
+/**
+ * 心跳包应答实现类
+ **/
+@Service
+public class PongServiceImpl implements PongService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(Pong pong) {
+        mongoTemplate.save(pong);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public Pong findById(String id) {
+        return mongoTemplate.findById(id, Pong.class);
+    }
+
+    @Override
+    public List<Pong> findAll() {
+        return mongoTemplate.findAll(Pong.class);
+    }
+    
+    
+    @Override
+    public void delPong() {
+        mongoTemplate.remove(new Query().addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusDays(1))));
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QrCodeDeliveryReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QrCodeDeliveryReplyServiceImpl.java
new file mode 100644
index 0000000..426064a
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QrCodeDeliveryReplyServiceImpl.java
@@ -0,0 +1,54 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.PlatformStopCharging;
+import com.ruoyi.integration.api.model.QrCodeDeliveryReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.QrCodeDeliveryReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * 心跳包应答实现类
+ **/
+@Service
+public class QrCodeDeliveryReplyServiceImpl implements QrCodeDeliveryReplyService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(QrCodeDeliveryReply qrCodeDeliveryReply) {
+        mongoTemplate.save(qrCodeDeliveryReply);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public QrCodeDeliveryReply findById(String id) {
+        return mongoTemplate.findById(id, QrCodeDeliveryReply.class);
+    }
+
+    @Override
+    public List<QrCodeDeliveryReply> findAll() {
+        return mongoTemplate.findAll(QrCodeDeliveryReply.class);
+    }
+
+    @Override
+    public List<QrCodeDeliveryReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<QrCodeDeliveryReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , QrCodeDeliveryReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QrCodeDeliveryServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QrCodeDeliveryServiceImpl.java
new file mode 100644
index 0000000..61ccf5a
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QrCodeDeliveryServiceImpl.java
@@ -0,0 +1,54 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.QrCodeDelivery;
+import com.ruoyi.integration.api.model.QrCodeDeliveryReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.QrCodeDeliveryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * 心跳包应答实现类
+ **/
+@Service
+public class QrCodeDeliveryServiceImpl implements QrCodeDeliveryService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(QrCodeDelivery qrCodeDelivery) {
+        mongoTemplate.save(qrCodeDelivery);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public QrCodeDelivery findById(String id) {
+        return mongoTemplate.findById(id, QrCodeDelivery.class);
+    }
+
+    @Override
+    public List<QrCodeDelivery> findAll() {
+        return mongoTemplate.findAll(QrCodeDelivery.class);
+    }
+
+    @Override
+    public List<QrCodeDelivery> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<QrCodeDelivery> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , QrCodeDelivery.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QueryOfflineCardReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QueryOfflineCardReplyServiceImpl.java
new file mode 100644
index 0000000..adc1b70
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QueryOfflineCardReplyServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.QrCodeDelivery;
+import com.ruoyi.integration.api.model.QueryOfflineCardReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.QueryOfflineCardReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<QueryOfflineCardReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<QueryOfflineCardReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , QueryOfflineCardReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QueryOfflineCardServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QueryOfflineCardServiceImpl.java
new file mode 100644
index 0000000..da0fca1
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/QueryOfflineCardServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.QueryOfflineCard;
+import com.ruoyi.integration.api.model.QueryOfflineCardReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.QueryOfflineCardService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class QueryOfflineCardServiceImpl implements QueryOfflineCardService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(QueryOfflineCard queryOfflineCard) {
+        mongoTemplate.save(queryOfflineCard);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public QueryOfflineCard findById(String id) {
+        return mongoTemplate.findById(id, QueryOfflineCard.class);
+    }
+
+    @Override
+    public List<QueryOfflineCard> findAll() {
+        return mongoTemplate.findAll(QueryOfflineCard.class);
+    }
+
+    @Override
+    public List<QueryOfflineCard> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<QueryOfflineCard> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , QueryOfflineCard.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java
new file mode 100644
index 0000000..693f0f0
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/ReadRealTimeMonitoringDataServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.QueryOfflineCard;
+import com.ruoyi.integration.api.model.ReadRealTimeMonitoringData;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.ReadRealTimeMonitoringDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ReadRealTimeMonitoringDataServiceImpl implements ReadRealTimeMonitoringDataService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(ReadRealTimeMonitoringData readRealTimeMonitoringData) {
+        mongoTemplate.save(readRealTimeMonitoringData);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public ReadRealTimeMonitoringData findById(String id) {
+        return mongoTemplate.findById(id, ReadRealTimeMonitoringData.class);
+    }
+
+    @Override
+    public List<ReadRealTimeMonitoringData> findAll() {
+        return mongoTemplate.findAll(ReadRealTimeMonitoringData.class);
+    }
+
+    @Override
+    public List<ReadRealTimeMonitoringData> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<ReadRealTimeMonitoringData> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , ReadRealTimeMonitoringData.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SecurityDetectionServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SecurityDetectionServiceImpl.java
new file mode 100644
index 0000000..5463d72
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SecurityDetectionServiceImpl.java
@@ -0,0 +1,66 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.ReadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.SecurityDetection;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.SecurityDetectionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * 心跳包应答实现类
+ **/
+@Service
+public class SecurityDetectionServiceImpl implements SecurityDetectionService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(SecurityDetection securityDetection) {
+        mongoTemplate.save(securityDetection);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public SecurityDetection findById(String id) {
+        return mongoTemplate.findById(id, SecurityDetection.class);
+    }
+
+    @Override
+    public List<SecurityDetection> findAll() {
+        return mongoTemplate.findAll(SecurityDetection.class);
+    }
+    
+    /**
+     * 根据业务流水号查询数据
+     * @param transactionSerialNumber
+     * @return
+     */
+    @Override
+    public SecurityDetection getSecurityDetection(String transactionSerialNumber) {
+        List<SecurityDetection> securityDetectionList = mongoTemplate.find(new Query().addCriteria(Criteria.where("transaction_serial_number")
+                .is(transactionSerialNumber)), SecurityDetection.class);
+        return securityDetectionList.size() > 0 ? securityDetectionList.get(0) : null;
+    }
+
+    @Override
+    public List<SecurityDetection> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<SecurityDetection> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , SecurityDetection.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java
new file mode 100644
index 0000000..55196d7
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.SecurityDetection;
+import com.ruoyi.integration.api.model.SetupBillingModelReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.SetupBillingModelReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<SetupBillingModelReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<SetupBillingModelReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , SetupBillingModelReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SetupBillingModelServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SetupBillingModelServiceImpl.java
new file mode 100644
index 0000000..1cff1f4
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SetupBillingModelServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.SetupBillingModel;
+import com.ruoyi.integration.api.model.SetupBillingModelReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.SetupBillingModelService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SetupBillingModelServiceImpl implements SetupBillingModelService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(SetupBillingModel setupBillingModel) {
+        mongoTemplate.save(setupBillingModel);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public SetupBillingModel findById(String id) {
+        return mongoTemplate.findById(id, SetupBillingModel.class);
+    }
+
+    @Override
+    public List<SetupBillingModel> findAll() {
+        return mongoTemplate.findAll(SetupBillingModel.class);
+    }
+
+    @Override
+    public List<SetupBillingModel> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<SetupBillingModel> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , SetupBillingModel.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SynchronizeOfflineCardReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SynchronizeOfflineCardReplyServiceImpl.java
new file mode 100644
index 0000000..93db082
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SynchronizeOfflineCardReplyServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.SetupBillingModel;
+import com.ruoyi.integration.api.model.SynchronizeOfflineCardReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.SynchronizeOfflineCardReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<SynchronizeOfflineCardReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<SynchronizeOfflineCardReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , SynchronizeOfflineCardReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SynchronizeOfflineCardServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SynchronizeOfflineCardServiceImpl.java
new file mode 100644
index 0000000..9587a8e
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/SynchronizeOfflineCardServiceImpl.java
@@ -0,0 +1,51 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.SynchronizeOfflineCard;
+import com.ruoyi.integration.api.model.SynchronizeOfflineCardReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.SynchronizeOfflineCardService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SynchronizeOfflineCardServiceImpl implements SynchronizeOfflineCardService {
+
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(SynchronizeOfflineCard synchronizeOfflineCard) {
+        mongoTemplate.save(synchronizeOfflineCard);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public SynchronizeOfflineCard findById(String id) {
+        return mongoTemplate.findById(id, SynchronizeOfflineCard.class);
+    }
+
+    @Override
+    public List<SynchronizeOfflineCard> findAll() {
+        return mongoTemplate.findAll(SynchronizeOfflineCard.class);
+    }
+
+    @Override
+    public List<SynchronizeOfflineCard> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<SynchronizeOfflineCard> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , SynchronizeOfflineCard.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TimingSettingReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TimingSettingReplyServiceImpl.java
new file mode 100644
index 0000000..37c44e4
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TimingSettingReplyServiceImpl.java
@@ -0,0 +1,50 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.SynchronizeOfflineCard;
+import com.ruoyi.integration.api.model.TimingSettingReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.TimingSettingReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<TimingSettingReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<TimingSettingReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , TimingSettingReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TimingSettingServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TimingSettingServiceImpl.java
new file mode 100644
index 0000000..430613f
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TimingSettingServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.TimingSetting;
+import com.ruoyi.integration.api.model.TimingSettingReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.TimingSettingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class TimingSettingServiceImpl implements TimingSettingService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(TimingSetting timingSetting) {
+        mongoTemplate.save(timingSetting);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public TimingSetting findById(String id) {
+        return mongoTemplate.findById(id, TimingSetting.class);
+    }
+
+    @Override
+    public List<TimingSetting> findAll() {
+        return mongoTemplate.findAll(TimingSetting.class);
+    }
+
+    @Override
+    public List<TimingSetting> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<TimingSetting> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , TimingSetting.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TransactionRecordServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TransactionRecordServiceImpl.java
new file mode 100644
index 0000000..4f6e8e6
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/TransactionRecordServiceImpl.java
@@ -0,0 +1,66 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.TimingSetting;
+import com.ruoyi.integration.api.model.TransactionRecord;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.TransactionRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+    
+    /**
+     * 根据订单流水号查询数据
+     * @param code
+     * @return
+     */
+    @Override
+    public TransactionRecord findOne(String code) {
+        Query query = new Query();
+        if(StringUtils.isNotEmpty(code)){
+            query.addCriteria(Criteria.where("transaction_serial_number").is(code));
+        }
+        List<TransactionRecord> transactionRecords = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , TransactionRecord.class);
+        return transactionRecords.size() > 0 ? transactionRecords.get(0) : null;
+    }
+
+    @Override
+    public List<TransactionRecord> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<TransactionRecord> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , TransactionRecord.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UpdateBalanceReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UpdateBalanceReplyServiceImpl.java
new file mode 100644
index 0000000..fbf24e2
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UpdateBalanceReplyServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.TransactionRecord;
+import com.ruoyi.integration.api.model.UpdateBalanceReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.UpdateBalanceReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<UpdateBalanceReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<UpdateBalanceReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , UpdateBalanceReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UpdateBalanceServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UpdateBalanceServiceImpl.java
new file mode 100644
index 0000000..08b59a2
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UpdateBalanceServiceImpl.java
@@ -0,0 +1,51 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.UpdateBalance;
+import com.ruoyi.integration.api.model.UpdateBalanceReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.UpdateBalanceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class UpdateBalanceServiceImpl implements UpdateBalanceService {
+
+    @Autowired
+    private MongoTemplate mongoTemplate;
+
+    @Override
+    public int create(UpdateBalance updateBalance) {
+        mongoTemplate.save(updateBalance);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public UpdateBalance findById(String id) {
+        return mongoTemplate.findById(id, UpdateBalance.class);
+    }
+
+    @Override
+    public List<UpdateBalance> findAll() {
+        return mongoTemplate.findAll(UpdateBalance.class);
+    }
+
+    @Override
+    public List<UpdateBalance> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<UpdateBalance> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , UpdateBalance.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
new file mode 100644
index 0000000..56bd831
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
@@ -0,0 +1,189 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.UpdateBalance;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.UploadRealTimeMonitoringDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.data.mongodb.core.query.Update;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+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);
+    }
+    
+    
+    /**
+     * 根据订单号查询监控数据
+     * @param code
+     * @return
+     */
+    @Override
+    public List<UploadRealTimeMonitoringData> getDataByOrderCode(String code) {
+        Query query = new Query();
+        if(StringUtils.isNotEmpty(code)){
+            query.addCriteria(Criteria.where("transaction_serial_number").is(code));
+        }
+        List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , UploadRealTimeMonitoringData.class);
+        return uploadRealTimeMonitoringData;
+    }
+
+    @Override
+    public UploadRealTimeMonitoringPageData getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException {
+        Query query = new Query();
+//        if (!values.isEmpty()){
+//            query.addCriteria(Criteria.where("transaction_serial_number").in(values));
+//        }
+        if (mongoChargingOrderQuery.getCode() != null && !mongoChargingOrderQuery.getCode().isEmpty()) {
+            query.addCriteria(Criteria.where("transaction_serial_number").regex(mongoChargingOrderQuery.getCode(),"i")); // "i" 表示不区分大小写
+        }
+        if (mongoChargingOrderQuery.getOrderType() !=null){
+            query.addCriteria(Criteria.where("orderType").is(mongoChargingOrderQuery.getOrderType()));
+        }
+        if (mongoChargingOrderQuery.getSiteId() != null){
+            query.addCriteria(Criteria.where("siteId").is(mongoChargingOrderQuery.getSiteId()));
+        }
+        if (!mongoChargingOrderQuery.getSiteIds().isEmpty()){
+            query.addCriteria(Criteria.where("siteId").in(mongoChargingOrderQuery.getSiteIds()));
+        }
+        if (mongoChargingOrderQuery.getChargingPileCode() != null && !mongoChargingOrderQuery.getChargingPileCode().isEmpty()) {
+            query.addCriteria(Criteria.where("charging_pile_code").is(mongoChargingOrderQuery.getChargingPileCode()));
+        }
+        if (mongoChargingOrderQuery.getChargingGunCode() != null && !mongoChargingOrderQuery.getChargingGunCode().isEmpty()){
+            query.addCriteria(Criteria.where("charging_gun_code").is(mongoChargingOrderQuery.getChargingGunCode()));
+        }
+        if (mongoChargingOrderQuery.getStatus() != null){
+            query.addCriteria(Criteria.where("status").is(mongoChargingOrderQuery.getStatus()));
+        }
+
+        if (mongoChargingOrderQuery.getCreateTime() != null) {
+            String[] split = mongoChargingOrderQuery.getCreateTime().split(" - ");
+
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date start = dateFormat.parse(split[0]);
+            Date end = dateFormat.parse(split[1]);
+            query.addCriteria(Criteria.where("create_time").gte(start).lt(end));
+        }
+
+        if (mongoChargingOrderQuery.getLastTime() != null && mongoChargingOrderQuery.getLastTime() != null) {
+            String[] split = mongoChargingOrderQuery.getLastTime().split(" - ");
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date start = dateFormat.parse(split[0]);
+            Date end = dateFormat.parse(split[1]);
+            query.addCriteria(Criteria.where("last_time").gte(start).lt(end));
+        }
+
+
+
+
+
+
+
+
+
+        long totalElements = mongoTemplate.count(query, UploadRealTimeMonitoringData.class);
+
+        // 创建带有排序的 Pageable 对象
+        Pageable pageable = PageRequest.of(
+                mongoChargingOrderQuery.getPageCurr()-1,
+                mongoChargingOrderQuery.getPageSize(),
+                Sort.by(Sort.Direction.DESC, "create_time")
+        );
+
+        // 设置分页和排序
+        query.with(pageable);
+
+        // 执行查询并获取 Page 对象
+        List<UploadRealTimeMonitoringData> page = mongoTemplate.find(query, UploadRealTimeMonitoringData.class,"upload_real_time_monitoring_data");
+
+        // 设置分页
+//        Pageable pageable = PageRequest.of(mongoChargingOrderQuery.getPageSize()*(mongoChargingOrderQuery.getPageCurr()-1), mongoChargingOrderQuery.getPageSize());
+//        query.with(pageable);
+//        query.with(Sort.by(Sort.Direction.DESC,"create_time"));
+        List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
+                query
+                , UploadRealTimeMonitoringData.class);
+
+        UploadRealTimeMonitoringPageData uploadRealTimeMonitoringPageData = new UploadRealTimeMonitoringPageData();
+        uploadRealTimeMonitoringPageData.setCount(totalElements);
+        uploadRealTimeMonitoringPageData.setRecords(page);
+        return uploadRealTimeMonitoringPageData;
+    }
+
+    @Override
+    public UploadRealTimeMonitoringData getLastDataById(String transaction_serial_number) {
+        Query query = new Query();
+        if (StringUtils.isNotEmpty(transaction_serial_number)){
+            query.addCriteria(Criteria.where("transaction_serial_number").is(transaction_serial_number));
+        }
+        // 按照 createdAt 字段降序排序
+        query.with(Sort.by(Sort.Direction.DESC, "create_time"));
+        // 限制结果只返回一条记录
+        query.limit(1);
+        return mongoTemplate.findOne(query, UploadRealTimeMonitoringData.class);
+    }
+
+    @Override
+    public void delete(String id) {
+        UploadRealTimeMonitoringData byId = findById(id.toString());
+        mongoTemplate.remove(byId);
+    }
+
+    @Override
+    public void updateById(String id) {
+        // 创建查询条件
+        Query query = new Query(Criteria.where("_id").is(id));
+        // 创建更新对象
+        Update update = new Update().set("last_time", new Date());
+        // 执行更新操作
+        mongoTemplate.updateFirst(query, update, UploadRealTimeMonitoringData.class);
+    }
+
+    @Override
+    public List<UploadRealTimeMonitoringData> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<UploadRealTimeMonitoringData> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , UploadRealTimeMonitoringData.class);
+        return list;
+    }
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/WorkingParameterSettingReplyServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/WorkingParameterSettingReplyServiceImpl.java
new file mode 100644
index 0000000..cdc3810
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/WorkingParameterSettingReplyServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.WorkingParameterSettingReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.WorkingParameterSettingReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+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);
+    }
+
+    @Override
+    public List<WorkingParameterSettingReply> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<WorkingParameterSettingReply> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , WorkingParameterSettingReply.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/WorkingParameterSettingServiceImpl.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/WorkingParameterSettingServiceImpl.java
new file mode 100644
index 0000000..01ccbcb
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mongodb/service/impl/WorkingParameterSettingServiceImpl.java
@@ -0,0 +1,49 @@
+package com.ruoyi.jianguan.mongodb.service.impl;
+
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.integration.api.model.WorkingParameterSetting;
+import com.ruoyi.integration.api.model.WorkingParameterSettingReply;
+import com.ruoyi.jianguan.constant.IotConstant;
+import com.ruoyi.jianguan.mongodb.service.WorkingParameterSettingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class WorkingParameterSettingServiceImpl implements WorkingParameterSettingService {
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    @Override
+    public int create(WorkingParameterSetting workingParameterSetting) {
+        mongoTemplate.save(workingParameterSetting);
+        return IotConstant.SUCCESS;
+    }
+
+    @Override
+    public WorkingParameterSetting findById(String id) {
+        return mongoTemplate.findById(id, WorkingParameterSetting.class);
+    }
+
+    @Override
+    public List<WorkingParameterSetting> findAll() {
+        return mongoTemplate.findAll(WorkingParameterSetting.class);
+    }
+
+    @Override
+    public List<WorkingParameterSetting> getRangeTimeData(String startTime, String endTime) {
+        Query query = new Query();
+        // 根据时间范围查询
+        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
+            query.addCriteria(Criteria.where("create_time").gte(startTime).lte(endTime));
+        }
+        List<WorkingParameterSetting> list = mongoTemplate.find(
+                query.with(Sort.by(Sort.Order.desc("create_time")))
+                , WorkingParameterSetting.class);
+        return list;
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/callback/PushCallback.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/callback/PushCallback.java
new file mode 100644
index 0000000..4e02cb9
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/callback/PushCallback.java
@@ -0,0 +1,70 @@
+package com.ruoyi.jianguan.mqtt.callback;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.utils.HttpUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.jianguan.mqtt.config.TopicConstants;
+import com.ruoyi.system.api.domain.SysRole;
+import lombok.extern.slf4j.Slf4j;
+import org.eclipse.paho.client.mqttv3.*;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.PostConstruct;
+import java.time.LocalDate;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.UUID;
+import java.util.concurrent.*;
+import java.util.stream.Collectors;
+
+/**
+ *  消费监听
+ */
+@Slf4j
+@Component
+public class PushCallback implements MqttCallback {
+    private static MqttConnectOptions options;
+    private static MqttClient client;
+    private static final double EARTH_RADIUS = 6378137.0;
+
+
+    @Override
+    public void connectionLost(Throwable throwable) {
+        if (client == null || !client.isConnected()) {
+            System.out.println("连接断开,正在重连....");
+            int[] Qos  = {0};
+            String[] topic1 = {TopicConstants.GPS_LOCATION};
+            try {
+                client.connect(options);
+                client.subscribe(topic1, Qos);
+                log.info("连接失败重连成功");
+            } catch (MqttException e) {
+                log.info("连接失败重连失败");
+                log.info("connectionLost e:{}", e.getMessage());
+            }
+        }
+    }
+
+    @Override
+    public void messageArrived(String topic, MqttMessage message) throws Exception {
+        System.err.println("接收消息主题 : " + topic);
+        System.err.println("接收消息Qos : " + message.getQos());
+        System.err.println("接收消息内容 : " + new String(message.getPayload()));
+
+        String silentMessage = new String(message.getPayload());
+        JSONObject jsonObject = JSONObject.parseObject(silentMessage);
+        String messageType = jsonObject.getString("type");
+        if(StringUtils.isEmpty(messageType)){
+            log.warn("接收消息类型为空");
+        }
+    }
+
+    @Override
+    public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
+
+    }
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/client/ClientMQTT.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/client/ClientMQTT.java
new file mode 100644
index 0000000..db7c302
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/client/ClientMQTT.java
@@ -0,0 +1,66 @@
+package com.ruoyi.jianguan.mqtt.client;
+
+
+import com.ruoyi.jianguan.mqtt.callback.PushCallback;
+import lombok.extern.slf4j.Slf4j;
+import org.eclipse.paho.client.mqttv3.IMqttToken;
+import org.eclipse.paho.client.mqttv3.MqttClient;
+import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
+import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class ClientMQTT {
+    private final static String HOST = "tcp://127.0.0.1:9882";
+    private final static String USER_NAME = "admin";
+    private final static String PASS_WORD = "mingxingdianli123";
+    private static final String CLIENT_ID = String.valueOf(System.currentTimeMillis());
+    private static final Integer TIME_OUT = 30000;
+    private static final Integer KEEP_ALIVE = 30000;
+    private MqttClient client;
+    private MqttConnectOptions options;
+    private void start() {
+        try {
+            // host为主机名,clientid即连接MQTT的客户端ID,一般以唯一标识符表示,MemoryPersistence设置clientid的保存形式,默认为以内存保存
+            client = new MqttClient(HOST, CLIENT_ID, new MemoryPersistence());
+            // MQTT的连接设置
+            options = new MqttConnectOptions();
+            // 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,这里设置为true表示每次连接到服务器都以新的身份连接
+            options.setCleanSession(false);
+            // 设置连接的用户名
+            options.setUserName(USER_NAME);
+            // 设置连接的密码
+            options.setPassword(PASS_WORD.toCharArray());
+            // 设置超时时间 单位为秒
+            options.setConnectionTimeout(TIME_OUT);
+            // 设置会话心跳时间 单位为秒 服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制
+            options.setKeepAliveInterval(KEEP_ALIVE);
+            // automaticReconnect 为 true 表示断线自动重连,但仅仅只是重新连接,并不订阅主题;在 connectComplete 回调函数重新订阅
+            options.setAutomaticReconnect(true);
+            // 设置回调
+            // 设置回调
+            client.setCallback(new PushCallback());
+
+            IMqttToken iMqttToken = client.connectWithResult(options);
+            boolean complete = iMqttToken.isComplete();
+            System.err.println("MQTT连接" + (complete ? "成功" : "失败"));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 连接至mqtt服务器,获取mqtt连接
+     *
+     * @return
+     */
+    @Bean
+    public ClientMQTT getMqttPushClient() {
+        //连接至mqtt服务器,获取mqtt连接
+//        this.start();
+        return this;
+    }
+}
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/config/TopicConstants.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/config/TopicConstants.java
new file mode 100644
index 0000000..06c523d
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/config/TopicConstants.java
@@ -0,0 +1,10 @@
+package com.ruoyi.jianguan.mqtt.config;
+
+public class TopicConstants {
+
+    /**
+     * Gps定位
+     */
+    public static String GPS_LOCATION = "/devices/v1/MTA5Mjg0NTY3Mzg3MjYyMTU2OA==/CHARGE_PILE_CODE/sys/properties/report";
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java
new file mode 100644
index 0000000..c27e09d
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/mqtt/util/MqttPushUtil.java
@@ -0,0 +1,167 @@
+package com.ruoyi.jianguan.mqtt.util;
+
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.jianguan.mqtt.callback.PushCallback;
+import com.ruoyi.jianguan.mqtt.client.ClientMQTT;
+import lombok.extern.slf4j.Slf4j;
+import org.eclipse.paho.client.mqttv3.*;
+import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class MqttPushUtil {
+
+    private final static String HOST = "tcp://127.0.0.1:9882";
+    private final static String CLIENT_ID = "mqttx_3267186711111fdsasdsa";
+    private final static String USER_NAME = "admin";
+    private final static String PASS_WORD = "mingxingdianli123";
+    private final static Integer TIME_OUT = 30000;
+    private final static Integer KEEP_ALIVE = 60000;
+    private MqttClient mqttClient;
+
+    /**
+     * 推送充电桩数据
+     * @param topic
+     * @param message
+     * @return
+     */
+    public static R<String> pushChargePileData(String topic, String message){
+        try {
+            MqttPushUtil mqttConnect = new MqttPushUtil();
+            mqttConnect.start();
+            //发布消息
+            mqttConnect.publish(topic,message);
+            return R.ok("["+topic+"]-推送成功;内容为:["+message+"]");
+        } catch (MqttException e) {
+            return R.fail("推送失败:["+e.getMessage()+"]");
+        }
+    }
+
+    /**
+     * 测试订阅消息
+     */
+    public static void main(String[] args) throws Exception {
+        MqttPushUtil mqttConnect = new MqttPushUtil();
+        mqttConnect.start();
+        //订阅消息
+        mqttConnect.publish("/cmt/IoT/pub/8/6700/status/silent","message11消息");
+    }
+
+//    @Bean
+//    public MqttPushUtil getMqttPushClient() {
+//        //连接至mqtt服务器,获取mqtt连接
+//        this.start();
+//        return this;
+//    }
+    /**
+     * 初始化mqtt链接
+     * @throws MqttException
+     */
+    public void start(){
+        try {
+            // host为主机名,clientid即连接MQTT的客户端ID,一般以唯一标识符表示,MemoryPersistence设置clientid的保存形式,默认为以内存保存
+            mqttClient = new MqttClient(HOST, CLIENT_ID + System.currentTimeMillis(), new MemoryPersistence());
+            // MQTT的连接设置
+            MqttConnectOptions options = new MqttConnectOptions();
+            options.setUserName(USER_NAME);
+            options.setPassword(PASS_WORD.toCharArray());
+            // 设置超时时间 单位为秒
+            options.setConnectionTimeout(TIME_OUT);///默认:30
+            // 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,设置为true表示每次连接到服务器都以新的身份连接
+            options.setCleanSession(false);//默认:true
+            // 设置断开后重新连接(设置为true时将启用自动重新连接)
+            options.setAutomaticReconnect(true);//默认:false
+            // 设置会话心跳时间 单位为秒 服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制
+            options.setKeepAliveInterval(KEEP_ALIVE);//默认:60
+            // 设置回调
+            mqttClient.setCallback(new PushCallback());
+            mqttClient.connect(options);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 自定义mqtt连接
+     * @param host
+     * @param clientId
+     * @param userName
+     * @param passWord
+     * @param connectionTimeout
+     * @param cleanSession
+     * @param automaticReconnect
+     * @param keepAliveInterval
+     * @param mqttCallback
+     * @throws MqttException
+     */
+    public void start(String host,String clientId, String userName, String passWord,
+                      int connectionTimeout, boolean cleanSession,boolean automaticReconnect,
+                      int keepAliveInterval,MqttCallback mqttCallback) throws MqttException {
+        // host为主机名,clientid即连接MQTT的客户端ID,一般以唯一标识符表示,MemoryPersistence设置clientid的保存形式,默认为以内存保存
+        mqttClient = new MqttClient(host, clientId + System.currentTimeMillis(), new MemoryPersistence());
+        // MQTT的连接设置
+        MqttConnectOptions options = new MqttConnectOptions();
+        options.setUserName(userName);
+        options.setPassword(passWord.toCharArray());
+        // 设置超时时间 单位为秒
+        options.setConnectionTimeout(connectionTimeout);///默认:30
+        // 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,设置为true表示每次连接到服务器都以新的身份连接
+        options.setCleanSession(cleanSession);//默认:true
+        // 设置断开后重新连接(设置为true时将启用自动重新连接)
+        options.setAutomaticReconnect(automaticReconnect);//默认:false
+        // 设置会话心跳时间 单位为秒 服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制
+        options.setKeepAliveInterval(keepAliveInterval);//默认:60
+        // 设置回调
+        mqttClient.setCallback(mqttCallback);
+        mqttClient.connect(options);
+    }
+
+    /**
+     * 发布,默认qos为0,非持久化
+     */
+    public void publish(String topic, String message1) throws MqttException {
+        publish(0, false, topic, message1);
+    }
+
+    /**
+     * 发布
+     */
+    public void publish(int qos, boolean retained, String topic, String message1) throws MqttException {
+        MqttMessage message = new MqttMessage();
+        message.setQos(qos);
+        message.setRetained(retained);
+        message.setPayload(message1.getBytes());
+        MqttTopic mTopic = mqttClient.getTopic(topic);
+        if (null == mTopic) {
+            System.err.println("topic not exist");
+            log.error("topic not exist");
+        }
+        MqttDeliveryToken token;
+        token = mTopic.publish(message);
+        token.waitForCompletion();
+    }
+
+    /**
+     * 订阅某个主题,qos默认为0
+     */
+    public void subscribe(String topic) {
+        subscribe(topic, 0);
+    }
+
+    /**
+     * 订阅某个主题
+     */
+    public void subscribe(String topic, int qos) {
+        try {
+            mqttClient.subscribe(topic, qos);
+        } catch (MqttException e) {
+            e.printStackTrace();
+        }
+    }
+
+
+}
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/pool/ThreadPoolDemo.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/pool/ThreadPoolDemo.java
new file mode 100644
index 0000000..be8c015
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/pool/ThreadPoolDemo.java
@@ -0,0 +1,240 @@
+package com.ruoyi.jianguan.pool;
+
+import io.netty.util.concurrent.DefaultThreadFactory;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.concurrent.*;
+
+/**
+ * 线程池使用示例及实践
+ * execute:适用于无返回值的任务执行,如果需要返回值需要自己传入FutureTask,在子线程中抛出异常,在主线程捕捉不到
+ * submit:适用于有返回值的任务执行,不会直接抛出异常,会将异常捕获到FutureTask中,需要通过future.get()获取
+ *
+ * @author Devil
+ * @version 1.0
+ * @date 2025/4/12 21:42
+ */
+@Slf4j
+public class ThreadPoolDemo {
+
+    /**
+     * 创建并演示使用单个线程的线程池
+     * 特点:
+     * 1. 保证所有任务顺序执行
+     * 2. 使用无界队列(LinkedBlockingQueue),需注意可能的内存溢出问题
+     * 3. 适用于需要保证任务顺序执行的场景
+     */
+    @SneakyThrows
+    public static void createSingleThreadPool() {
+        // 创建单线程线程池(实际开发建议使用自定义ThreadPoolExecutor)
+        ExecutorService executorService = Executors.newSingleThreadExecutor();
+
+        try {
+            log.info("\n================ 普通任务执行 ================");
+            for (int i = 0; i < 10; i++) {
+                executorService.execute(() -> log.info("线程:{},办理业务", Thread.currentThread().getName()));
+            }
+
+            TimeUnit.MILLISECONDS.sleep(2);
+
+            log.info("\n================ 带返回值的任务执行 ================");
+            for (int i = 0; i < 10; i++) {
+                Future<String> future = executorService.submit(() -> {
+                    log.info("线程:{},办理业务", Thread.currentThread().getName());
+                    return "业务办理完成";
+                });
+                log.info(future.get());
+            }
+        } finally {
+            // 优雅关闭线程池
+            gracefulShutdown(executorService);
+        }
+    }
+
+    /**
+     * 创建固定大小的线程池
+     * 特点:
+     * 1. 固定核心线程数(=最大线程数)
+     * 2. 使用无界队列(LinkedBlockingQueue),需注意系统资源消耗
+     * 3. 适用于已知并发需求的稳定负载场景
+     */
+    @SneakyThrows
+    public static void createFixedThreadPool() {
+        // 创建固定大小线程池(建议根据CPU核心数设置)
+        ExecutorService executorService = Executors.newFixedThreadPool(5);
+
+        try {
+            log.info("\n================ 普通任务执行 ================");
+            for (int i = 0; i < 10; i++) {
+                executorService.execute(() -> log.info("线程:{},办理业务", Thread.currentThread().getName()));
+            }
+
+            TimeUnit.MILLISECONDS.sleep(1);
+
+            log.info("\n================ 带返回值的任务执行 ================");
+            for (int i = 0; i < 10; i++) {
+                Future<String> future = executorService.submit(() -> {
+                    log.info("线程:{},办理业务", Thread.currentThread().getName());
+                    return "业务办理完成";
+                });
+                log.info(future.get());
+            }
+        } finally {
+            gracefulShutdown(executorService);
+        }
+    }
+
+    /**
+     * 创建可缓存线程池
+     * 特点:
+     * 1. 自动回收空闲线程(60秒)
+     * 2. 理论上可以创建Integer.MAX_VALUE个线程,需注意线程爆炸问题
+     * 3. 适用于短期异步任务或低负载场景
+     */
+    @SneakyThrows
+    public static void createCachedThreadPool() {
+        // 创建弹性线程池(慎用,可能产生大量线程)
+        ExecutorService executorService = Executors.newCachedThreadPool();
+
+        try {
+            log.info("\n================ 普通任务执行 ================");
+            for (int i = 0; i < 10; i++) {
+                executorService.execute(() -> log.info("线程:{},办理业务", Thread.currentThread().getName()));
+            }
+
+            TimeUnit.MILLISECONDS.sleep(1);
+
+            log.info("\n================ 带返回值的任务执行 ================");
+            for (int i = 0; i < 10; i++) {
+                Future<String> future = executorService.submit(() -> {
+                    log.info("线程:{},办理业务", Thread.currentThread().getName());
+                    return "业务办理完成";
+                });
+                log.info(future.get());
+            }
+        } finally {
+            gracefulShutdown(executorService);
+        }
+    }
+
+    /**
+     * 创建定时任务线程池
+     * 特点:
+     * 1. 支持定时及周期性任务
+     * 2. 核心线程数固定,但可以不断创建新线程执行后续任务
+     * 3. 适用于需要定时执行或周期性执行的场景
+     */
+    @SneakyThrows
+    public static void createScheduledThreadPool() {
+        // 创建定时任务线程池
+        ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(5);
+
+        try {
+            log.info("\n================ 延迟任务执行 ================");
+            for (int i = 0; i < 10; i++) {
+                scheduledExecutorService.schedule(() ->
+                                log.info("线程:{},办理延迟业务", Thread.currentThread().getName()),
+                        1, TimeUnit.SECONDS);
+            }
+
+            TimeUnit.SECONDS.sleep(2);
+
+            log.info("\n================ 带返回值的延迟任务执行 ================");
+            for (int i = 0; i < 10; i++) {
+                ScheduledFuture<String> future = scheduledExecutorService.schedule(() -> {
+                    log.info("线程:{},办理延迟业务", Thread.currentThread().getName());
+                    return "延迟业务办理完成";
+                }, 1, TimeUnit.SECONDS);
+                log.info(future.get());
+            }
+        } finally {
+            gracefulShutdown(scheduledExecutorService);
+        }
+    }
+
+    /**
+     * 创建自定义线程池
+     * 特点:
+     * 1. 支持定时及周期性任务
+     * 2. 核心线程数固定,但可以不断创建新线程执行后续任务
+     * 3. 适用于需要定时执行或周期性执行的场景
+     */
+    @SneakyThrows
+    public static void createCustomThreadPool() {
+        /*
+          创建自定义线程池
+          字段:
+          1. corePoolSize:核心线程池数量
+          2. maximumPoolSize: 最大线程池数量
+          3. keepAliveTime: 线程空闲时间
+          4. unit: 时间单位
+          5. workQueue: 阻塞队列
+          5. threadFactory: 线程工厂
+          5. handler: 拒绝策略
+         */
+        ThreadPoolExecutor customthreadPoolExecutor = new ThreadPoolExecutor(
+                5,                                              // 根据CPU核心数设置
+                10,                                                         // 最大应急线程数
+                30, TimeUnit.SECONDS,                                       // 空闲线程存活时间
+                new ArrayBlockingQueue<>(100),                      // 有界队列防止内存溢出
+                new DefaultThreadFactory("custom-thread-pool"),   // 自定义线程命名
+                new ThreadPoolExecutor.CallerRunsPolicy()                   // 拒绝策略
+        );
+
+        try {
+            log.info("\n================ 普通任务执行 ================");
+            for (int i = 0; i < 20; i++) {
+                customthreadPoolExecutor.execute(() -> log.info("线程:{},办理业务", Thread.currentThread().getName()));
+            }
+
+            TimeUnit.MILLISECONDS.sleep(1);
+
+            log.info("\n================ 带返回值的任务执行 ================");
+            for (int i = 0; i < 10; i++) {
+                Future<String> future = customthreadPoolExecutor.submit(() -> {
+                    log.info("线程:{},办理业务", Thread.currentThread().getName());
+                    return "业务办理完成";
+                });
+                log.info(future.get());
+            }
+        } finally {
+            gracefulShutdown(customthreadPoolExecutor);
+        }
+    }
+
+    /**
+     * 优雅关闭线程池通用方法
+     *
+     * @param pool 需要关闭的线程池
+     */
+    private static void gracefulShutdown(ExecutorService pool) {
+        pool.shutdown(); // 拒绝新任务提交
+        try {
+            // 等待现有任务完成
+            if (!pool.awaitTermination(60, TimeUnit.SECONDS)) {
+                pool.shutdownNow(); // 取消等待中的任务 只等待运行中的任务
+                // 再次等待任务响应中断
+                if (!pool.awaitTermination(60, TimeUnit.SECONDS)) {
+                    log.error("线程池未完全关闭");
+                }
+            }
+        } catch (InterruptedException e) {
+            // 重新尝试关闭
+            pool.shutdownNow();
+            Thread.currentThread().interrupt();
+        } finally {
+            log.info("线程池是否执行完成:{}", pool.isTerminated());
+        }
+    }
+
+
+    public static void main(String[] args) {
+        // 测试不同线程池(选择其中一个执行)
+//        createSingleThreadPool();
+//        createFixedThreadPool();
+//        createCachedThreadPool();
+//        createScheduledThreadPool();
+        createCustomThreadPool();
+    }
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/AcquisitionBillingModeMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/AcquisitionBillingModeMessage.java
new file mode 100644
index 0000000..d796946
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/AcquisitionBillingModeMessage.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电桩计费模型请求
+ **/
+
+@Data
+public class AcquisitionBillingModeMessage extends BaseMessage {
+
+    private String charging_pile_code;// 桩编码
+
+}
+
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BillingModeVerifyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BillingModeVerifyMessage.java
new file mode 100644
index 0000000..4c2bddd
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BillingModeVerifyMessage.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 计费模型验证请求
+ **/
+
+@Data
+public class BillingModeVerifyMessage extends BaseMessage {
+
+    private String charging_pile_code;// 桩编码
+    private String billing_model_code;// "计费模型编号,首次连接到平台时置零
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsAbortMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsAbortMessage.java
new file mode 100644
index 0000000..48f0efd
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsAbortMessage.java
@@ -0,0 +1,22 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电阶段BMS中止
+ **/
+
+@Data
+public class BmsAbortMessage extends BaseMessage {
+
+    private String transaction_serial_number; // 交易流水号
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private Integer bms_stop_charging_reason; // BMS 中止充电原因(1-2 位——所需求的 SOC 目标值,3-4 位——达到总电压的设定值,5-6 位——达到单体电压设定值,7-8 位——充电机主动中止)
+    private Integer bms_aborted_charging_fault_cause; // BMS 中止充电故障原因(1-2 位——绝缘故障,3-4 位——输出连接器过温故障,5-6 位——BMS 元件、输出连接器过温,7-8 位——充电连接器故障,9-10 位——电池组温度过高故障,11-12 位——高压继电器故障,13 位-14 位——检测点 2 电压检测故障,15-16 位——其他故障)
+    private Integer bms_aborted_charging_error_cause; // BMS 中止充电错误原因(1-2 位——电流过大,3-4 位——电压异常,5-8 位——预留位)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsDemandAndChargerExportationMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsDemandAndChargerExportationMessage.java
new file mode 100644
index 0000000..51e3e09
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsDemandAndChargerExportationMessage.java
@@ -0,0 +1,34 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 充电过程BMS需求、充电机输出
+ **/
+
+@Data
+public class BmsDemandAndChargerExportationMessage extends BaseMessage {
+
+    private String transaction_serial_number; // 交易流水号
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private BigDecimal bms_voltage_requirements; // BMS 电压需求
+    private BigDecimal bms_current_requirements; // BMS 电流需求
+    private Integer bms_charging_mode; // BMS 充电模式(1:恒压充电;2:恒流充电)
+    private BigDecimal bms_voltage_measurement_value; // BMS 充电电压测量值
+    private BigDecimal bms_current_measurement_value; // BMS 充电电流测量值
+    private BigDecimal bms_battery_voltage; //  最高电压 BMS 最高单体动力蓄电池电压及组号(1-12 位:最高单体动力蓄电池电压,数据分辨率:0.01 V/位,0 V 偏移量;数据范围:0~24 V;13-16 位:最高单体动力蓄电池电压所在组号,数据分辨率:1/位,0 偏移量;数据范围:0~15)
+    private Integer bms_group_number; //  所在组号 BMS 最高单体动力蓄电池电压及组号(1-12 位:最高单体动力蓄电池电压,数据分辨率:0.01 V/位,0 V 偏移量;数据范围:0~24 V;13-16 位:最高单体动力蓄电池电压所在组号,数据分辨率:1/位,0 偏移量;数据范围:0~15)
+    private BigDecimal bms_charged_status; // BMS 当前荷电状态 SOC( %)
+    private BigDecimal bms_remaining_charging_time; // BMS 估算剩余充电时间
+    private BigDecimal voltage_output_value; // 电桩电压输出值
+    private BigDecimal current_output_value; // 电桩电流输出值
+    private BigDecimal cumulative_charging_time; // 累计充电时间
+
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsInformationMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsInformationMessage.java
new file mode 100644
index 0000000..f49da50
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/BmsInformationMessage.java
@@ -0,0 +1,31 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电过程BMS信息
+ **/
+
+@Data
+public class BmsInformationMessage extends BaseMessage {
+
+    private String transaction_serial_number; // 交易流水号
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private Integer bms_highest_voltage_number; // BMS 最高单体动力蓄电池电压所在编号
+    private String bms_maximum_battery_temperature; // BMS 最高动力蓄电池温度
+    private String maximum_temperature_detection_point_number; // 最高温度检测点编号
+    private String minimum_cell_temperature; // 最低动力蓄电池温度
+    private String lowest_temperature_detection_pointt_number; // 最低动力蓄电池温度检测点编号
+    private Integer bms_battery_voltage; // BMS 单体动力蓄电池电压过高 /过低(0:正常,1:过高,10:过低)
+    private Integer bms_battery_charging_status; // BMS 整车动力蓄电池荷电状态SOC 过高/过低(0:正常,1:过高,10:过低)
+    private Integer bms_charging_overcurrent; // BMS 动力蓄电池充电过电流(0:正常,1:过流,10:不可信状态)
+    private Integer bms_high_battery_temperature; // BMS 动力蓄电池温度过高(0:正常,1:过流,10:不可信状态)
+    private Integer bms_battery_insulation_status; // BMS 动力蓄电池绝缘状态(0:正常,1:过流,10:不可信状态)
+    private Integer bms_output_connector_connection_status; // BMS 动力蓄电池组输出连接器连接状态(0:正常,1:过流,10:不可信状态)
+    private Integer charge_prohibition; // 充电禁止(0:禁止,1:允许)
+    private Integer reserve; // 预留位
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingHandshakeMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingHandshakeMessage.java
new file mode 100644
index 0000000..11f5796
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingHandshakeMessage.java
@@ -0,0 +1,36 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 充电握手
+ **/
+
+@Data
+public class ChargingHandshakeMessage extends BaseMessage {
+
+    private String transaction_serial_number;// 交易流水号
+    private String charging_pile_code;// 桩编码
+    private String charging_gun_code;// 抢号
+    private String bms_protocol_version;// BMS 通信协议版本号
+    private Integer bms_battery_type;// BMS 电池类型(1:铅酸电池;2:氢:电池;3:磷酸铁锂电池;4:锰酸锂电池;5:钴酸锂电池;6:三元材料电池;7:聚合物锂离子电池;8:钛酸锂电池;FFH:其他)
+    private BigDecimal bms_battery_capacity;// BMS 整车动力蓄电池系统额定容量
+    private BigDecimal bms_total_battery_voltage;// BMS 整车动力蓄电池系统额定总电压
+    private String bms_battery_manufacturer;// BMS 电池生产厂商名称
+    private String bms_battery_serial_number;// BMS 电池组序号
+    private Integer bms_battery_production_year;// BMS 电池组生产日期年
+    private Integer bms_battery_production_month;// BMS 电池组生产日期月
+    private Integer bms_battery_production_day;// BMS 电池组生产日期日
+    private Integer bms_battery_charging_times;// BMS 电池组充电次数
+    private Integer bms_battery_property_rights;// BMS 电池组产权标识
+    private Integer reserved;// 预留位
+    private String vim;// BMS 车辆识别码
+    private Integer bms_software_version;// BMS 软件版本号
+
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingMessage.java
new file mode 100644
index 0000000..970aa8f
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingMessage.java
@@ -0,0 +1,46 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+@Data
+public class ChargingMessage extends BaseMessage {
+    // 充电设备状态message
+    private GunStatusMessage gunStatusMessage;
+    // 推送充电订单状态/充电订单信息message
+    private ChargingOrderMessage orderMessage;
+    private AcquisitionBillingModeMessage acquisitionBillingModeMessage;
+    private BillingModeVerifyMessage billingModeVerifyMessage;
+    private BmsAbortMessage bmsAbortMessage;
+    private BmsDemandAndChargerExportationMessage bmsDemandAndChargerExportationMessage;
+    private BmsInformationMessage bmsInformationMessage;
+    private ChargingHandshakeMessage chargingHandshakeMessage;
+    private ChargingMessage chargingMessage;
+    private ChargingPileReturnsGroundLockDataMessage chargingPileReturnsGroundLockDataMessage;
+    private ChargingPileStartsChargingMessage chargingPileStartsChargingMessage;
+    private ClearOfflineCardReplyMessage clearOfflineCardReplyMessage;
+    private EndChargeMessage endChargeMessage;
+    private ErrorMessageMessage errorMessageMessage;
+    private GroundLockRealTimeDataMessage groundLockRealTimeDataMessage;
+    private MotorAbortMessage motorAbortMessage;
+    private OnlineMessage onlineMessage;
+    private ParameterSettingMessage parameterSettingMessage;
+    private PingMessage pingMessage;
+    private PlatformRemoteUpdateReplyMessage platformRemoteUpdateReplyMessage;
+    private PlatformRestartReplyMessage platformRestartReplyMessage;
+    private PlatformStartChargingReplyMessage platformStartChargingReplyMessage;
+    private PlatformStopChargingReplyMessage platformStopChargingReplyMessage;
+    private QrCodeDeliveryMessage qrCodeDeliveryMessage;
+    private QrCodeDeliveryReplyMessage qrCodeDeliveryReplyMessage;
+    private QueryOfflineCardReplyMessage queryOfflineCardReplyMessage;
+    private SecurityDetectionMessage securityDetectionMessage;
+    private SetupBillingModelReplyMessage setupBillingModelReplyMessage;
+    private SynchronizeOfflineCardReplyMessage synchronizeOfflineCardReplyMessage;
+    private TimingSettingMessage timingSettingMessage;
+    private TimingSettingReplyMessage timingSettingReplyMessage;
+    private TransactionRecordMessage transactionRecordMessage;
+    private UpdateBalanceReplyMessage updateBalanceReplyMessage;
+    private UploadRealTimeMonitoringDataMessage uploadRealTimeMonitoringDataMessage;
+    private WorkingParameterSettingReplyMessage workingParameterSettingReplyMessage;
+
+}
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingOrderMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingOrderMessage.java
new file mode 100644
index 0000000..16a99a7
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingOrderMessage.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电桩计费模型请求
+ **/
+
+@Data
+public class ChargingOrderMessage extends BaseMessage {
+
+    private String orderNumber;// 订单编号
+    private String soc;// soc
+
+}
+
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileReturnsGroundLockDataMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileReturnsGroundLockDataMessage.java
new file mode 100644
index 0000000..215fe79
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileReturnsGroundLockDataMessage.java
@@ -0,0 +1,20 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ *  充电桩返回数据(上行)
+ **/
+
+@Data
+public class ChargingPileReturnsGroundLockDataMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String charging_gun_code; // 抢号
+    private Integer control_state; // 地锁控制返回标志(1:鉴权成功,0:鉴权失败)
+    private String reserve; // 预留位
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileStartsChargingMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileStartsChargingMessage.java
new file mode 100644
index 0000000..b3ed842
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ChargingPileStartsChargingMessage.java
@@ -0,0 +1,23 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电桩主动申请启动充电
+ **/
+
+@Data
+public class ChargingPileStartsChargingMessage extends BaseMessage {
+
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private Integer start_method; // 启动方式(1:表示通过刷卡启动充电,2:表示通过帐号启动充电(暂不支持),3:表示vin码启动充电)
+    private Integer need_password; // 是否需要密码(0:不需要,1:需要)
+    private String account; // 账号或者物理卡号
+    private String password; // 输入密码
+    private String vin; // "VIN 码,启动方式为vin码启动充电时上送,其他方式置零( ASCII码),VIN码需要反序上送
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ClearOfflineCardReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ClearOfflineCardReplyMessage.java
new file mode 100644
index 0000000..0912ef8
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ClearOfflineCardReplyMessage.java
@@ -0,0 +1,88 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 离线卡数据清除应答
+ **/
+
+@Data
+public class ClearOfflineCardReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String physical_card1; // 第 1 个卡物理卡号,离线卡物理卡号
+    private String physical_card2;
+    private String physical_card3;
+    private String physical_card4;
+    private String physical_card5;
+    private String physical_card6;
+    private String physical_card7;
+    private String physical_card8;
+    private String physical_card9;
+    private String physical_card10;
+    private String physical_card11;
+    private String physical_card12;
+    private String physical_card13;
+    private String physical_card14;
+    private String physical_card15;
+    private String physical_card16;
+    private String physical_card17;
+    private String physical_card18;
+    private String physical_card19;
+    private String physical_card20;
+    private String physical_card21;
+    private String physical_card22;
+    private String physical_card23;
+    private String physical_card24;
+    private Integer clear_result1; // 清除标记(0:清除失败,1:清除成功)
+    private Integer clear_result2;
+    private Integer clear_result3;
+    private Integer clear_result4;
+    private Integer clear_result5;
+    private Integer clear_result6;
+    private Integer clear_result7;
+    private Integer clear_result8;
+    private Integer clear_result9;
+    private Integer clear_result10;
+    private Integer clear_result11;
+    private Integer clear_result12;
+    private Integer clear_result13;
+    private Integer clear_result14;
+    private Integer clear_result15;
+    private Integer clear_result16;
+    private Integer clear_result17;
+    private Integer clear_result18;
+    private Integer clear_result19;
+    private Integer clear_result20;
+    private Integer clear_result21;
+    private Integer clear_result22;
+    private Integer clear_result23;
+    private Integer clear_result24;
+    private Integer failure_cause1; // 失败原因(1:卡号格式错误,2:清除成功)
+    private Integer failure_cause2;
+    private Integer failure_cause3;
+    private Integer failure_cause4;
+    private Integer failure_cause5;
+    private Integer failure_cause6;
+    private Integer failure_cause7;
+    private Integer failure_cause8;
+    private Integer failure_cause9;
+    private Integer failure_cause10;
+    private Integer failure_cause11;
+    private Integer failure_cause12;
+    private Integer failure_cause13;
+    private Integer failure_cause14;
+    private Integer failure_cause15;
+    private Integer failure_cause16;
+    private Integer failure_cause17;
+    private Integer failure_cause18;
+    private Integer failure_cause19;
+    private Integer failure_cause20;
+    private Integer failure_cause21;
+    private Integer failure_cause22;
+    private Integer failure_cause23;
+    private Integer failure_cause24;
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/EndChargeMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/EndChargeMessage.java
new file mode 100644
index 0000000..27dd327
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/EndChargeMessage.java
@@ -0,0 +1,29 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 充电结束
+ **/
+
+@Data
+public class EndChargeMessage extends BaseMessage {
+
+    private String transaction_serial_number; // 交易流水号
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private BigDecimal bms_battery_charging_status; // BMS 中止荷电状态 SOC
+    private BigDecimal bms_minimum_battery_voltage; // BMS 动力蓄电池单体最低电压
+    private BigDecimal bms_maximum_battery_voltage; // BMS 动力蓄电池单体最高电压
+    private BigDecimal bms_minimum_battery_temperature; // BMS 动力蓄电池最低温度
+    private BigDecimal bms_maximum_battery_temperature; // BMS 动力蓄电池最高温度
+    private BigDecimal cumulative_charging_time; // 电桩累计充电时间
+    private BigDecimal output_energy; // 电桩输出能量
+    private String charger_code; // 电桩充电机编号
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ErrorMessageMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ErrorMessageMessage.java
new file mode 100644
index 0000000..a45ec2f
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ErrorMessageMessage.java
@@ -0,0 +1,38 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 错误报文
+ */
+@Data
+public class ErrorMessageMessage extends BaseMessage {
+
+    private String transaction_serial_number; // 交易流水号
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private Integer charger_identification_0; // 接收 SPN2560=0x00 的充电机辨识报文超时(0=正常,1=超时,10=不可信状态)
+    private Integer charger_identification_170; // 接收 SPN2560=0xAA 的充电机辨识报文超时(0=正常,1=超时,10=不可信状态)
+    private String charger_identification_reserve; // 预留位
+    private Integer time_synchronization_and_maximum_output_charger; // 接收充电机的时间同步和充电机最大输出能力报文超时(0=正常,1=超时,10=不可信状态)
+    private Integer charge_preparation; // 接收充电机完成充电准备报文超时(0=正常,1=超时,10=不可信状态)
+    private String charge_preparation_reserve; // 预留位
+    private Integer charging_status; // 接收充电机充电状态报文超时(0=正常,1=超时,10=不可信状态)
+    private Integer stop_charging; // 接收充电机中止充电报文超时(0=正常,1=超时,10=不可信状态)
+    private String charge_reserve; // 预留位
+    private Integer charging_statistics; // 接收充电机充电统计报文超时(0=正常,1=超时,10=不可信状态)
+    private String bms_other; // BMS 其他
+    private Integer bms_and_vehicle_identification; // 接收 BMS 和车辆的辨识报文超时(0=正常,1=超时,10=不可信状态)
+    private String bms_and_vehicle_identification_reserve; // 预留位
+    private Integer battery_charging_parameter; // 接收电池充电参数报文超时(0=正常,1=超时,10=不可信状态)
+    private Integer bms_completes_charging_preparation; // 接收 BMS 完成充电准备报文超时(0=正常,1=超时,10=不可信状态)
+    private String bms_completes_charging_preparation_reserve; // 预留位
+    private Integer total_battery_charging_status; // 接收电池充电总状态报文超时(0=正常,1=超时,10=不可信状态)
+    private Integer battery_charging_requirements; // 接收电池充电要求报文超时(0=正常,1=超时,10=不可信状态)
+    private Integer bms_stop_charging; // 接收 BMS 中止充电报文超时(0=正常,1=超时,10=不可信状态)
+    private Integer bms_reserve; // 预留位
+    private Integer bms_charging_statistics; // 接收 BMS 充电统计报文超时0=正常,1=超时,10=不可信状态)
+    private String charger_other; // 充电机其他
+
+}
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GroundLockRealTimeDataMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GroundLockRealTimeDataMessage.java
new file mode 100644
index 0000000..4cca8f4
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GroundLockRealTimeDataMessage.java
@@ -0,0 +1,23 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 地锁数据上送(充电桩上送)
+ **/
+
+@Data
+public class GroundLockRealTimeDataMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String charging_gun_code; // 抢号
+    private Integer parking_lock_status; // 车位锁状态(0:未到位状态,1:升锁到位状态,2:降锁到位状态)
+    private Integer parking_status; // 车位状态(0:无车辆,1:停放车辆)
+    private Integer ground_locking_capacity; // 地锁电量状态
+    private Integer alarm_status; // 报警状态(0:正常无报警,1:待机状态摇臂破坏,2:摇臂升降异常(未到位))
+    private String reserve; // 预留位
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GunStatusMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GunStatusMessage.java
new file mode 100644
index 0000000..f459829
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/GunStatusMessage.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电桩计费模型请求
+ **/
+
+@Data
+public class GunStatusMessage extends BaseMessage {
+
+    private String fullNumber;// 枪完整编码
+
+}
+
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/MotorAbortMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/MotorAbortMessage.java
new file mode 100644
index 0000000..f1d0bcd
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/MotorAbortMessage.java
@@ -0,0 +1,22 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电阶段充电机中止
+ **/
+
+@Data
+public class MotorAbortMessage extends BaseMessage {
+
+    private String transaction_serial_number; // 交易流水号
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private Integer charger_stops_charging_reason; // 充电机中止充电原因(1-2 位——达到充电机设定的条件中止,3-4 位——人工中止,5-6 位——异常中止)
+    private Integer charging_failure_cause; // 充电机中止充电故障原因(1-2 位——充电机过温故障,3-4 位——充电连接器故障,5-6 位——充电机内部过温故障,7-8 位——所需电量不能传送,9-10 位——充电机急停故障,11-12 位——其他故障,13-16 位——预留位)
+    private Integer charging_machine_stopped_charging_error_cause; // 充电机中止充电错误原因(1-2 位——电流不匹配,3-4 位——电压异常,5-8 位——预留位)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/OnlineMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/OnlineMessage.java
new file mode 100644
index 0000000..9784504
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/OnlineMessage.java
@@ -0,0 +1,22 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电桩登录认证
+ **/
+
+@Data
+public class OnlineMessage extends BaseMessage {
+    private String charging_pile_code;// 充电桩编号
+    private Integer charging_pile_type;// 充电桩类型(0 表示直流桩,1 表示交流桩)
+    private Integer charging_gun_number;// 充电枪数量
+    private String protocol_version;// 通信协议版本
+    private String program_version;// 程序版本
+    private Integer network_link_type;// 网络链接类型(0:SIM 卡,1:LAN,2:WAN,3:其他)
+    private String sim;// Sim 卡
+    private Integer operator;// 运营商(0: 移动,2:电信,3:联通,4:其他)
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ParameterSettingMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ParameterSettingMessage.java
new file mode 100644
index 0000000..60fa634
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/ParameterSettingMessage.java
@@ -0,0 +1,33 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 参数配置
+ **/
+
+@Data
+public class ParameterSettingMessage extends BaseMessage {
+
+    private String transaction_serial_number; // 交易流水号
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private BigDecimal bms_maximum_charging_voltage; // BMS 单体动力蓄电池最高允许充电电压
+    private BigDecimal bms_maximum_charging_current; // BMS 最高允许充电电流
+    private BigDecimal bms_battery_total_energy; // BMS 动力蓄电池标称总能量
+    private BigDecimal bms_total_charging_voltage; // BMS 最高允许充电总电压
+    private BigDecimal bms_maximum_temperature; // BMS 最高允许温度
+    private BigDecimal bms_battery_charging_status; // BMS 整车动力蓄电池荷电状态 (soc)
+    private BigDecimal bms_battery_voltage; // BMS 整车动力蓄电池当前电池 电压
+    private BigDecimal maximum_output_voltage; // 电桩最高输出电压
+    private BigDecimal minimum_output_voltage; // 电桩最低输出电压
+    private BigDecimal maximum_output_current; // 电桩最大输出电流
+    private BigDecimal minimum_output_current; // 电桩最小输出电流
+
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PingMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PingMessage.java
new file mode 100644
index 0000000..fad2fff
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PingMessage.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电桩心跳包
+ **/
+
+@Data
+public class PingMessage extends BaseMessage {
+
+    private String charging_pile_code;// 桩编码
+    private String charging_gun_code;// 抢号
+    private Integer charging_gun_status;// 抢状态(0:正常,1:故障)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRemoteUpdateReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRemoteUpdateReplyMessage.java
new file mode 100644
index 0000000..0ab906d
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRemoteUpdateReplyMessage.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ *  远程更新应答
+ **/
+
+@Data
+public class PlatformRemoteUpdateReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private Integer escalation_state; // 升级状态(0:成功,1:编码错误,2:程序与桩型号不符,3:下载更新文件超时)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRestartReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRestartReplyMessage.java
new file mode 100644
index 0000000..392b61c
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformRestartReplyMessage.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ *  远程重启应答
+ **/
+
+@Data
+public class PlatformRestartReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private Integer set_result; // 设置结果(0:失败,1:成功)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStartChargingReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStartChargingReplyMessage.java
new file mode 100644
index 0000000..3d92094
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStartChargingReplyMessage.java
@@ -0,0 +1,22 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 远程启机命令回复
+ **/
+
+@Data
+public class PlatformStartChargingReplyMessage extends BaseMessage {
+
+    private String transaction_serial_number; // 交易流水号
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private Integer startup_result; // 启动结果(0:失败,1:成功)
+    private Integer failure_cause; // "失败原因(0:无,1:设备编号不匹配,2:枪已在充电,3:设备故障,4:设备离线,5:未插枪桩在收到启充命令后,检测到未插枪则发送 0x33 报文回复充电失败。若在 60 秒(以收到 0x34 时间开始计算)内检测到枪重新连接,则补送 0x33 成功报文;超时或者离线等其他异常,桩不启充、不补发 0x33 报文)"
+
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStopChargingReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStopChargingReplyMessage.java
new file mode 100644
index 0000000..2c67548
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/PlatformStopChargingReplyMessage.java
@@ -0,0 +1,21 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 远程停机命令回复
+ **/
+
+@Data
+public class PlatformStopChargingReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private Integer stop_result; // 停止结果(0:失败,1:成功)
+    private Integer failure_cause; // 失败原因(0:无,1:设备编号不匹配,2:枪未处于充电状态,3:其他)
+
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryMessage.java
new file mode 100644
index 0000000..5a6584e
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryMessage.java
@@ -0,0 +1,22 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ *
+ **/
+
+@Data
+public class QrCodeDeliveryMessage extends BaseMessage {
+
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 枪编码
+    private Integer code_format; // "0:第一种前缀+桩编号  1:第二种前缀+桩编号+枪编号"
+    private Integer prefix_length; // 二维码前缀长度长度最大不超过200 字节
+    private String code_prefix; // 如:“www.baidu.com?No=”
+    private String qr_code; // 二维码内容,如:“www.baidu.com?No=3422000100023301”
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryReplyMessage.java
new file mode 100644
index 0000000..eb4b935
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QrCodeDeliveryReplyMessage.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ *
+ **/
+
+@Data
+public class QrCodeDeliveryReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; // 桩编码
+    private Integer delivery_result; // 设置结果(0:成功,1:失败)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QueryOfflineCardReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QueryOfflineCardReplyMessage.java
new file mode 100644
index 0000000..986715f
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/QueryOfflineCardReplyMessage.java
@@ -0,0 +1,64 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 离线卡数据查询应答
+ **/
+
+@Data
+public class QueryOfflineCardReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String physical_card1; // 第 1 个卡物理卡号,离线卡物理卡号
+    private String physical_card2;
+    private String physical_card3;
+    private String physical_card4;
+    private String physical_card5;
+    private String physical_card6;
+    private String physical_card7;
+    private String physical_card8;
+    private String physical_card9;
+    private String physical_card10;
+    private String physical_card11;
+    private String physical_card12;
+    private String physical_card13;
+    private String physical_card14;
+    private String physical_card15;
+    private String physical_card16;
+    private String physical_card17;
+    private String physical_card18;
+    private String physical_card19;
+    private String physical_card20;
+    private String physical_card21;
+    private String physical_card22;
+    private String physical_card23;
+    private String physical_card24;
+    private Integer query_result1; // 查询结果(0:不存在,1:存在)
+    private Integer query_result2;
+    private Integer query_result3;
+    private Integer query_result4;
+    private Integer query_result5;
+    private Integer query_result6;
+    private Integer query_result7;
+    private Integer query_result8;
+    private Integer query_result9;
+    private Integer query_result10;
+    private Integer query_result11;
+    private Integer query_result12;
+    private Integer query_result13;
+    private Integer query_result14;
+    private Integer query_result15;
+    private Integer query_result16;
+    private Integer query_result17;
+    private Integer query_result18;
+    private Integer query_result19;
+    private Integer query_result20;
+    private Integer query_result21;
+    private Integer query_result22;
+    private Integer query_result23;
+    private Integer query_result24;
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SecurityDetectionMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SecurityDetectionMessage.java
new file mode 100644
index 0000000..63f562e
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SecurityDetectionMessage.java
@@ -0,0 +1,21 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ *
+ **/
+
+@Data
+public class SecurityDetectionMessage extends BaseMessage {
+
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private Integer secure_connection; // 车枪连接(0=未连接,1=连接)
+    private Integer nsulation_detection; // 绝缘检测(0=安全,1=不安全)
+    private Integer electronic_lock_lock; // 电磁锁状态(0=未锁,1=已锁)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SetupBillingModelReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SetupBillingModelReplyMessage.java
new file mode 100644
index 0000000..77dd7ff
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SetupBillingModelReplyMessage.java
@@ -0,0 +1,18 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 计费模型应答
+ **/
+
+@Data
+public class SetupBillingModelReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String set_result; //设置结果(0:失败,1:成功)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SynchronizeOfflineCardReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SynchronizeOfflineCardReplyMessage.java
new file mode 100644
index 0000000..768fdb6
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/SynchronizeOfflineCardReplyMessage.java
@@ -0,0 +1,19 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 卡数据同步应答
+ **/
+
+@Data
+public class SynchronizeOfflineCardReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private Integer save_result; // 保存结果(0:失败,1:成功)
+    private Integer failure_cause; // 失败原因(1:卡号格式错误,2:储存空间不足)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingMessage.java
new file mode 100644
index 0000000..703d807
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingMessage.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 对时设置
+ **/
+
+@Data
+public class TimingSettingMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String current_time; //当前时间
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingReplyMessage.java
new file mode 100644
index 0000000..fcb3a1c
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TimingSettingReplyMessage.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 对时设置应答
+ **/
+
+@Data
+public class TimingSettingReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String current_time; //当前时间
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TransactionRecordMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TransactionRecordMessage.java
new file mode 100644
index 0000000..aae42d8
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/TransactionRecordMessage.java
@@ -0,0 +1,187 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 交易记录
+ **/
+
+@Data
+public class TransactionRecordMessage extends BaseMessage {
+
+    private String transaction_serial_number;// 交易流水号
+    private String charging_pile_code;// 桩编码
+    private String charging_gun_code;// 抢号
+    private String start_time;// 开始时间
+    private String end_time;// 结束时间
+    private BigDecimal total_electricity;// 总电量
+    private BigDecimal loss_total_electricity;// 计损总电量
+    private BigDecimal payment_amount;// 消费金额
+    private Integer method;// 交易标识(1:app 启动,2:卡启动,4:离线卡启动,5: vin 码启动充电)
+    private String trade_date;// 交易日期、时间
+    private Integer stop_reason;// 停止原因
+    private String physical_card_number;// 物理卡号
+    private String billing_model_code1;// 计费模型编号
+    private BigDecimal spike_charge1;// 尖电量
+    private BigDecimal loss_spike_charge1;// 计损尖电量
+    private BigDecimal spike_amount1;// 尖金额
+    private BigDecimal flat_charge1;// 平电量
+    private BigDecimal loss_flat_charge1;// 计损平电量
+    private BigDecimal flat_amount1;// 平金额
+    private BigDecimal peak_charge1;// 峰电量
+    private BigDecimal loss_peak_charge1;// 计损峰电量
+    private BigDecimal peak_amount1;// 峰金额
+    private BigDecimal valley_charge1;// 谷电量
+    private BigDecimal loss_valley_charge1;// 计损谷电量
+    private BigDecimal valley_amount1;// 谷金额
+    private String billing_model_code2;// 计费模型编号
+    private BigDecimal spike_charge2;// 尖电量
+    private BigDecimal loss_spike_charge2;// 计损尖电量
+    private BigDecimal spike_amount2;// 尖金额
+    private BigDecimal flat_charge2;// 平电量
+    private BigDecimal loss_flat_charge2;// 计损平电量
+    private BigDecimal flat_amount2;// 平金额
+    private BigDecimal peak_charge2;// 峰电量
+    private BigDecimal loss_peak_charge2;// 计损峰电量
+    private BigDecimal peak_amount2;// 峰金额
+    private BigDecimal valley_charge2;// 谷电量
+    private BigDecimal loss_valley_charge2;// 计损谷电量
+    private BigDecimal valley_amount2;// 谷金额
+    private String billing_model_code3;// 计费模型编号
+    private BigDecimal spike_charge3;// 尖电量
+    private BigDecimal loss_spike_charge3;// 计损尖电量
+    private BigDecimal spike_amount3;// 尖金额
+    private BigDecimal flat_charge3;// 平电量
+    private BigDecimal loss_flat_charge3;// 计损平电量
+    private BigDecimal flat_amount3;// 平金额
+    private BigDecimal peak_charge3;// 峰电量
+    private BigDecimal loss_peak_charge3;// 计损峰电量
+    private BigDecimal peak_amount3;// 峰金额
+    private BigDecimal valley_charge3;// 谷电量
+    private BigDecimal loss_valley_charge3;// 计损谷电量
+    private BigDecimal valley_amount3;// 谷金额
+    private String billing_model_code4;// 计费模型编号
+    private BigDecimal spike_charge4;// 尖电量
+    private BigDecimal loss_spike_charge4;// 计损尖电量
+    private BigDecimal spike_amount4;// 尖金额
+    private BigDecimal flat_charge4;// 平电量
+    private BigDecimal loss_flat_charge4;// 计损平电量
+    private BigDecimal flat_amount4;// 平金额
+    private BigDecimal peak_charge4;// 峰电量
+    private BigDecimal loss_peak_charge4;// 计损峰电量
+    private BigDecimal peak_amount4;// 峰金额
+    private BigDecimal valley_charge4;// 谷电量
+    private BigDecimal loss_valley_charge4;// 计损谷电量
+    private BigDecimal valley_amount4;// 谷金额
+    private String billing_model_code5;// 计费模型编号
+    private BigDecimal spike_charge5;// 尖电量
+    private BigDecimal loss_spike_charge5;// 计损尖电量
+    private BigDecimal spike_amount5;// 尖金额
+    private BigDecimal flat_charge5;// 平电量
+    private BigDecimal loss_flat_charge5;// 计损平电量
+    private BigDecimal flat_amount5;// 平金额
+    private BigDecimal peak_charge5;// 峰电量
+    private BigDecimal loss_peak_charge5;// 计损峰电量
+    private BigDecimal peak_amount5;// 峰金额
+    private BigDecimal valley_charge5;// 谷电量
+    private BigDecimal loss_valley_charge5;// 计损谷电量
+    private BigDecimal valley_amount5;// 谷金额
+    private String billing_model_code6;// 计费模型编号
+    private BigDecimal spike_charge6;// 尖电量
+    private BigDecimal loss_spike_charge6;// 计损尖电量
+    private BigDecimal spike_amount6;// 尖金额
+    private BigDecimal flat_charge6;// 平电量
+    private BigDecimal loss_flat_charge6;// 计损平电量
+    private BigDecimal flat_amount6;// 平金额
+    private BigDecimal peak_charge6;// 峰电量
+    private BigDecimal loss_peak_charge6;// 计损峰电量
+    private BigDecimal peak_amount6;// 峰金额
+    private BigDecimal valley_charge6;// 谷电量
+    private BigDecimal loss_valley_charge6;// 计损谷电量
+    private BigDecimal valley_amount6;// 谷金额
+    private String billing_model_code7;// 计费模型编号
+    private BigDecimal spike_charge7;// 尖电量
+    private BigDecimal loss_spike_charge7;// 计损尖电量
+    private BigDecimal spike_amount7;// 尖金额
+    private BigDecimal flat_charge7;// 平电量
+    private BigDecimal loss_flat_charge7;// 计损平电量
+    private BigDecimal flat_amount7;// 平金额
+    private BigDecimal peak_charge7;// 峰电量
+    private BigDecimal loss_peak_charge7;// 计损峰电量
+    private BigDecimal peak_amount7;// 峰金额
+    private BigDecimal valley_charge7;// 谷电量
+    private BigDecimal loss_valley_charge7;// 计损谷电量
+    private BigDecimal valley_amount7;// 谷金额
+    private String billing_model_code8;// 计费模型编号
+    private BigDecimal spike_charge8;// 尖电量
+    private BigDecimal loss_spike_charge8;// 计损尖电量
+    private BigDecimal spike_amount8;// 尖金额
+    private BigDecimal flat_charge8;// 平电量
+    private BigDecimal loss_flat_charge8;// 计损平电量
+    private BigDecimal flat_amount8;// 平金额
+    private BigDecimal peak_charge8;// 峰电量
+    private BigDecimal loss_peak_charge8;// 计损峰电量
+    private BigDecimal peak_amount8;// 峰金额
+    private BigDecimal valley_charge8;// 谷电量
+    private BigDecimal loss_valley_charge8;// 计损谷电量
+    private BigDecimal valley_amount8;// 谷金额
+    private String billing_model_code9;// 计费模型编号
+    private BigDecimal spike_charge9;// 尖电量
+    private BigDecimal loss_spike_charge9;// 计损尖电量
+    private BigDecimal spike_amount9;// 尖金额
+    private BigDecimal flat_charge9;// 平电量
+    private BigDecimal loss_flat_charge9;// 计损平电量
+    private BigDecimal flat_amount9;// 平金额
+    private BigDecimal peak_charge9;// 峰电量
+    private BigDecimal loss_peak_charge9;// 计损峰电量
+    private BigDecimal peak_amount9;// 峰金额
+    private BigDecimal valley_charge9;// 谷电量
+    private BigDecimal loss_valley_charge9;// 计损谷电量
+    private BigDecimal valley_amount9;// 谷金额
+    private String billing_model_code10;// 计费模型编号
+    private BigDecimal spike_charge10;// 尖电量
+    private BigDecimal loss_spike_charge10;// 计损尖电量
+    private BigDecimal spike_amount10;// 尖金额
+    private BigDecimal flat_charge10;// 平电量
+    private BigDecimal loss_flat_charge10;// 计损平电量
+    private BigDecimal flat_amount10;// 平金额
+    private BigDecimal peak_charge10;// 峰电量
+    private BigDecimal loss_peak_charge10;// 计损峰电量
+    private BigDecimal peak_amount10;// 峰金额
+    private BigDecimal valley_charge10;// 谷电量
+    private BigDecimal loss_valley_charge10;// 计损谷电量
+    private BigDecimal valley_amount10;// 谷金额
+    private String billing_model_code11;// 计费模型编号
+    private BigDecimal spike_charge11;// 尖电量
+    private BigDecimal loss_spike_charge11;// 计损尖电量
+    private BigDecimal spike_amount11;// 尖金额
+    private BigDecimal flat_charge11;// 平电量
+    private BigDecimal loss_flat_charge11;// 计损平电量
+    private BigDecimal flat_amount11;// 平金额
+    private BigDecimal peak_charge11;// 峰电量
+    private BigDecimal loss_peak_charge11;// 计损峰电量
+    private BigDecimal peak_amount11;// 峰金额
+    private BigDecimal valley_charge11;// 谷电量
+    private BigDecimal loss_valley_charge11;// 计损谷电量
+    private BigDecimal valley_amount11;// 谷金额
+    private String billing_model_code12;// 计费模型编号
+    private BigDecimal spike_charge12;// 尖电量
+    private BigDecimal loss_spike_charge12;// 计损尖电量
+    private BigDecimal spike_amount12;// 尖金额
+    private BigDecimal flat_charge12;// 平电量
+    private BigDecimal loss_flat_charge12;// 计损平电量
+    private BigDecimal flat_amount12;// 平金额
+    private BigDecimal peak_charge12;// 峰电量
+    private BigDecimal loss_peak_charge12;// 计损峰电量
+    private BigDecimal peak_amount12;// 峰金额
+    private BigDecimal valley_charge12;// 谷电量
+    private BigDecimal loss_valley_charge12;// 计损谷电量
+    private BigDecimal valley_amount12;// 谷金额
+    private String result;//原始字符串
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UpdateBalanceReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UpdateBalanceReplyMessage.java
new file mode 100644
index 0000000..b754e00
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UpdateBalanceReplyMessage.java
@@ -0,0 +1,21 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 余额更新应答
+ **/
+
+@Data
+public class UpdateBalanceReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private String physical_card_number; //物理卡号
+    private BigDecimal account_balance; //修改结果(:0:修改成功,1:设备编号错误,2:卡号错误)
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UploadRealTimeMonitoringDataMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UploadRealTimeMonitoringDataMessage.java
new file mode 100644
index 0000000..1a39863
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/UploadRealTimeMonitoringDataMessage.java
@@ -0,0 +1,37 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 上传实时监测数据
+ **/
+
+@Data
+public class UploadRealTimeMonitoringDataMessage extends BaseMessage {
+
+    private String transaction_serial_number; // 交易流水号
+    private String charging_pile_code; // 桩编码
+    private String charging_gun_code; // 抢号
+    private Integer charging_gun_status; // 状态(0:离线,1:故障,2:空闲,3:充电)
+    private Integer homing_status; // 枪是否归位(0:否,1:是,2:未知)
+    private Integer insertion_status; // 是否插枪(0:否,1:是)
+    private BigDecimal output_voltage; // 输出电压,精确到小数点后一位;待机置零
+    private BigDecimal output_current; // 输出电流,精确到小数点后一位;待机置零
+    private BigDecimal gun_line_temperature; // 枪线温度,整形,偏移量-50;待机置零
+    private String gun_line_code; // 枪线编码,没有置零
+    private Integer soc; // SOC待机置零;交流桩置零
+    private BigDecimal battery_temperature; // 电池组最高温度,整形,偏移量-50 ºC;待机置零;交流桩置零
+    private Integer cumulative_charging_time; // 累计充电时间,单位:min;待机置零
+    private Integer time_remaining; // 剩余时间,单位:min;待机置零、交流桩置零
+    private BigDecimal charging_degree; // 充电度数,精确到小数点后四位;待机置零
+    private BigDecimal loss_of_charging_degree; // 计损充电度数,精确到小数点后四位;待机置零,未设置计损比例时等于充电度数
+    private BigDecimal paid_amount; // 已充金额,精确到小数点后四位;待机置零(电费+服务费)*计损充电度数
+    private Integer hardware_fault; // 硬件故障(1:急停按钮动作故障;2:无可用整流模块;3:出风口温度过高;4:交流防雷故障;5:交直流模块 DC20 通信中断;6:绝缘检测模块 FC08 通信中断;7:电度表通信中断;8:读卡器通信中断;9:RC10 通信中断;10:风扇调速板故障;11:直流熔断器故障;12:高压接触器故障;13:门打开)
+
+
+}
+
+
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/WorkingParameterSettingReplyMessage.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/WorkingParameterSettingReplyMessage.java
new file mode 100644
index 0000000..66d9e0d
--- /dev/null
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/model/WorkingParameterSettingReplyMessage.java
@@ -0,0 +1,17 @@
+package com.ruoyi.jianguan.rocket.model;
+
+import com.ruoyi.jianguan.rocket.base.BaseMessage;
+import lombok.Data;
+
+/**
+ * 充电桩工作参数设置应答
+ **/
+
+@Data
+public class WorkingParameterSettingReplyMessage extends BaseMessage {
+
+    private String charging_pile_code; //桩编码
+    private Integer set_result; //设置结果(0:失败,1:成功)
+}
+
+

--
Gitblit v1.7.1