From 8d6ef24217033e13b356502f2ade8737a43cce2b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 19 四月 2025 17:52:15 +0800
Subject: [PATCH] MQ消息队列监管平台数据上传

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageUtil.java |   55 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 38 insertions(+), 17 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 780b998..8072fab 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,6 +5,7 @@
 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;
@@ -20,6 +21,7 @@
 import com.ruoyi.order.api.vo.SecurityDetectionVO;
 import com.ruoyi.order.api.vo.TransactionRecordMessageVO;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.client.producer.SendResult;
 import org.apache.rocketmq.spring.annotation.MessageModel;
 import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
 import org.apache.rocketmq.spring.core.RocketMQListener;
@@ -105,8 +107,8 @@
     private QrCodeDeliveryReplyService qrCodeDeliveryReplyService;
     @Autowired
     private SecurityDetectionService securityDetectionService;
-//    @Autowired
-//    private TCECPushUtil tcecPushUtil;
+    @Autowired
+    private TCECPushUtil tcecPushUtil;
 
     @Resource
     private ChargingPileClient chargingPileClient;
@@ -115,7 +117,8 @@
 
     @Resource
     private RedisTemplate redisTemplate;
-    
+    @Autowired
+    private EnhanceProduce enhanceProduce;
     
     
     
@@ -152,20 +155,16 @@
                 vo1.setPile_code(pingMessage.getCharging_pile_code());
                 vo1.setStatus(pingMessage.getCharging_gun_status());
                 chargingPileClient.updateChargingPileStatus(vo1);
-                
-//                ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
-//                threadPoolExecutor.execute(new Runnable() {
-//                    @Override
-//                    public void run() {
-//
-//                        try {
-////                            tcecPushUtil.pushSuperviseNotificationStationStatus(chargingGunClient.getChargingGunByFullNumber(pingMessage.getCharging_pile_code()+pingMessage.getCharging_gun_code()).getData());
-//                        }catch (Exception e){
-//                            e.printStackTrace();
-//                            System.out.println("设备状态推送监管平台失败:"+e.getMessage());
-//                        }
-//                    }
-//                });
+                // 监管平台推送充电设备状态
+                SendResult sendResult;
+                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 = enhanceProduce.gunStatusMessage(chargingMessage);
+
                 break;
             case SendTagConstant.END_CHARGE:
                 EndChargeMessage endChargeMessage = message.getEndChargeMessage();
@@ -176,6 +175,20 @@
                 endChargeService.create(endCharge);
                 // 业务处理
                 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);
 //                ThreadPoolExecutor threadPoolExecutor1 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
 //                threadPoolExecutor1.execute(new Runnable() {
 //                    @Override
@@ -255,6 +268,14 @@
                     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);
 //                    ThreadPoolExecutor threadPoolExecutor2 = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
 //                    threadPoolExecutor2.execute(new Runnable() {
 //                        @Override

--
Gitblit v1.7.1