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); }