From bd97f8c5cd9be78abfaaab295319bd7ceef98f11 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期五, 11 十月 2024 14:51:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java |   89 ++++++++++++++++++++++++++++++--------------
 1 files changed, 60 insertions(+), 29 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 bbc01a0..5cffb52 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
@@ -68,12 +68,14 @@
         writer.write("服务id:"+service_id+"\n");
         writer.close();
         SendResult sendResult;
+        ChargingMessage chargingMessage = new ChargingMessage();
+        chargingMessage.setServiceId(service_id);
         // 设备消息下发
         String result;
         switch (service_id){
             case SendTagConstant.ONLINE:
                 OnlineMessage onlineMessage = JSON.parseObject(content.toJSONString(),OnlineMessage.class);
-                sendResult = enhanceProduce.onlineMessage(onlineMessage);
+                chargingMessage.setOnlineMessage(onlineMessage);
                 // 响应硬件
                 // 业务处理 登录认证应答
                 OnlineReply onlineReply = new OnlineReply();
@@ -86,10 +88,11 @@
                 timingSettingReplyOnline.setCharging_pile_code(onlineMessage.getCharging_pile_code());
                 timingSettingReplyOnline.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReplyOnline));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.PING:
                 PingMessage pingMessage = JSON.parseObject(content.toJSONString(),PingMessage.class);
-                sendResult = enhanceProduce.pingMessage(pingMessage);
+                chargingMessage.setPingMessage(pingMessage);
                 // 响应硬件
                 Pong pong = new Pong();
                 pong.setCharging_pile_code(pingMessage.getCharging_pile_code());
@@ -97,20 +100,23 @@
                 pong.setCharging_gun_status(0);
                 result = iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.PONG.getKey(), messageUtil.pong(pong));
                 log.info("充电桩心跳包-返回结果:{}",result);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.END_CHARGE:
                 EndChargeMessage endChargeMessage = JSON.parseObject(content.toJSONString(),EndChargeMessage.class);
-                sendResult = enhanceProduce.endChargeMessage(endChargeMessage);
+                chargingMessage.setEndChargeMessage(endChargeMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.ERROR_MESSAGE:
                 ErrorMessageMessage errorMessageMessage = JSON.parseObject(content.toJSONString(),ErrorMessageMessage.class);
-                sendResult = enhanceProduce.errorMessageMessage(errorMessageMessage);
+                chargingMessage.setErrorMessageMessage(errorMessageMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.BILLING_MODE_VERIFY:
                 BillingModeVerifyMessage billingModeVerifyMessage = JSON.parseObject(content.toJSONString(),BillingModeVerifyMessage.class);
-                sendResult = enhanceProduce.billingModeVerifyMessage(billingModeVerifyMessage);
+                chargingMessage.setBillingModeVerifyMessage(billingModeVerifyMessage);
                 // 响应硬件
                 BillingModeVerifyReply billingModeVerifyReply = new BillingModeVerifyReply();
                 if(billingModeVerifyMessage.getBilling_model_code().equals("0")){
@@ -134,10 +140,11 @@
                     }
                 }
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getKey(),messageUtil.billingModeVerifyReply(billingModeVerifyReply));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.ACQUISITION_BILLING_MODE:
                 AcquisitionBillingModeMessage acquisitionBillingModeMessage = JSON.parseObject(content.toJSONString(),AcquisitionBillingModeMessage.class);
-                sendResult = enhanceProduce.acquisitionBillingModeMessage(acquisitionBillingModeMessage);
+                chargingMessage.setAcquisitionBillingModeMessage(acquisitionBillingModeMessage);
                 // 响应硬件   计费模型请求应答  1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段
                 List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).getData();
                 Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails);
@@ -151,43 +158,51 @@
                 acquisitionBillingModeReply.setCharging_pile_code(acquisitionBillingModeMessage.getCharging_pile_code());
                 acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO);
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getKey(),messageUtil.acquisitionBillingModeReply(acquisitionBillingModeReply));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA:
                 UploadRealTimeMonitoringDataMessage uploadRealTimeMonitoringDataMessage = JSON.parseObject(content.toJSONString(),UploadRealTimeMonitoringDataMessage.class);
-                sendResult = enhanceProduce.uploadRealTimeMonitoringDataMessage(uploadRealTimeMonitoringDataMessage);
+                chargingMessage.setUploadRealTimeMonitoringDataMessage(uploadRealTimeMonitoringDataMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.CHARGING_HANDSHAKE:
                 ChargingHandshakeMessage chargingHandshakeMessage = JSON.parseObject(content.toJSONString(),ChargingHandshakeMessage.class);
-                sendResult = enhanceProduce.chargingHandshakeMessage(chargingHandshakeMessage);
+                chargingMessage.setChargingHandshakeMessage(chargingHandshakeMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.PARAMETER_SETTING:
                 ParameterSettingMessage parameterSettingMessage = JSON.parseObject(content.toJSONString(),ParameterSettingMessage.class);
-                sendResult = enhanceProduce.parameterSettingMessage(parameterSettingMessage);
+                chargingMessage.setParameterSettingMessage(parameterSettingMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.BMS_ABORT:
                 BmsAbortMessage bmsAbortMessage = JSON.parseObject(content.toJSONString(),BmsAbortMessage.class);
-                sendResult = enhanceProduce.bmsAbortMessage(bmsAbortMessage);
+                chargingMessage.setBmsAbortMessage(bmsAbortMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.MOTOR_ABORT:
                 MotorAbortMessage motorAbortMessage = JSON.parseObject(content.toJSONString(),MotorAbortMessage.class);
-                sendResult = enhanceProduce.motorAbortMessage(motorAbortMessage);
+                chargingMessage.setMotorAbortMessage(motorAbortMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION:
                 BmsDemandAndChargerExportationMessage bmsDemandAndChargerExportationMessage = JSON.parseObject(content.toJSONString(),BmsDemandAndChargerExportationMessage.class);
-                sendResult = enhanceProduce.bmsDemandAndChargerExportationMessage(bmsDemandAndChargerExportationMessage);
+                chargingMessage.setBmsDemandAndChargerExportationMessage(bmsDemandAndChargerExportationMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.BMS_INFORMATION:
                 BmsInformationMessage bmsInformationMessage = JSON.parseObject(content.toJSONString(),BmsInformationMessage.class);
-                sendResult = enhanceProduce.bmsInformationMessage(bmsInformationMessage);
+                chargingMessage.setBmsInformationMessage(bmsInformationMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.CHARGING_PILE_STARTS_CHARGING:
                 ChargingPileStartsChargingMessage chargingPileStartsChargingMessage = JSON.parseObject(content.toJSONString(),ChargingPileStartsChargingMessage.class);
-                sendResult = enhanceProduce.chargingPileStartsChargingMessage(chargingPileStartsChargingMessage);
+                chargingMessage.setChargingPileStartsChargingMessage(chargingPileStartsChargingMessage);
                 // 响应硬件
                 PlatformConfirmationCharging platformConfirmationCharging = new PlatformConfirmationCharging();
                 platformConfirmationCharging.setCharging_pile_code(chargingPileStartsChargingMessage.getCharging_pile_code());
@@ -197,88 +212,104 @@
                 platformConfirmationCharging.setAuthentication(1);
                 // TODO 若是失败,给出失败原因
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.PLATFORM_CONFIRMATION_CHARGING.getKey(),messageUtil.platformConfirmationCharging(platformConfirmationCharging));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.PLATFORM_START_CHARGING_REPLY:
                 PlatformStartChargingReplyMessage platformStartChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStartChargingReplyMessage.class);
-                sendResult = enhanceProduce.platformStartChargingReplyMessage(platformStartChargingReplyMessage);
+                chargingMessage.setPlatformStartChargingReplyMessage(platformStartChargingReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.PLATFORM_STOP_CHARGING_REPLY:
                 PlatformStopChargingReplyMessage platformStopChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStopChargingReplyMessage.class);
-                sendResult = enhanceProduce.platformStopChargingReplyMessage(platformStopChargingReplyMessage);
+                chargingMessage.setPlatformStopChargingReplyMessage(platformStopChargingReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.TRANSACTION_RECORD:
                 TransactionRecordMessage transactionRecordMessage = JSON.parseObject(content.toJSONString(),TransactionRecordMessage.class);
-                sendResult = enhanceProduce.transactionRecordMessage(transactionRecordMessage);
+                chargingMessage.setTransactionRecordMessage(transactionRecordMessage);
                 // 响应硬件
                 ConfirmTransactionRecord confirmTransactionRecord = new ConfirmTransactionRecord();
                 confirmTransactionRecord.setTransaction_serial_number(transactionRecordMessage.getTransaction_serial_number());
                 confirmTransactionRecord.setConfirm_result(0);
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.CONFIRM_TRANSACTION_RECORD.getKey(),messageUtil.confirmTransactionRecord(confirmTransactionRecord));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.UPDATE_BALANCE_REPLY:
                 UpdateBalanceReplyMessage updateBalanceReplyMessage = JSON.parseObject(content.toJSONString(),UpdateBalanceReplyMessage.class);
-                sendResult = enhanceProduce.updateBalanceReplyMessage(updateBalanceReplyMessage);
+                chargingMessage.setUpdateBalanceReplyMessage(updateBalanceReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.SYNCHRONIZE_OFFLINE_CARD_REPLY:
                 SynchronizeOfflineCardReplyMessage synchronizeOfflineCardReplyMessage = JSON.parseObject(content.toJSONString(),SynchronizeOfflineCardReplyMessage.class);
-                sendResult = enhanceProduce.synchronizeOfflineCardReplyMessage(synchronizeOfflineCardReplyMessage);
+                chargingMessage.setSynchronizeOfflineCardReplyMessage(synchronizeOfflineCardReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.CLEAR_OFFLINE_CARD_REPLY:
                 ClearOfflineCardReplyMessage clearOfflineCardReplyMessage = JSON.parseObject(content.toJSONString(),ClearOfflineCardReplyMessage.class);
-                sendResult = enhanceProduce.clearOfflineCardReplyMessage(clearOfflineCardReplyMessage);
+                chargingMessage.setClearOfflineCardReplyMessage(clearOfflineCardReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.WORKING_PARAMETER_SETTING_REPLY:
                 WorkingParameterSettingReplyMessage workingParameterSettingReplyMessage = JSON.parseObject(content.toJSONString(),WorkingParameterSettingReplyMessage.class);
-                sendResult = enhanceProduce.workingParameterSettingReplyMessage(workingParameterSettingReplyMessage);
+                chargingMessage.setWorkingParameterSettingReplyMessage(workingParameterSettingReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.TIMING_SETTING:
                 TimingSettingMessage timingSettingMessage = JSON.parseObject(content.toJSONString(),TimingSettingMessage.class);
-                sendResult = enhanceProduce.timingSettingMessage(timingSettingMessage);
+                chargingMessage.setTimingSettingMessage(timingSettingMessage);
                 // 响应硬件 对时设置应答
                 TimingSettingReply timingSettingReply = new TimingSettingReply();
                 timingSettingReply.setCharging_pile_code(timingSettingMessage.getCharging_pile_code());
                 timingSettingReply.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReply));
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.SETUP_BILLING_MODEL_REPLY:
                 SetupBillingModelReplyMessage setupBillingModelReplyMessage = JSON.parseObject(content.toJSONString(),SetupBillingModelReplyMessage.class);
-                sendResult = enhanceProduce.setupBillingModelReplyMessage(setupBillingModelReplyMessage);
+                chargingMessage.setSetupBillingModelReplyMessage(setupBillingModelReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.GROUND_LOCK_REAL_TIME_DATA:
                 GroundLockRealTimeDataMessage groundLockRealTimeDataMessage = JSON.parseObject(content.toJSONString(),GroundLockRealTimeDataMessage.class);
-                sendResult = enhanceProduce.groundLockRealTimeDataMessage(groundLockRealTimeDataMessage);
+                chargingMessage.setGroundLockRealTimeDataMessage(groundLockRealTimeDataMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.CHARGING_PILE_RETURNS_GROUND_LOCK_DATA:
                 ChargingPileReturnsGroundLockDataMessage chargingPileReturnsGroundLockDataMessage = JSON.parseObject(content.toJSONString(),ChargingPileReturnsGroundLockDataMessage.class);
-                sendResult = enhanceProduce.chargingPileReturnsGroundLockDataMessage(chargingPileReturnsGroundLockDataMessage);
+                chargingMessage.setChargingPileReturnsGroundLockDataMessage(chargingPileReturnsGroundLockDataMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.PLATFORM_RESTART_REPLY:
                 PlatformRestartReplyMessage platformRestartReplyMessage = JSON.parseObject(content.toJSONString(),PlatformRestartReplyMessage.class);
-                sendResult = enhanceProduce.platformRestartReplyMessage(platformRestartReplyMessage);
+                chargingMessage.setPlatformRestartReplyMessage(platformRestartReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.QR_CODE_DELIVERY_REPLY:
                 QrCodeDeliveryReplyMessage qrCodeDeliveryReplyMessage = JSON.parseObject(content.toJSONString(),QrCodeDeliveryReplyMessage.class);
-                sendResult = enhanceProduce.qrCodeDeliveryReplyMessage(qrCodeDeliveryReplyMessage);
+                chargingMessage.setQrCodeDeliveryReplyMessage(qrCodeDeliveryReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             case SendTagConstant.SECURITY_DETECTION:
                 SecurityDetectionMessage securityDetectionMessage = JSON.parseObject(content.toJSONString(),SecurityDetectionMessage.class);
-                sendResult = enhanceProduce.securityDetectionMessage(securityDetectionMessage);
+                chargingMessage.setSecurityDetectionMessage(securityDetectionMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
             default:
                 PlatformRemoteUpdateReplyMessage platformRemoteUpdateReplyMessage = JSON.parseObject(content.toJSONString(),PlatformRemoteUpdateReplyMessage.class);
-                sendResult = enhanceProduce.platformRemoteUpdateReplyMessage(platformRemoteUpdateReplyMessage);
+                chargingMessage.setPlatformRemoteUpdateReplyMessage(platformRemoteUpdateReplyMessage);
+                sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 // 响应硬件
                 break;
         }

--
Gitblit v1.7.1