From a289e87cbc8862a105d230989cab43732194d50e Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 16 七月 2025 16:25:27 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile into dev --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java | 125 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 125 insertions(+), 0 deletions(-) diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java index 67e8379..3e4077b 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java @@ -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(); -- Gitblit v1.7.1