From 2608fc201aed29d87f0edcfebcc57538b15dd2f6 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 19 六月 2025 09:49:18 +0800
Subject: [PATCH] 修改单方推送站点电话

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageUtil.java |  239 ++++++++++++++++++++++++-----------------------------------
 1 files changed, 96 insertions(+), 143 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageUtil.java
index 60bd13f..80ee746 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageUtil.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageUtil.java
@@ -5,13 +5,13 @@
 import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
 import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
 import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
+import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo;
 import com.ruoyi.integration.api.model.*;
 import com.ruoyi.integration.drainage.TCECPushUtil;
 import com.ruoyi.integration.iotda.constant.SendTagConstant;
 import com.ruoyi.integration.mongodb.service.*;
 import com.ruoyi.integration.rocket.model.*;
-import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
 import com.ruoyi.order.api.feignClient.ChargingOrderClient;
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
@@ -20,12 +20,9 @@
 import com.ruoyi.order.api.vo.SecurityDetectionVO;
 import com.ruoyi.order.api.vo.TransactionRecordMessageVO;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.rocketmq.spring.annotation.MessageModel;
-import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
-import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.apache.rocketmq.client.producer.SendResult;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.stream.annotation.StreamListener;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
@@ -115,19 +112,19 @@
 
     @Resource
     private RedisTemplate redisTemplate;
-    
-    
-    
-    
-    
+    @Autowired
+    private EnhanceProduce enhanceProduce;
+
+
+
+
 
     public void handleMessage(com.ruoyi.integration.rocket.model.ChargingMessage message){
-        log.info("rocket收到的消息内容:{}",message);
+        log.info("收到的消息内容:{}",message);
         String serviceId = message.getServiceId();
         if(!StringUtils.hasLength(serviceId)){
             return;
         }
-        log.info("rocket收到的消息内容:{}   {}", serviceId,message);
         switch (serviceId){
             case SendTagConstant.ONLINE:
                 OnlineMessage onlineMessage = message.getOnlineMessage();
@@ -146,24 +143,20 @@
                 pingService.save(ping);
                 //存储缓存中,5分钟有效
                 redisTemplate.opsForValue().set("ping:" + ping.getCharging_pile_code() + ping.getCharging_gun_code(), ping, 5, TimeUnit.MINUTES);
-                ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                threadPoolExecutor.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        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);
-    
-                        try {
-                            tcecPushUtil.pushSuperviseNotificationStationStatus(chargingGunClient.getChargingGunByFullNumber(pingMessage.getCharging_pile_code()+pingMessage.getCharging_gun_code()).getData());
-                        }catch (Exception e){
-                            e.printStackTrace();
-                            System.out.println("设备状态推送监管平台失败:"+e.getMessage());
-                        }
-                    }
-                });
+
+                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);
+                // 监管平台推送充电设备状态
+                String gunCode = pingMessage.getCharging_pile_code() + pingMessage.getCharging_gun_code();
+                ChargingMessage chargingMessage = new ChargingMessage();
+                chargingMessage.setServiceId(SendTagConstant.GUN_STATUS);
+                GunStatusMessage gunStatusMessage = new GunStatusMessage();
+                gunStatusMessage.setFullNumber(gunCode);
+                chargingMessage.setGunStatusMessage(gunStatusMessage);
+                SendResult sendResult = enhanceProduce.gunStatusMessage(chargingMessage);
                 break;
             case SendTagConstant.END_CHARGE:
                 EndChargeMessage endChargeMessage = message.getEndChargeMessage();
@@ -172,22 +165,22 @@
                 EndCharge endCharge = new EndCharge();
                 BeanUtils.copyProperties(endChargeMessage,endCharge);
                 endChargeService.create(endCharge);
-                ThreadPoolExecutor threadPoolExecutor1 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                threadPoolExecutor1.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        // 业务处理
-                        chargingOrderClient.endCharge(endCharge.getTransaction_serial_number());
-                        try {
-                            TChargingOrder chargingOrder = chargingOrderClient.getOrderByCode(endCharge.getTransaction_serial_number()).getData();
-                            tcecPushUtil.pushSuperviseNotificationChargeOrderInfo(chargingOrder);
-                            tcecPushUtil.pushSuperviseNotificationEquipChargeStatus(chargingOrder);
-                        }catch (Exception e){
-                            e.printStackTrace();
-                            System.out.println("充电结束推送监管平台失败:"+e.getMessage());
-                        }
-                    }
-                });
+                // 业务处理
+                chargingOrderClient.endCharge(endCharge.getTransaction_serial_number());
+                // 订单id
+                String transactionSerialNumber = endCharge.getTransaction_serial_number();
+                ChargingOrderMessage chargingOrderMessage = new ChargingOrderMessage();
+                chargingOrderMessage.setOrderNumber(transactionSerialNumber);
+                // 推送充电订单信息
+                ChargingMessage chargingMessage1 = new ChargingMessage();
+                chargingMessage1.setServiceId(SendTagConstant.ORDER_INFO);
+                chargingMessage1.setOrderMessage(chargingOrderMessage);
+                enhanceProduce.orderInfoMessage(chargingMessage1);
+                // 推送充电订单状态
+                ChargingMessage chargingMessage2 = new ChargingMessage();
+                chargingMessage2.setServiceId(SendTagConstant.ORDER_STATUS);
+                chargingMessage2.setOrderMessage(chargingOrderMessage);
+                enhanceProduce.orderStatusMessage(chargingMessage2);
                 break;
             case SendTagConstant.ERROR_MESSAGE:
                 ErrorMessageMessage errorMessageMessage1 = message.getErrorMessageMessage();
@@ -214,8 +207,8 @@
                 acquisitionBillingModeService.create(acquisitionBillingMode);
                 break;
             case SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA:
+                UploadRealTimeMonitoringDataMessage uploadRealTimeMonitoringDataMessage = message.getUploadRealTimeMonitoringDataMessage();
                 try {
-                    UploadRealTimeMonitoringDataMessage uploadRealTimeMonitoringDataMessage = message.getUploadRealTimeMonitoringDataMessage();
                     log.info("上传实时监测数据-业务消息处理:{}",uploadRealTimeMonitoringDataMessage);
                     // 持久化消息
                     UploadRealTimeMonitoringData uploadRealTimeMonitoringData = new UploadRealTimeMonitoringData();
@@ -242,26 +235,23 @@
                     uploadRealTimeMonitoringData.setOrderType(chargingOrder.getOrderType());
                     uploadRealTimeMonitoringData.setSiteId(chargingOrder.getSiteId());
                     uploadRealTimeMonitoringData.setStatus(chargingOrder.getStatus());
-//                    uploadRealTimeMonitoringData.setStartTime(chargingOrder.getStartTime());
-//                    uploadRealTimeMonitoringData.setEndTime(chargingOrder.getEndTime());
                     int i = uploadRealTimeMonitoringDataService.create(uploadRealTimeMonitoringData);
                     if(i == 0){
                         log.error("数据存储mongo失败");
                     }
-    
-                    ThreadPoolExecutor threadPoolExecutor2 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                    threadPoolExecutor2.execute(new Runnable() {
-                        @Override
-                        public void run() {
-                            // 业务处理
-                            UploadRealTimeMonitoringDataQuery query = new UploadRealTimeMonitoringDataQuery();
-                            BeanUtils.copyProperties(uploadRealTimeMonitoringData, query);
-                            chargingOrderClient.chargeMonitoring(query);
-                            chargingOrder.setEndSoc(uploadRealTimeMonitoringDataMessage.getSoc()+"");
-    
-                            tcecPushUtil.pushSuperviseNotificationEquipChargeStatus(chargingOrder);
-                        }
-                    });
+        
+                    // 业务处理
+                    UploadRealTimeMonitoringDataQuery query = new UploadRealTimeMonitoringDataQuery();
+                    BeanUtils.copyProperties(uploadRealTimeMonitoringData, query);
+                    chargingOrderClient.chargeMonitoring(query);
+                    // 订单id
+                    ChargingOrderMessage chargingOrderMessage3 = new ChargingOrderMessage();
+                    chargingOrderMessage3.setOrderNumber(chargingOrder.getCode());
+                    // 推送充电订单信息
+                    ChargingMessage chargingMessage4 = new ChargingMessage();
+                    chargingMessage4.setServiceId(SendTagConstant.ORDER_STATUS);
+                    chargingMessage4.setOrderMessage(chargingOrderMessage3);
+                    enhanceProduce.orderInfoMessage(chargingMessage4);
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
@@ -276,7 +266,7 @@
                 break;
             case SendTagConstant.PARAMETER_SETTING:
                 ParameterSettingMessage parameterSettingMessage = message.getParameterSettingMessage();
-                log.info("业务消息处理:{}",parameterSettingMessage);
+                log.info("参数配置-业务消息处理:{}",parameterSettingMessage);
                 // 持久化消息
                 ParameterSetting parameterSetting = new ParameterSetting();
                 BeanUtils.copyProperties(parameterSettingMessage,parameterSetting);
@@ -289,15 +279,8 @@
                 BmsAbort bmsAbort = new BmsAbort();
                 BeanUtils.copyProperties(bmsAbortMessage,bmsAbort);
                 bmsAbortService.create(bmsAbort);
-    
-                ThreadPoolExecutor threadPoolExecutor3 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                threadPoolExecutor3.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        // 业务处理
-                        chargingOrderClient.excelEndCharge(bmsAbort.getTransaction_serial_number());
-                    }
-                });
+                // 业务处理
+                chargingOrderClient.excelEndCharge(bmsAbort.getTransaction_serial_number());
                 break;
             case SendTagConstant.MOTOR_ABORT:
                 MotorAbortMessage motorAbortMessage = message.getMotorAbortMessage();
@@ -306,14 +289,8 @@
                 MotorAbort motorAbort = new MotorAbort();
                 BeanUtils.copyProperties(motorAbortMessage,motorAbort);
                 motorAbortService.create(motorAbort);
-                ThreadPoolExecutor threadPoolExecutor4 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                threadPoolExecutor4.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        // 业务处理
-                        chargingOrderClient.excelEndCharge(motorAbort.getTransaction_serial_number());
-                    }
-                });
+                // 业务处理
+                chargingOrderClient.excelEndCharge(motorAbort.getTransaction_serial_number());
                 break;
             case SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION:
                 BmsDemandAndChargerExportationMessage bmsDemandAndChargerExportationMessage = message.getBmsDemandAndChargerExportationMessage();
@@ -322,18 +299,13 @@
                 BmsDemandAndChargerExportation bmsDemandAndChargerExportation = new BmsDemandAndChargerExportation();
                 BeanUtils.copyProperties(bmsDemandAndChargerExportationMessage,bmsDemandAndChargerExportation);
                 bmsDemandAndChargerExportationService.create(bmsDemandAndChargerExportation);
-                ThreadPoolExecutor threadPoolExecutor5 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                threadPoolExecutor5.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        // 业务处理
-                        TChargingOrder chargingOrderBms = chargingOrderClient.getOrderByCode(bmsDemandAndChargerExportationMessage.getTransaction_serial_number()).getData();
-                        if(Objects.nonNull(chargingOrderBms)){
-                            chargingOrderBms.setNeedElec(bmsDemandAndChargerExportationMessage.getBms_current_requirements());
-                            chargingOrderClient.updateChargingOrder(chargingOrderBms);
-                        }
-                    }
-                });
+    
+                // 业务处理
+                TChargingOrder chargingOrderBms = chargingOrderClient.getOrderByCode(bmsDemandAndChargerExportationMessage.getTransaction_serial_number()).getData();
+                if(Objects.nonNull(chargingOrderBms)){
+                    chargingOrderBms.setNeedElec(bmsDemandAndChargerExportationMessage.getBms_current_requirements());
+                    chargingOrderClient.updateChargingOrder(chargingOrderBms);
+                }
                 break;
             case SendTagConstant.BMS_INFORMATION:
                 BmsInformationMessage bmsInformationMessage = message.getBmsInformationMessage();
@@ -358,16 +330,11 @@
                 PlatformStartChargingReply platformStartChargingReply = new PlatformStartChargingReply();
                 BeanUtils.copyProperties(platformStartChargingReplyMessage,platformStartChargingReply);
                 platformStartChargingReplyService.create(platformStartChargingReply);
-                ThreadPoolExecutor threadPoolExecutor6 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                threadPoolExecutor6.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        // 业务处理
-                        PlatformStartChargingReplyMessageVO message1 = new PlatformStartChargingReplyMessageVO();
-                        BeanUtils.copyProperties(platformStartChargingReplyMessage, message1);
-                        chargingOrderClient.startChargeSuccessfully(message1);
-                    }
-                });
+    
+                // 业务处理
+                PlatformStartChargingReplyMessageVO message1 = new PlatformStartChargingReplyMessageVO();
+                BeanUtils.copyProperties(platformStartChargingReplyMessage, message1);
+                chargingOrderClient.startChargeSuccessfully(message1);
                 break;
             case SendTagConstant.PLATFORM_STOP_CHARGING_REPLY:
                 PlatformStopChargingReplyMessage platformStopChargingReplyMessage = message.getPlatformStopChargingReplyMessage();
@@ -376,45 +343,35 @@
                 PlatformStopChargingReply platformStopChargingReply = new PlatformStopChargingReply();
                 BeanUtils.copyProperties(platformStopChargingReplyMessage,platformStopChargingReply);
                 platformStopChargingReplyService.create(platformStopChargingReply);
-                ThreadPoolExecutor threadPoolExecutor7 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                threadPoolExecutor7.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        PlatformStopChargingReplyVO platformStopChargingReply1 = new PlatformStopChargingReplyVO();
-                        BeanUtils.copyProperties(platformStopChargingReply, platformStopChargingReply1);
-                        chargingOrderClient.terminateSuccessfulResponse(platformStopChargingReply1);
-                    }
-                });
+    
+                PlatformStopChargingReplyVO platformStopChargingReply1 = new PlatformStopChargingReplyVO();
+                BeanUtils.copyProperties(platformStopChargingReply, platformStopChargingReply1);
+                chargingOrderClient.terminateSuccessfulResponse(platformStopChargingReply1);
                 break;
             case SendTagConstant.TRANSACTION_RECORD:
                 TransactionRecordMessage transactionRecordMessage = message.getTransactionRecordMessage();
                 log.info("交易记录-业务消息处理:{}",transactionRecordMessage);
-                transactionRecordMessage.setResult(JSONObject.toJSONString(message));
+                transactionRecordMessage.setResult(JSONObject.toJSONString(transactionRecordMessage));
                 // 持久化消息
                 TransactionRecord transactionRecord = new TransactionRecord();
                 BeanUtils.copyProperties(transactionRecordMessage,transactionRecord);
+                transactionRecord.setResult(transactionRecordMessage.getResult());
                 transactionRecordService.create(transactionRecord);
-                ThreadPoolExecutor threadPoolExecutor8 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                threadPoolExecutor8.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        // 业务处理
-                        TChargingOrder chargingOrderRecord = chargingOrderClient.getOrderByCode(transactionRecordMessage.getTransaction_serial_number()).getData();
-                        if(Objects.nonNull(chargingOrderRecord)){
-                            chargingOrderRecord.setTotalElectricity(transactionRecordMessage.getTotal_electricity());
-                            chargingOrderClient.updateChargingOrder(chargingOrderRecord);
-                        }
-                        //计算费用
-                        TransactionRecordMessageVO vo = new TransactionRecordMessageVO();
-                        BeanUtils.copyProperties(transactionRecordMessage,vo);
-                        int code = chargingOrderClient.endChargeBillingCharge(vo).getCode();
-                        if(200 != code){
-                            //失败后添加到队列中继续处理数据
-                            redisTemplate.opsForSet().add(SendTagConstant.TRANSACTION_RECORD, transactionRecordMessage.getTransaction_serial_number());
-                        }
-                    }
-                });
     
+                // 业务处理
+                TChargingOrder chargingOrderRecord = chargingOrderClient.getOrderByCode(transactionRecordMessage.getTransaction_serial_number()).getData();
+                if(Objects.nonNull(chargingOrderRecord)){
+                    chargingOrderRecord.setTotalElectricity(transactionRecordMessage.getTotal_electricity());
+                    chargingOrderClient.updateChargingOrder(chargingOrderRecord);
+                }
+                //计算费用
+                TransactionRecordMessageVO vo = new TransactionRecordMessageVO();
+                BeanUtils.copyProperties(transactionRecordMessage,vo);
+                int code = chargingOrderClient.endChargeBillingCharge(vo).getCode();
+                if(200 != code){
+                    //失败后添加到队列中继续处理数据
+                    redisTemplate.opsForSet().add(SendTagConstant.TRANSACTION_RECORD, transactionRecordMessage.getTransaction_serial_number());
+                }
     
                 // 添加实时上传记录结束记录
                 // 查询mogondb上一条数据
@@ -511,19 +468,15 @@
                 SecurityDetection securityDetection = new SecurityDetection();
                 BeanUtils.copyProperties(securityDetectionMessage,securityDetection);
                 securityDetectionService.create(securityDetection);
-                ThreadPoolExecutor threadPoolExecutor9 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-                threadPoolExecutor9.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        SecurityDetectionVO securityDetection1 = new SecurityDetectionVO();
-                        BeanUtils.copyProperties(securityDetection, securityDetection1);
-                        chargingOrderClient.securityDetection(securityDetection1);
-                    }
-                });
+    
+                SecurityDetectionVO securityDetection1 = new SecurityDetectionVO();
+                BeanUtils.copyProperties(securityDetection, securityDetection1);
+                chargingOrderClient.securityDetection(securityDetection1);
                 break;
             default:
                 PlatformRemoteUpdateReplyMessage platformRemoteUpdateReplyMessage = message.getPlatformRemoteUpdateReplyMessage();
-                log.info("远程更新应答-业务消息处理:{}",platformRemoteUpdateReplyMessage);
+                log.info("业务消息处理:{}",platformRemoteUpdateReplyMessage);
+                // 持久化消息
                 PlatformRemoteUpdateReply platformRemoteUpdateReply = new PlatformRemoteUpdateReply();
                 BeanUtils.copyProperties(platformRemoteUpdateReplyMessage,platformRemoteUpdateReply);
                 platformRemoteUpdateReplyService.create(platformRemoteUpdateReply);

--
Gitblit v1.7.1