From 65ffc54ad3145eaecbbfe687f7557b95514205a6 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 31 八月 2022 17:35:35 +0800
Subject: [PATCH] 充电桩

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java |   43 ++++++++++++++++++++++++++++++-------------
 1 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
index 5d0f82c..7b2a3a5 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java
@@ -12,6 +12,7 @@
 import com.sandu.ximon.admin.service.*;
 import com.sandu.ximon.admin.utils.LogUtils;
 import com.sandu.ximon.admin.utils.RedisUtils;
+import com.sandu.ximon.dao.domain.C3mCharging;
 import com.sandu.ximon.dao.domain.C3mOrder;
 import com.sandu.ximon.dao.domain.Pole;
 import com.sandu.ximon.dao.enums.OrderStatus;
@@ -104,28 +105,44 @@
                 /**
                  * 璇诲彇蹇冭烦鍖咃紝鍒ゆ柇鍓╀綑閲戦鍜屽凡鍏呯數閲忥紝缁熻鍒扮紦瀛樹腑姝e湪杩涜鐨勮鍗曘��
                  */
-                A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(completeRequestFrame.getDestinationAddress(), true);
-                if (aPackage == null) {
-                    LogUtils.error("{ 鍏呯數妗�(" + completeRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
-                    return;
+                if (completeRequestFrame != null) {
+                    C3mCharging one = SpringContextHolder.getBean(C3ChargingService.class).
+                            getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, completeRequestFrame.getMcuUdid()).last("limit 1"));
+                    if (one == null) {
+                        return;
+                    }
+                    A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(one.getC3Id(), true);
+                    if (aPackage == null) {
+                        LogUtils.error("{ 鍏呯數妗�(" + completeRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
+                        return;
+                    }
+                    orderService.stopCharingOrder(aPackage);
                 }
-                orderService.stopCharingOrder(aPackage);
+
 
             } else if (C3ChargingEnum.CHARGE_STOP.getCode().equals(functionCode)) {
                 log.info("蹇冭烦鍝嶅簲鈥斺�斿厖鐢典腑鏂�");
                 A5C3CommonReportInnerFrame stopRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
                 log.info("C3鍏呯數妗╀笂鎶ュ鐞哶stopRequestFrame");
                 log.info(stopRequestFrame.toString());
+                if (stopRequestFrame != null) {
+                    C3mCharging one = SpringContextHolder.getBean(C3ChargingService.class).
+                            getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, stopRequestFrame.getMcuUdid()).last("limit 1"));
+                    if (one == null) {
+                        return;
+                    }
 
-                /**
-                 * 璇诲彇蹇冭烦鍖咃紝鍒ゆ柇鍓╀綑閲戦鍜屽凡鍏呯數閲忥紝缁熻鍒扮紦瀛樹腑姝e湪杩涜鐨勮鍗曘��
-                 */
-                A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(stopRequestFrame.getDestinationAddress(), true);
-                if (aPackage == null) {
-                    LogUtils.error("{ 鍏呯數妗�(" + stopRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
-                    return;
+                    /**
+                     * 璇诲彇蹇冭烦鍖咃紝鍒ゆ柇鍓╀綑閲戦鍜屽凡鍏呯數閲忥紝缁熻鍒扮紦瀛樹腑姝e湪杩涜鐨勮鍗曘��
+                     */
+                    A5C3HeartbeatReportInnerFrame.HeartBeatDataPackage aPackage = c3ChargingService.ReadTheHeartbeatPackage(one.getC3Id(), true);
+                    if (aPackage == null) {
+                        LogUtils.error("{ 鍏呯數妗�(" + stopRequestFrame.getDestinationAddress() + ")鍏呯數缁撴潫涓婃姤璇诲彇蹇冭烦鍖呭け璐ワ紝璇锋鏌ュ厖鐢垫々鏄惁鍑虹幇鏁呴殰! }");
+                        return;
+                    }
+                    orderService.stopCharingOrder(aPackage);
                 }
-                orderService.stopCharingOrder(aPackage);
+
             } else if (C3ChargingEnum.ERROR_CODE.getCode().equals(functionCode)) {
                 log.info("蹇冭烦鍝嶅簲鈥斺�旀晠闅�");
                 A5C3ErrorCodeReportInnerFrame errorCodeRequestFrame = new A5C3ErrorCodeReportInnerFrame().transformFrame(frame.getPayload());

--
Gitblit v1.9.3