Pu Zhibing
22 小时以前 4fcd1f89d42fef05fb6592d30f168f3bfc6728d6
优化硬件消息对接逻辑
1个文件已删除
1个文件已添加
56个文件已修改
752 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ErrorMessageMessage.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/ChargingMessageUtil.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsAbortService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsDemandAndChargerExportationService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsInformationService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingHandshakeService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ConfirmTransactionRecordService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ErrorMessageMessageService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/MotorAbortService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingReplyService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingReplyService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QrCodeDeliveryService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SecurityDetectionService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelReplyService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TransactionRecordService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsAbortServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsInformationServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingHandshakeServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ErrorMessageMessageServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/MotorAbortServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QrCodeDeliveryServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SecurityDetectionServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TransactionRecordServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtil.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtils.java 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java
@@ -35,6 +35,8 @@
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.NONE)
    private Long id;
    @TableField(exist = false)
    private String idStr;
    @ApiModelProperty(value = "序号")
    @TableField(exist = false)
    private Integer xuhao;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/model/ErrorMessageMessage.java
@@ -1,8 +1,12 @@
package com.ruoyi.integration.iotda.model;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.mongodb.core.mapping.Document;
@Data
@Document(collection = "error_message") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class ErrorMessageMessage extends BaseMessage {
    private String transaction_serial_number; // 交易流水号
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -92,6 +92,8 @@
        String result;
        switch (service_id){
            case SendTagConstant.ONLINE:
                long ONLINE = System.currentTimeMillis();
                OnlineMessage onlineMessage = JSON.parseObject(content.toJSONString(),OnlineMessage.class);
                chargingMessage.setOnlineMessage(onlineMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
@@ -107,8 +109,12 @@
                timingSettingReplyOnline.setCharging_pile_code(onlineMessage.getCharging_pile_code());
                timingSettingReplyOnline.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
                iotMessageProduce.sendMessage(timingSettingReplyOnline.getCharging_pile_code(), ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReplyOnline));
                log.warn("ONLINE消息处理:{} 毫秒", System.currentTimeMillis() - ONLINE);
                break;
            case SendTagConstant.PING:
                long PING = System.currentTimeMillis();
                PingMessage pingMessage = JSON.parseObject(content.toJSONString(),PingMessage.class);
                //存储缓存中,5分钟有效
                redisTemplate.opsForValue().set("ping:" + pingMessage.getCharging_pile_code() + pingMessage.getCharging_gun_code(), pingMessage, 5, TimeUnit.MINUTES);
@@ -119,24 +125,45 @@
                pong.setCharging_gun_code(pingMessage.getCharging_gun_code());
                pong.setCharging_gun_status(0);
                iotMessageProduce.sendMessage(pong.getCharging_pile_code(), ServiceIdMenu.PONG.getKey(), messageUtil.pong(pong));
                Long time = (Long) redisTemplate.opsForHash().get("charging_gun_online", (pingMessage.getCharging_pile_code() + pingMessage.getCharging_gun_code()));
                //小于1分钟才处理数据,防止频繁查询数据
                if(null != time && (System.currentTimeMillis() - time) < 60000){
                    log.warn("PING消息处理:{} 毫秒", System.currentTimeMillis() - PING);
                    break;
                }
                //检查修改设备状态
                UpdateChargingPileStatusVo vo1 = new UpdateChargingPileStatusVo();
                vo1.setGun_code(pingMessage.getCharging_gun_code());
                vo1.setPile_code(pingMessage.getCharging_pile_code());
                vo1.setStatus(pingMessage.getCharging_gun_status());
                chargingPileClient.updateChargingPileStatus(vo1);
                log.warn("PING消息处理:{} 毫秒", System.currentTimeMillis() - PING);
                break;
            case SendTagConstant.END_CHARGE:
                long END_CHARGE = System.currentTimeMillis();
                EndChargeMessage endChargeMessage = JSON.parseObject(content.toJSONString(),EndChargeMessage.class);
                chargingMessage.setEndChargeMessage(endChargeMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("END_CHARGE消息处理:{} 毫秒", System.currentTimeMillis() - END_CHARGE);
                break;
            case SendTagConstant.ERROR_MESSAGE:
                long ERROR_MESSAGE = System.currentTimeMillis();
                ErrorMessageMessage errorMessageMessage = JSON.parseObject(content.toJSONString(),ErrorMessageMessage.class);
                chargingMessage.setErrorMessageMessage(errorMessageMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("ERROR_MESSAGE消息处理:{} 毫秒", System.currentTimeMillis() - ERROR_MESSAGE);
                break;
            case SendTagConstant.BILLING_MODE_VERIFY:
                long BILLING_MODE_VERIFY = System.currentTimeMillis();
                BillingModeVerifyMessage billingModeVerifyMessage = JSON.parseObject(content.toJSONString(),BillingModeVerifyMessage.class);
                chargingMessage.setBillingModeVerifyMessage(billingModeVerifyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
@@ -163,8 +190,12 @@
                    }
                }
                iotMessageProduce.sendMessage(billingModeVerifyReply.getCharging_pile_code(), ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getKey(),messageUtil.billingModeVerifyReply(billingModeVerifyReply));
                log.warn("ERROR_MESSAGE消息处理:{} 毫秒", System.currentTimeMillis() - BILLING_MODE_VERIFY);
                break;
            case SendTagConstant.ACQUISITION_BILLING_MODE:
                long ACQUISITION_BILLING_MODE = System.currentTimeMillis();
                AcquisitionBillingModeMessage acquisitionBillingModeMessage = JSON.parseObject(content.toJSONString(),AcquisitionBillingModeMessage.class);
                chargingMessage.setAcquisitionBillingModeMessage(acquisitionBillingModeMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
@@ -181,44 +212,76 @@
                acquisitionBillingModeReply.setCharging_pile_code(acquisitionBillingModeMessage.getCharging_pile_code());
                acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO);
                iotMessageProduce.sendMessage(acquisitionBillingModeReply.getCharging_pile_code(), ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getKey(),messageUtil.acquisitionBillingModeReply(acquisitionBillingModeReply));
                log.warn("ACQUISITION_BILLING_MODE消息处理:{} 毫秒", System.currentTimeMillis() - ACQUISITION_BILLING_MODE);
                break;
            case SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA:
                long UPLOAD_REAL_TIME_MONITORING_DATA = System.currentTimeMillis();
                log.info("充电实时数据上传");
                UploadRealTimeMonitoringDataMessage uploadRealTimeMonitoringDataMessage = JSON.parseObject(content.toJSONString(),UploadRealTimeMonitoringDataMessage.class);
                chargingMessage.setUploadRealTimeMonitoringDataMessage(uploadRealTimeMonitoringDataMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("UPLOAD_REAL_TIME_MONITORING_DATA消息处理:{} 毫秒", System.currentTimeMillis() - UPLOAD_REAL_TIME_MONITORING_DATA);
                break;
            case SendTagConstant.CHARGING_HANDSHAKE:
                long CHARGING_HANDSHAKE = System.currentTimeMillis();
                ChargingHandshakeMessage chargingHandshakeMessage = JSON.parseObject(content.toJSONString(),ChargingHandshakeMessage.class);
                chargingMessage.setChargingHandshakeMessage(chargingHandshakeMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("CHARGING_HANDSHAKE消息处理:{} 毫秒", System.currentTimeMillis() - CHARGING_HANDSHAKE);
                break;
            case SendTagConstant.PARAMETER_SETTING:
                long PARAMETER_SETTING = System.currentTimeMillis();
                ParameterSettingMessage parameterSettingMessage = JSON.parseObject(content.toJSONString(),ParameterSettingMessage.class);
                chargingMessage.setParameterSettingMessage(parameterSettingMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("PARAMETER_SETTING消息处理:{} 毫秒", System.currentTimeMillis() - PARAMETER_SETTING);
                break;
            case SendTagConstant.BMS_ABORT:
                long BMS_ABORT = System.currentTimeMillis();
                BmsAbortMessage bmsAbortMessage = JSON.parseObject(content.toJSONString(),BmsAbortMessage.class);
                chargingMessage.setBmsAbortMessage(bmsAbortMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("BMS_ABORT消息处理:{} 毫秒", System.currentTimeMillis() - BMS_ABORT);
                break;
            case SendTagConstant.MOTOR_ABORT:
                long MOTOR_ABORT = System.currentTimeMillis();
                MotorAbortMessage motorAbortMessage = JSON.parseObject(content.toJSONString(),MotorAbortMessage.class);
                chargingMessage.setMotorAbortMessage(motorAbortMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("MOTOR_ABORT消息处理:{} 毫秒", System.currentTimeMillis() - MOTOR_ABORT);
                break;
            case SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION:
                long BMS_DEMAND_AND_CHARGER_EXPORTATION = System.currentTimeMillis();
                BmsDemandAndChargerExportationMessage bmsDemandAndChargerExportationMessage = JSON.parseObject(content.toJSONString(),BmsDemandAndChargerExportationMessage.class);
                chargingMessage.setBmsDemandAndChargerExportationMessage(bmsDemandAndChargerExportationMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("BMS_DEMAND_AND_CHARGER_EXPORTATION消息处理:{} 毫秒", System.currentTimeMillis() - BMS_DEMAND_AND_CHARGER_EXPORTATION);
                break;
            case SendTagConstant.BMS_INFORMATION:
                long BMS_INFORMATION = System.currentTimeMillis();
                BmsInformationMessage bmsInformationMessage = JSON.parseObject(content.toJSONString(),BmsInformationMessage.class);
                chargingMessage.setBmsInformationMessage(bmsInformationMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("BMS_INFORMATION消息处理:{} 毫秒", System.currentTimeMillis() - BMS_INFORMATION);
                break;
            case SendTagConstant.CHARGING_PILE_STARTS_CHARGING:
                long CHARGING_PILE_STARTS_CHARGING = System.currentTimeMillis();
                ChargingPileStartsChargingMessage chargingPileStartsChargingMessage = JSON.parseObject(content.toJSONString(),ChargingPileStartsChargingMessage.class);
                chargingMessage.setChargingPileStartsChargingMessage(chargingPileStartsChargingMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
@@ -231,18 +294,30 @@
                platformConfirmationCharging.setAuthentication(1);
                // TODO 若是失败,给出失败原因
                iotMessageProduce.sendMessage(platformConfirmationCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_CONFIRMATION_CHARGING.getKey(),messageUtil.platformConfirmationCharging(platformConfirmationCharging));
                log.warn("CHARGING_PILE_STARTS_CHARGING消息处理:{} 毫秒", System.currentTimeMillis() - CHARGING_PILE_STARTS_CHARGING);
                break;
            case SendTagConstant.PLATFORM_START_CHARGING_REPLY:
                long PLATFORM_START_CHARGING_REPLY = System.currentTimeMillis();
                PlatformStartChargingReplyMessage platformStartChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStartChargingReplyMessage.class);
                chargingMessage.setPlatformStartChargingReplyMessage(platformStartChargingReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("PLATFORM_START_CHARGING_REPLY消息处理:{} 毫秒", System.currentTimeMillis() - PLATFORM_START_CHARGING_REPLY);
                break;
            case SendTagConstant.PLATFORM_STOP_CHARGING_REPLY:
                long PLATFORM_STOP_CHARGING_REPLY = System.currentTimeMillis();
                PlatformStopChargingReplyMessage platformStopChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStopChargingReplyMessage.class);
                chargingMessage.setPlatformStopChargingReplyMessage(platformStopChargingReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("PLATFORM_STOP_CHARGING_REPLY消息处理:{} 毫秒", System.currentTimeMillis() - PLATFORM_STOP_CHARGING_REPLY);
                break;
            case SendTagConstant.TRANSACTION_RECORD:
                long TRANSACTION_RECORD = System.currentTimeMillis();
                TransactionRecordMessage transactionRecordMessage = JSON.parseObject(content.toJSONString(),TransactionRecordMessage.class);
                transactionRecordMessage.setResult(content.toJSONString());
                chargingMessage.setTransactionRecordMessage(transactionRecordMessage);
@@ -252,28 +327,48 @@
                confirmTransactionRecord.setTransaction_serial_number(transactionRecordMessage.getTransaction_serial_number());
                confirmTransactionRecord.setConfirm_result(0);
                iotMessageProduce.sendMessage(transactionRecordMessage.getCharging_pile_code(), ServiceIdMenu.CONFIRM_TRANSACTION_RECORD.getKey(),messageUtil.confirmTransactionRecord(confirmTransactionRecord));
                log.warn("TRANSACTION_RECORD消息处理:{} 毫秒", System.currentTimeMillis() - TRANSACTION_RECORD);
                break;
            case SendTagConstant.UPDATE_BALANCE_REPLY:
                long UPDATE_BALANCE_REPLY = System.currentTimeMillis();
                UpdateBalanceReplyMessage updateBalanceReplyMessage = JSON.parseObject(content.toJSONString(),UpdateBalanceReplyMessage.class);
                chargingMessage.setUpdateBalanceReplyMessage(updateBalanceReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("UPDATE_BALANCE_REPLY消息处理:{} 毫秒", System.currentTimeMillis() - UPDATE_BALANCE_REPLY);
                break;
            case SendTagConstant.SYNCHRONIZE_OFFLINE_CARD_REPLY:
                long SYNCHRONIZE_OFFLINE_CARD_REPLY = System.currentTimeMillis();
                SynchronizeOfflineCardReplyMessage synchronizeOfflineCardReplyMessage = JSON.parseObject(content.toJSONString(),SynchronizeOfflineCardReplyMessage.class);
                chargingMessage.setSynchronizeOfflineCardReplyMessage(synchronizeOfflineCardReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("SYNCHRONIZE_OFFLINE_CARD_REPLY消息处理:{} 毫秒", System.currentTimeMillis() - SYNCHRONIZE_OFFLINE_CARD_REPLY);
                break;
            case SendTagConstant.CLEAR_OFFLINE_CARD_REPLY:
                long CLEAR_OFFLINE_CARD_REPLY = System.currentTimeMillis();
                ClearOfflineCardReplyMessage clearOfflineCardReplyMessage = JSON.parseObject(content.toJSONString(),ClearOfflineCardReplyMessage.class);
                chargingMessage.setClearOfflineCardReplyMessage(clearOfflineCardReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("CLEAR_OFFLINE_CARD_REPLY消息处理:{} 毫秒", System.currentTimeMillis() - CLEAR_OFFLINE_CARD_REPLY);
                break;
            case SendTagConstant.WORKING_PARAMETER_SETTING_REPLY:
                long WORKING_PARAMETER_SETTING_REPLY = System.currentTimeMillis();
                WorkingParameterSettingReplyMessage workingParameterSettingReplyMessage = JSON.parseObject(content.toJSONString(),WorkingParameterSettingReplyMessage.class);
                chargingMessage.setWorkingParameterSettingReplyMessage(workingParameterSettingReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("WORKING_PARAMETER_SETTING_REPLY消息处理:{} 毫秒", System.currentTimeMillis() - WORKING_PARAMETER_SETTING_REPLY);
                break;
            case SendTagConstant.TIMING_SETTING:
                long TIMING_SETTING = System.currentTimeMillis();
                TimingSettingMessage timingSettingMessage = JSON.parseObject(content.toJSONString(),TimingSettingMessage.class);
                chargingMessage.setTimingSettingMessage(timingSettingMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
@@ -282,41 +377,71 @@
                timingSettingReply.setCharging_pile_code(timingSettingMessage.getCharging_pile_code());
                timingSettingReply.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
                iotMessageProduce.sendMessage(timingSettingReply.getCharging_pile_code(), ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReply));
                log.warn("TIMING_SETTING消息处理:{} 毫秒", System.currentTimeMillis() - TIMING_SETTING);
                break;
            case SendTagConstant.SETUP_BILLING_MODEL_REPLY:
                long SETUP_BILLING_MODEL_REPLY = System.currentTimeMillis();
                SetupBillingModelReplyMessage setupBillingModelReplyMessage = JSON.parseObject(content.toJSONString(),SetupBillingModelReplyMessage.class);
                chargingMessage.setSetupBillingModelReplyMessage(setupBillingModelReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("SETUP_BILLING_MODEL_REPLY消息处理:{} 毫秒", System.currentTimeMillis() - SETUP_BILLING_MODEL_REPLY);
                break;
            case SendTagConstant.GROUND_LOCK_REAL_TIME_DATA:
                long GROUND_LOCK_REAL_TIME_DATA = System.currentTimeMillis();
                GroundLockRealTimeDataMessage groundLockRealTimeDataMessage = JSON.parseObject(content.toJSONString(),GroundLockRealTimeDataMessage.class);
                chargingMessage.setGroundLockRealTimeDataMessage(groundLockRealTimeDataMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("GROUND_LOCK_REAL_TIME_DATA消息处理:{} 毫秒", System.currentTimeMillis() - GROUND_LOCK_REAL_TIME_DATA);
                break;
            case SendTagConstant.CHARGING_PILE_RETURNS_GROUND_LOCK_DATA:
                long CHARGING_PILE_RETURNS_GROUND_LOCK_DATA = System.currentTimeMillis();
                ChargingPileReturnsGroundLockDataMessage chargingPileReturnsGroundLockDataMessage = JSON.parseObject(content.toJSONString(),ChargingPileReturnsGroundLockDataMessage.class);
                chargingMessage.setChargingPileReturnsGroundLockDataMessage(chargingPileReturnsGroundLockDataMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("CHARGING_PILE_RETURNS_GROUND_LOCK_DATA消息处理:{} 毫秒", System.currentTimeMillis() - CHARGING_PILE_RETURNS_GROUND_LOCK_DATA);
                break;
            case SendTagConstant.PLATFORM_RESTART_REPLY:
                long PLATFORM_RESTART_REPLY = System.currentTimeMillis();
                PlatformRestartReplyMessage platformRestartReplyMessage = JSON.parseObject(content.toJSONString(),PlatformRestartReplyMessage.class);
                chargingMessage.setPlatformRestartReplyMessage(platformRestartReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("PLATFORM_RESTART_REPLY消息处理:{} 毫秒", System.currentTimeMillis() - PLATFORM_RESTART_REPLY);
                break;
            case SendTagConstant.QR_CODE_DELIVERY_REPLY:
                long QR_CODE_DELIVERY_REPLY = System.currentTimeMillis();
                QrCodeDeliveryReplyMessage qrCodeDeliveryReplyMessage = JSON.parseObject(content.toJSONString(),QrCodeDeliveryReplyMessage.class);
                chargingMessage.setQrCodeDeliveryReplyMessage(qrCodeDeliveryReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("QR_CODE_DELIVERY_REPLY消息处理:{} 毫秒", System.currentTimeMillis() - QR_CODE_DELIVERY_REPLY);
                break;
            case SendTagConstant.SECURITY_DETECTION:
                long SECURITY_DETECTION = System.currentTimeMillis();
                SecurityDetectionMessage securityDetectionMessage = JSON.parseObject(content.toJSONString(),SecurityDetectionMessage.class);
                chargingMessage.setSecurityDetectionMessage(securityDetectionMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("SECURITY_DETECTION消息处理:{} 毫秒", System.currentTimeMillis() - SECURITY_DETECTION);
                break;
            default:
                long other = System.currentTimeMillis();
                PlatformRemoteUpdateReplyMessage platformRemoteUpdateReplyMessage = JSON.parseObject(content.toJSONString(),PlatformRemoteUpdateReplyMessage.class);
                chargingMessage.setPlatformRemoteUpdateReplyMessage(platformRemoteUpdateReplyMessage);
                chargingMessageUtil.handleMessage(chargingMessage);
                log.warn("other消息处理:{} 毫秒", System.currentTimeMillis() - other);
                break;
        }
        return AjaxResult.success();
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
@@ -54,7 +54,6 @@
            return JSON.toJSONString(response);
        } catch (Exception e) {
            e.printStackTrace();
            log.info("消息下发至设备异常:code---{},msg---{}", code, e.getMessage());
            log.error("消息下发至设备异常:code---{},msg---{}", code, e.getMessage());
            return e.getMessage();
        }
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/ChargingMessageUtil.java
@@ -151,17 +151,17 @@
                ErrorMessageMessage errorMessageMessage1 = message.getErrorMessageMessage();
                log.info("错误报文-业务消息处理:{}",errorMessageMessage1);
                // 持久化消息
                ErrorMessageMessage errorMessageMessage = new ErrorMessageMessage();
                BeanUtils.copyProperties(errorMessageMessage1,errorMessageMessage);
                errorMessageMessageService.create(errorMessageMessage);
//                ErrorMessageMessage errorMessageMessage = new ErrorMessageMessage();
//                BeanUtils.copyProperties(errorMessageMessage1,errorMessageMessage);
//                errorMessageMessageService.create(errorMessageMessage);
                break;
            case SendTagConstant.BILLING_MODE_VERIFY:
                BillingModeVerifyMessage billingModeVerifyMessage = message.getBillingModeVerifyMessage();
                log.info("计费模型验证请求-业务消息处理:{}",billingModeVerifyMessage);
                // 持久化消息
                BillingModeVerify billingModeVerify = new BillingModeVerify();
                BeanUtils.copyProperties(billingModeVerifyMessage,billingModeVerify);
                billingModeVerifyService.create(billingModeVerify);
//                BillingModeVerify billingModeVerify = new BillingModeVerify();
//                BeanUtils.copyProperties(billingModeVerifyMessage,billingModeVerify);
//                billingModeVerifyService.create(billingModeVerify);
                break;
            case SendTagConstant.ACQUISITION_BILLING_MODE:
                AcquisitionBillingModeMessage acquisitionBillingModeMessage = message.getAcquisitionBillingModeMessage();
@@ -172,7 +172,17 @@
                acquisitionBillingModeService.create(acquisitionBillingMode);
                break;
            case SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA:
                //限制数据处理频率,30秒一次
                UploadRealTimeMonitoringDataMessage uploadRealTimeMonitoringDataMessage = message.getUploadRealTimeMonitoringDataMessage();
                String transaction_serial_number = uploadRealTimeMonitoringDataMessage.getTransaction_serial_number();
                Object o = redisTemplate.opsForValue().get("upload_real_time_monitoring_data:" + transaction_serial_number);
                if(null != o){
                    Long m = System.currentTimeMillis() - (Long) o;
                    if(m < 30000){
                        break;
                    }
                }
                redisTemplate.opsForValue().set("upload_real_time_monitoring_data:" + transaction_serial_number, System.currentTimeMillis(), 1, TimeUnit.MINUTES);
                try {
                    log.info("上传实时监测数据-业务消息处理:{}",uploadRealTimeMonitoringDataMessage);
                    // 持久化消息
@@ -225,9 +235,9 @@
                ParameterSettingMessage parameterSettingMessage = message.getParameterSettingMessage();
                log.info("参数配置-业务消息处理:{}",parameterSettingMessage);
                // 持久化消息
                ParameterSetting parameterSetting = new ParameterSetting();
                BeanUtils.copyProperties(parameterSettingMessage,parameterSetting);
                parameterSettingService.create(parameterSetting);
//                ParameterSetting parameterSetting = new ParameterSetting();
//                BeanUtils.copyProperties(parameterSettingMessage,parameterSetting);
//                parameterSettingService.create(parameterSetting);
                break;
            case SendTagConstant.BMS_ABORT:
                BmsAbortMessage bmsAbortMessage = message.getBmsAbortMessage();
@@ -252,6 +262,16 @@
            case SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION:
                BmsDemandAndChargerExportationMessage bmsDemandAndChargerExportationMessage = message.getBmsDemandAndChargerExportationMessage();
                log.info("充电过程BMS需求、充电机输出-业务消息处理:{}",bmsDemandAndChargerExportationMessage);
                String transaction_serial_number1 = bmsDemandAndChargerExportationMessage.getTransaction_serial_number();
                Object o1 = redisTemplate.opsForValue().get("bms_demand_and_charger_exportation:" + transaction_serial_number1);
                if(null != o1){
                    Long m = System.currentTimeMillis() - (Long) o1;
                    if(m < 30000){
                        break;
                    }
                }
                redisTemplate.opsForValue().set("bms_demand_and_charger_exportation:" + transaction_serial_number1, System.currentTimeMillis(), 1, TimeUnit.MINUTES);
                // 持久化消息
                BmsDemandAndChargerExportation bmsDemandAndChargerExportation = new BmsDemandAndChargerExportation();
                BeanUtils.copyProperties(bmsDemandAndChargerExportationMessage,bmsDemandAndChargerExportation);
@@ -267,6 +287,16 @@
            case SendTagConstant.BMS_INFORMATION:
                BmsInformationMessage bmsInformationMessage = message.getBmsInformationMessage();
                log.info("充电过程BMS信息-业务消息处理:{}",bmsInformationMessage);
                String transaction_serial_number2 = bmsInformationMessage.getTransaction_serial_number();
                Object o2 = redisTemplate.opsForValue().get("bms_information:" + transaction_serial_number2);
                if(null != o2){
                    Long m = System.currentTimeMillis() - (Long) o2;
                    if(m < 30000){
                        break;
                    }
                }
                redisTemplate.opsForValue().set("bms_information:" + transaction_serial_number2, System.currentTimeMillis(), 1, TimeUnit.MINUTES);
                // 持久化消息
                BmsInformation bmsInformation = new BmsInformation();
                BeanUtils.copyProperties(bmsInformationMessage,bmsInformation);
@@ -372,9 +402,9 @@
                TimingSettingMessage timingSettingMessage = message.getTimingSettingMessage();
                log.info("对时设置-业务消息处理:{}",timingSettingMessage);
                // 持久化消息
                TimingSetting timingSetting = new TimingSetting();
                BeanUtils.copyProperties(timingSettingMessage,timingSetting);
                timingSettingService.create(timingSetting);
//                TimingSetting timingSetting = new TimingSetting();
//                BeanUtils.copyProperties(timingSettingMessage,timingSetting);
//                timingSettingService.create(timingSetting);
                break;
            case SendTagConstant.SETUP_BILLING_MODEL_REPLY:
                SetupBillingModelReplyMessage setupBillingModelReplyMessage = message.getSetupBillingModelReplyMessage();
@@ -425,14 +455,6 @@
                SecurityDetectionVO securityDetection1 = new SecurityDetectionVO();
                BeanUtils.copyProperties(securityDetection, securityDetection1);
                chargingOrderClient.securityDetection(securityDetection1);
                break;
            default:
                PlatformRemoteUpdateReplyMessage platformRemoteUpdateReplyMessage = message.getPlatformRemoteUpdateReplyMessage();
                log.info("业务消息处理:{}",platformRemoteUpdateReplyMessage);
                // 持久化消息
                PlatformRemoteUpdateReply platformRemoteUpdateReply = new PlatformRemoteUpdateReply();
                BeanUtils.copyProperties(platformRemoteUpdateReplyMessage,platformRemoteUpdateReply);
                platformRemoteUpdateReplyService.create(platformRemoteUpdateReply);
                break;
        }
    }
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
@@ -95,7 +95,7 @@
     */
    public JSONObject billingModeVerifyReply(BillingModeVerifyReply billingModeVerifyReply){
        log.info("计费模型验证请求应答:{}", billingModeVerifyReply);
        billingModeVerifyReplyService.create(billingModeVerifyReply);
//        billingModeVerifyReplyService.create(billingModeVerifyReply);
        return  getMessageJsonString(billingModeVerifyReply, ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getValue());
    }
@@ -236,7 +236,8 @@
     * @return
     */
    public JSONObject timingSettingReply(TimingSettingReply timingSettingReply){
        timingSettingReplyService.create(timingSettingReply);
        log.info("对时设置应答:{}", timingSettingReply);
//        timingSettingReplyService.create(timingSettingReply);
        return  getMessageJsonString(timingSettingReply, ServiceIdMenu.TIMING_SETTING_REPLY.getValue());
    }
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeReplyService.java
@@ -7,7 +7,7 @@
    
    
    /**
     * 定时任务删除超过6个月的数据
     * 定时任务删除超过2个月的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/AcquisitionBillingModeService.java
@@ -7,7 +7,7 @@
    
    
    /**
     * 定时任务删除超过6个月数据
     * 定时任务删除超过2个月数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyReplyService.java
@@ -8,7 +8,7 @@
    
    
    /**
     * 定时任务删除超过6个月数据
     * 定时任务删除超过2个月数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BillingModeVerifyService.java
@@ -7,7 +7,7 @@
    
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsAbortService.java
@@ -6,7 +6,7 @@
public interface BmsAbortService extends BaseService<BmsAbort> {
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsDemandAndChargerExportationService.java
@@ -18,7 +18,7 @@
    
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除3个月前的数据
     */
    void taskDelete();
    
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/BmsInformationService.java
@@ -7,7 +7,7 @@
    
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除3个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ChargingHandshakeService.java
@@ -11,7 +11,7 @@
    
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ConfirmTransactionRecordService.java
@@ -4,4 +4,9 @@
import com.ruoyi.integration.mongodb.base.BaseService;
public interface ConfirmTransactionRecordService extends BaseService<ConfirmTransactionRecord> {
    /**
     * 定时任务删除超过4个月的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/EndChargeService.java
@@ -4,5 +4,12 @@
import com.ruoyi.integration.mongodb.base.BaseService;
public interface EndChargeService extends BaseService<EndCharge> {
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/ErrorMessageMessageService.java
@@ -4,5 +4,12 @@
import com.ruoyi.integration.iotda.model.ErrorMessageMessage;
public interface ErrorMessageMessageService extends BaseService<ErrorMessageMessage> {
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/MotorAbortService.java
@@ -4,4 +4,11 @@
import com.ruoyi.integration.mongodb.base.BaseService;
public interface MotorAbortService extends BaseService<MotorAbort> {
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineReplyService.java
@@ -8,5 +8,10 @@
 * 登录认证应答接口
 */
public interface OnlineReplyService extends BaseService<OnlineReply> {
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/OnlineService.java
@@ -8,5 +8,10 @@
 * 充电桩登录认证接口
 */
public interface OnlineService extends BaseService<Online> {
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingReplyService.java
@@ -15,4 +15,10 @@
     */
    List<PlatformStartChargingReply> getPlatformStartChargingReply(String code);
    
    /**
     * 定时任务删除超过2个月的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStartChargingService.java
@@ -4,4 +4,9 @@
import com.ruoyi.integration.mongodb.base.BaseService;
public interface PlatformStartChargingService extends BaseService<PlatformStartCharging> {
    /**
     * 定时任务删除超过2个月的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingReplyService.java
@@ -12,4 +12,10 @@
     */
    PlatformStopChargingReply getPlatformStopChargingReply(GetPlatformStopChargingReply query);
    
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/PlatformStopChargingService.java
@@ -4,4 +4,9 @@
import com.ruoyi.integration.mongodb.base.BaseService;
public interface PlatformStopChargingService extends BaseService<PlatformStopCharging> {
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/QrCodeDeliveryService.java
@@ -7,5 +7,12 @@
/**
 */
public interface QrCodeDeliveryService extends BaseService<QrCodeDelivery> {
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SecurityDetectionService.java
@@ -15,4 +15,10 @@
     * @return
     */
    SecurityDetection getSecurityDetection(String transactionSerialNumber);
    /**
     * 定时任务删除超过1个月的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelReplyService.java
@@ -4,4 +4,11 @@
import com.ruoyi.integration.mongodb.base.BaseService;
public interface SetupBillingModelReplyService extends BaseService<SetupBillingModelReply> {
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SetupBillingModelService.java
@@ -4,4 +4,9 @@
import com.ruoyi.integration.mongodb.base.BaseService;
public interface SetupBillingModelService extends BaseService<SetupBillingModel> {
    /**
     * 定时任务删除2个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/TransactionRecordService.java
@@ -11,4 +11,10 @@
     * @return
     */
    TransactionRecord findOne(String code);
    /**
     * 定时任务删除超过4个月的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
@@ -29,4 +29,9 @@
    void delete(String id);
    void updateById(String id);
    /**
     * 定时任务删除3个月前的数据
     */
    void taskDelete();
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeReplyServiceImpl.java
@@ -35,12 +35,12 @@
    
    
    /**
     * 定时任务删除超过6个月的数据
     * 定时任务删除超过2个月的数据
     */
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(6)));
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, AcquisitionBillingModeReply.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/AcquisitionBillingModeServiceImpl.java
@@ -35,12 +35,12 @@
    
    
    /**
     * 定时任务删除超过6个月数据
     * 定时任务删除超过2个月数据
     */
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(6)));
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, AcquisitionBillingMode.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyReplyServiceImpl.java
@@ -34,12 +34,12 @@
    
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除2个月前的数据
     */
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(6)));
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, BillingModeVerifyReply.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BillingModeVerifyServiceImpl.java
@@ -33,13 +33,13 @@
    }
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除2个月前的数据
     */
    @Override
    public void taskDelete() {
        
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(6)));
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, BillingModeVerify.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsAbortServiceImpl.java
@@ -34,12 +34,12 @@
    
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除2个月前的数据
     */
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(6)));
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, BmsAbort.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsDemandAndChargerExportationServiceImpl.java
@@ -49,12 +49,12 @@
    
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除3个月前的数据
     */
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(6)));
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(3)));
        mongoTemplate.remove(query, BmsDemandAndChargerExportation.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/BmsInformationServiceImpl.java
@@ -33,12 +33,12 @@
    }
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除3个月前的数据
     */
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(6)));
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(3)));
        mongoTemplate.remove(query, BmsInformation.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ChargingHandshakeServiceImpl.java
@@ -42,12 +42,12 @@
    }
    
    /**
     * 定时任务删除6个月前的数据
     * 定时任务删除2个月前的数据
     */
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(6)));
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, ChargingHandshake.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ConfirmTransactionRecordServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.TransactionRecord;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.ConfirmTransactionRecord;
import com.ruoyi.integration.mongodb.service.ConfirmTransactionRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
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
@@ -30,4 +34,12 @@
    public List<ConfirmTransactionRecord> findAll() {
        return mongoTemplate.findAll(ConfirmTransactionRecord.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(4)));
        mongoTemplate.remove(query, ConfirmTransactionRecord.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/EndChargeServiceImpl.java
@@ -1,13 +1,17 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.QrCodeDelivery;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.EndCharge;
import com.ruoyi.integration.api.model.Pong;
import com.ruoyi.integration.mongodb.service.EndChargeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
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;
@@ -31,4 +35,12 @@
    public List<EndCharge> findAll() {
        return mongoTemplate.findAll(EndCharge.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, EndCharge.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/ErrorMessageMessageServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.MotorAbort;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.mongodb.service.ErrorMessageMessageService;
import com.ruoyi.integration.iotda.model.ErrorMessageMessage;
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;
@@ -30,4 +34,12 @@
    public List<ErrorMessageMessage> findAll() {
        return mongoTemplate.findAll(ErrorMessageMessage.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, ErrorMessageMessage.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/MotorAbortServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.BmsAbort;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.MotorAbort;
import com.ruoyi.integration.mongodb.service.MotorAbortService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.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
@@ -28,4 +32,12 @@
    public List<MotorAbort> findAll() {
        return mongoTemplate.findAll(MotorAbort.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, MotorAbort.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineReplyServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.Online;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.OnlineReply;
import com.ruoyi.integration.mongodb.service.OnlineReplyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
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;
@@ -33,4 +37,11 @@
    public List<OnlineReply> findAll() {
        return null;
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, OnlineReply.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/OnlineServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.Online;
import com.ruoyi.integration.mongodb.service.OnlineService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
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;
@@ -33,4 +37,12 @@
    public List<Online> findAll() {
        return mongoTemplate.findAll(Online.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, Online.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingReplyServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.SecurityDetection;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.PlatformStartChargingReply;
import com.ruoyi.integration.mongodb.service.PlatformStartChargingReplyService;
@@ -9,6 +10,7 @@
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
@Service
@@ -45,4 +47,12 @@
        List<PlatformStartChargingReply> platformStartChargingReplies = mongoTemplate.find(query, PlatformStartChargingReply.class);
        return platformStartChargingReplies;
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, PlatformStartChargingReply.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStartChargingServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.ConfirmTransactionRecord;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.PlatformStartCharging;
import com.ruoyi.integration.mongodb.service.PlatformStartChargingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
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
@@ -28,4 +32,12 @@
    public List<PlatformStartCharging> findAll() {
        return mongoTemplate.findAll(PlatformStartCharging.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, PlatformStartCharging.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingReplyServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.PlatformStopCharging;
import com.ruoyi.integration.api.vo.GetPlatformStopChargingReply;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.PlatformStopChargingReply;
@@ -11,6 +12,7 @@
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@@ -46,4 +48,12 @@
                .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 void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, PlatformStopCharging.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/PlatformStopChargingServiceImpl.java
@@ -2,11 +2,15 @@
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.PlatformStopCharging;
import com.ruoyi.integration.iotda.model.ErrorMessageMessage;
import com.ruoyi.integration.mongodb.service.PlatformStopChargingService;
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
@@ -30,4 +34,12 @@
    public List<PlatformStopCharging> findAll() {
        return mongoTemplate.findAll(PlatformStopCharging.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, PlatformStopCharging.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/QrCodeDeliveryServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.QrCodeDelivery;
import com.ruoyi.integration.api.model.SetupBillingModelReply;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.mongodb.service.QrCodeDeliveryService;
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;
@@ -33,4 +37,12 @@
    public List<QrCodeDelivery> findAll() {
        return mongoTemplate.findAll(QrCodeDelivery.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, QrCodeDelivery.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SecurityDetectionServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.PlatformStartCharging;
import com.ruoyi.integration.api.model.SecurityDetection;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.mongodb.service.SecurityDetectionService;
@@ -9,6 +10,7 @@
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
@@ -47,4 +49,11 @@
                .is(transactionSerialNumber)), SecurityDetection.class);
        return securityDetectionList.size() > 0 ? securityDetectionList.get(0) : null;
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(1)));
        mongoTemplate.remove(query, SecurityDetection.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelReplyServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.SetupBillingModel;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.SetupBillingModelReply;
import com.ruoyi.integration.mongodb.service.SetupBillingModelReplyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.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
@@ -28,4 +32,11 @@
    public List<SetupBillingModelReply> findAll() {
        return mongoTemplate.findAll(SetupBillingModelReply.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, SetupBillingModelReply.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SetupBillingModelServiceImpl.java
@@ -1,12 +1,16 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.integration.api.model.PlatformStopCharging;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.SetupBillingModel;
import com.ruoyi.integration.mongodb.service.SetupBillingModelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
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
@@ -28,4 +32,12 @@
    public List<SetupBillingModel> findAll() {
        return mongoTemplate.findAll(SetupBillingModel.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(2)));
        mongoTemplate.remove(query, SetupBillingModel.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/TransactionRecordServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.integration.api.model.AcquisitionBillingModeReply;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.api.model.TimingSetting;
@@ -13,6 +14,7 @@
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
@Service
@@ -51,4 +53,12 @@
                , TransactionRecord.class);
        return transactionRecords.size() > 0 ? transactionRecords.get(0) : null;
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(4)));
        mongoTemplate.remove(query, TransactionRecord.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.db.sql.Direction;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.integration.api.model.BmsDemandAndChargerExportation;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
import com.ruoyi.integration.iotda.constant.IotConstant;
@@ -20,6 +21,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@@ -173,5 +175,12 @@
        // 执行更新操作
        mongoTemplate.updateFirst(query, update, UploadRealTimeMonitoringData.class);
    }
    @Override
    public void taskDelete() {
        Query query = new Query();
        query.addCriteria(Criteria.where("create_time").lt(LocalDateTime.now().minusMonths(3)));
        mongoTemplate.remove(query, UploadRealTimeMonitoringData.class);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtil.java
File was deleted
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/util/TaskUtils.java
New file
@@ -0,0 +1,135 @@
package com.ruoyi.integration.util;
import com.ruoyi.integration.mongodb.service.*;
import org.springframework.boot.web.context.WebServerInitializedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
 * 定时任务工具类
 * @author zhibing.pu
 * @Date 2025/5/21 11:43
 */
@Component
public class TaskUtils implements ApplicationListener<WebServerInitializedEvent> {
    @Resource
    private AcquisitionBillingModeReplyService acquisitionBillingModeReplyService;
    @Resource
    private AcquisitionBillingModeService acquisitionBillingModeService;
    @Resource
    private BillingModeVerifyReplyService billingModeVerifyReplyService;
    @Resource
    private BillingModeVerifyService billingModeVerifyService;
    @Resource
    private BmsAbortService bmsAbortService;
    @Resource
    private BmsDemandAndChargerExportationService bmsDemandAndChargerExportationService;
    @Resource
    private BmsInformationService bmsInformationService;
    @Resource
    private ChargingHandshakeService chargingHandshakeService;
    @Resource
    private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService;
    @Resource
    private OnlineService onlineService;
    @Resource
    private OnlineReplyService onlineReplyService;
    @Resource
    private TransactionRecordService transactionRecordService;
    @Resource
    private ConfirmTransactionRecordService confirmTransactionRecordService;
    @Resource
    private PlatformStartChargingService platformStartChargingService;
    @Resource
    private SecurityDetectionService securityDetectionService;
    @Resource
    private PlatformStartChargingReplyService platformStartChargingReplyService;
    @Resource
    private MotorAbortService motorAbortService;
    @Resource
    private ErrorMessageMessageService errorMessageMessageService;
    @Resource
    private PlatformStopChargingService platformStopChargingService;
    @Resource
    private PlatformStopChargingReplyService platformStopChargingReplyService;
    @Resource
    private SetupBillingModelService setupBillingModelService;
    @Resource
    private SetupBillingModelReplyService setupBillingModelReplyService;
    @Resource
    private QrCodeDeliveryService qrCodeDeliveryService;
    @Resource
    private EndChargeService endChargeService;
    private Integer port = null;
    @Override
    public void onApplicationEvent(WebServerInitializedEvent event) {
        port = event.getWebServer().getPort();
    }
    /**
     * 定时任务
     */
    @Scheduled(cron = "0 0 10 * * ?")
    public void run(){
        if(null != port && port == 5700){
            bmsInformationService.taskDelete();
            bmsDemandAndChargerExportationService.taskDelete();
            uploadRealTimeMonitoringDataService.taskDelete();
            onlineService.taskDelete();
            onlineReplyService.taskDelete();
            billingModeVerifyService.taskDelete();
            billingModeVerifyReplyService.taskDelete();
            acquisitionBillingModeService.taskDelete();
            acquisitionBillingModeReplyService.taskDelete();
            transactionRecordService.taskDelete();
            confirmTransactionRecordService.taskDelete();
            platformStartChargingService.taskDelete();
            securityDetectionService.taskDelete();
            platformStartChargingReplyService.taskDelete();
            chargingHandshakeService.taskDelete();
            bmsAbortService.taskDelete();
            motorAbortService.taskDelete();
            errorMessageMessageService.taskDelete();
            platformStopChargingService.taskDelete();
            platformStopChargingReplyService.taskDelete();
            setupBillingModelService.taskDelete();
            setupBillingModelReplyService.taskDelete();
            qrCodeDeliveryService.taskDelete();
            endChargeService.taskDelete();
        }
    }
}
ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml
@@ -64,7 +64,8 @@
#      username: nacos
#      password: nacos
      # 生产环境
      server-addr: 192.168.0.137:8848,192.168.0.123:8848
#      server-addr: 192.168.0.137:8848,192.168.0.123:8848
      server-addr: 192.168.0.123:8848
      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
      group: DEFAULT_GROUP
      data-id: seata-server.properties
@@ -81,7 +82,8 @@
#      username: nacos
#      password: nacos
      # 生产环境
      server-addr: 192.168.0.137:8848,192.168.0.123:8848
#      server-addr: 192.168.0.137:8848,192.168.0.123:8848
      server-addr: 192.168.0.123:8848
      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
      group: DEFAULT_GROUP
      username: nacos
@@ -97,7 +99,8 @@
#        username: nacos
#        password: nacos
        # 生产环境
        server-addr: 192.168.0.137:8848,192.168.0.123:8848
#        server-addr: 192.168.0.137:8848,192.168.0.123:8848
        server-addr: 192.168.0.123:8848
        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
        group: DEFAULT_GROUP
        application: seata-server #Nacos 中 Seata 名称
@@ -116,7 +119,8 @@
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.0.137:8848,192.168.0.123:8848
#        server-addr: 192.168.0.137:8848,192.168.0.123:8848
        server-addr: 192.168.0.123:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
@@ -124,7 +128,8 @@
        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.0.137:8848,192.168.0.123:8848
#        server-addr: 192.168.0.137:8848,192.168.0.123:8848
        server-addr: 192.168.0.123:8848
        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
        username: nacos
        password: nacos
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -1282,8 +1282,10 @@
     */
    @PostMapping(value = "/getOrderByCode/{code}")
    public R<TChargingOrder> getOrderByCode(@PathVariable("code") String code){
        return R.ok(chargingOrderService.getOne(Wrappers.lambdaQuery(TChargingOrder.class)
                .eq(TChargingOrder::getCode,code)));
        TChargingOrder one = chargingOrderService.getOne(Wrappers.lambdaQuery(TChargingOrder.class)
                .eq(TChargingOrder::getCode, code));
        one.setIdStr(one.getId().toString());
        return R.ok(one);
    }