From 133695076fbde70f807ba85e8b041840f4ce57cf Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 19 六月 2025 16:55:52 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/produce/ChargingMessageListener.java |  196 +++++++++++++++++++-----------------------------
 1 files changed, 78 insertions(+), 118 deletions(-)

diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/produce/ChargingMessageListener.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/produce/ChargingMessageListener.java
index 3577505..e1206f3 100644
--- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/produce/ChargingMessageListener.java
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/rocket/produce/ChargingMessageListener.java
@@ -23,8 +23,6 @@
 import org.apache.rocketmq.spring.annotation.MessageModel;
 import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
 import org.apache.rocketmq.spring.core.RocketMQListener;
-import org.springframework.beans.BeanUtils;
-import org.springframework.cloud.stream.annotation.StreamListener;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
@@ -42,10 +40,9 @@
         messageModel = MessageModel.CLUSTERING,
         consumerGroup = "jianguan_message",
         topic = "jianguan_message",
-        selectorExpression = "jianguan_message",
-        consumeThreadMax = 64 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
+        selectorExpression = "jianguan_message"
 )
-public class ChargingMessageListener extends EnhanceMessageHandler<JianGuanMessage> implements RocketMQListener<JianGuanMessage> {
+public class ChargingMessageListener implements RocketMQListener<JianGuanMessage> {
 
     @Resource
     private ChargingOrderClient chargingOrderClient;
@@ -66,9 +63,12 @@
 
     private final static String operatorId = "906171535";
 
-    @StreamListener("input")
+
+    /**
+     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
+     */
     @Override
-    protected void handleMessage(JianGuanMessage message) throws Exception {
+    public void onMessage(JianGuanMessage message) {
         log.info("rocket收到的消息内容:{}", message);
         String serviceId = message.getServiceId();
         if (!StringUtils.hasLength(serviceId)) {
@@ -219,124 +219,84 @@
                 supEquipChargeStatus.setTotalPower(chargingOrder2.getElectrovalence());
                 tcecSuperviseUtil.notificationSupEquipChargeStatus(new Operator(), supEquipChargeStatus);
                 // 川逸充
-                JSONObject jsonObject = new JSONObject();
-                jsonObject.put("StartChargeSeq",chargingOrder2.getCode());
-                jsonObject.put("ConnectorID",chargingGun2.getFullNumber());
-                //状态(0=未知,1=等待中/已插枪,2=启动中,3=充电中,4=停止中,5=已结束)
-                int tempStatus = 0;
-                switch (chargingOrder2.getStatus()){
-                    case 1:
-                        tempStatus=1;
+                if (chargingOrder2.getRechargePaymentType()==3){
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put("StartChargeSeq",chargingOrder2.getCode());
+                    jsonObject.put("ConnectorID",chargingGun2.getFullNumber());
+                    //状态(0=未知,1=等待中/已插枪,2=启动中,3=充电中,4=停止中,5=已结束)
+                    int tempStatus = 0;
+                    switch (chargingOrder2.getStatus()){
+                        case 1:
+                            tempStatus=1;
 
-                    case 2:
-                        tempStatus=1;
-                        jsonObject.put("StartChargeSeqStat",tempStatus);
-                        LocalDateTime startTime = chargingOrder2.getStartTime();
-                        if (startTime!=null){
-                            jsonObject.put("StartTime",startTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-                        }else{
+                        case 2:
+                            tempStatus=1;
+                            jsonObject.put("StartChargeSeqStat",tempStatus);
+                            LocalDateTime startTime = chargingOrder2.getStartTime();
+                            if (startTime!=null){
+                                jsonObject.put("StartTime",startTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+                            }else{
+                                LocalDateTime now = LocalDateTime.now();
+                                // 转化为yyyy-MM-dd HH:mm:ss格式字符串
+                                jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+                            }
+                            chuanYiChongSuperviseUtil.notificationStationStatus(new Operator(), jsonObject);
+                            break;
+                        case 4:
+
+                        case 5:
+                            jsonObject.put("StartChargeSeqStat",4);
+                            int temp = 0;
+                            //充电枪状态(1=离线,2=空闲,3=占用(未充电),4=占用(充电中),5=占用(已充满),6=占用(预约锁定),7=故障)
+                            switch (chargingGun2.getStatus()){
+                                case 1:
+                                    temp = 0;
+                                    break;
+                                case 2:
+                                    temp=1;
+                                    break;
+                                case 3:
+                                    temp=2;
+                                    break;
+                                case 4:
+                                    temp=3;
+                                    break;
+                                case 5:
+                                    temp=4;
+                                    break;
+                                case 6:
+                                    temp=4;
+                                    break;
+                                case 7:
+                                    temp = 255;
+                                    break;
+                            }
+                            jsonObject.put("ConnectorStatus",temp);
+
+                            jsonObject.put("CurrentA",chargingOrder2.getCurrent());
+                            jsonObject.put("VoltageA",chargingOrder2.getVoltage());
+                            LocalDateTime startTime2 = chargingOrder2.getStartTime();
+
+                            if (startTime2!=null){
+                                jsonObject.put("StartTime",startTime2.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+                            }else{
+                                LocalDateTime now = LocalDateTime.now();
+                                // 转化为yyyy-MM-dd HH:mm:ss格式字符串
+                                jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+                            }
                             LocalDateTime now = LocalDateTime.now();
                             // 转化为yyyy-MM-dd HH:mm:ss格式字符串
-                            jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-                        }
-                        chuanYiChongSuperviseUtil.notificationStationStatus(new Operator(), jsonObject);
-                        break;
-                    case 4:
-
-                    case 5:
-                        jsonObject.put("StartChargeSeqStat",4);
-                        int temp = 0;
-                        //充电枪状态(1=离线,2=空闲,3=占用(未充电),4=占用(充电中),5=占用(已充满),6=占用(预约锁定),7=故障)
-                        switch (chargingGun2.getStatus()){
-                            case 1:
-                                temp = 0;
-                                break;
-                            case 2:
-                                temp=1;
-                                break;
-                            case 3:
-                                temp=2;
-                                break;
-                            case 4:
-                                temp=3;
-                                break;
-                            case 5:
-                                temp=4;
-                                break;
-                            case 6:
-                                temp=4;
-                                break;
-                            case 7:
-                                temp = 255;
-                                break;
-                        }
-                        jsonObject.put("ConnectorStatus",temp);
-
-                        jsonObject.put("CurrentA",chargingOrder2.getCurrent());
-                        jsonObject.put("VoltageA",chargingOrder2.getVoltage());
-                        LocalDateTime startTime2 = chargingOrder2.getStartTime();
-
-                        if (startTime2!=null){
-                            jsonObject.put("StartTime",startTime2.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-                        }else{
-                            LocalDateTime now = LocalDateTime.now();
-                            // 转化为yyyy-MM-dd HH:mm:ss格式字符串
-                            jsonObject.put("StartTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-                        }
-                        LocalDateTime now = LocalDateTime.now();
-                        // 转化为yyyy-MM-dd HH:mm:ss格式字符串
-                        jsonObject.put("EndTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-                        jsonObject.put("TotalPower",chargingOrder2.getElectricity());
-                        jsonObject.put("TotalMoney",chargingOrder2.getOrderAmount());
-                        chuanYiChongSuperviseUtil.notificationSupEquipChargeStatus(new Operator(), jsonObject);
-                        break;
+                            jsonObject.put("EndTime",now.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+                            jsonObject.put("TotalPower",chargingOrder2.getElectricity());
+                            jsonObject.put("TotalMoney",chargingOrder2.getOrderAmount());
+                            chuanYiChongSuperviseUtil.notificationSupEquipChargeStatus(new Operator(), jsonObject);
+                            break;
+                    }
                 }
+
 
                 break;
         }
-    }
-
-
-    @Override
-    protected void handleMaxRetriesExceeded(JianGuanMessage message) {
-        // 当超过指定重试次数消息时此处方法会被调用
-        // 生产中可以进行回退或其他业务操作
-        log.error("消息消费失败,请执行后续处理");
-    }
-
-
-    /**
-     * 是否执行重试机制
-     */
-    @Override
-    protected boolean isRetry() {
-        return true;
-    }
-
-    @Override
-    protected boolean throwException() {
-        // 是否抛出异常,false搭配retry自行处理异常
-        return false;
-    }
-
-    /**
-     * 若需要处理消息过滤,在父级中进行统一处理,或者在此处实现之后,自行处理
-     *
-     * @param message 待处理消息
-     * @return true: 本次消息被过滤,false:不过滤
-     */
-    @Override
-    protected boolean filter(JianGuanMessage message) {
-        // 此处可做消息过滤
-        return false;
-    }
-
-    /**
-     * 监听消费消息,不需要执行业务处理,委派给父类做基础操作,父类做完基础操作后会调用子类的实际处理类型
-     */
-    @Override
-    public void onMessage(JianGuanMessage message) {
-        super.dispatchMessage(message);
     }
 
 }
\ No newline at end of file

--
Gitblit v1.7.1