From e55c8b0a92eb9715edd90c31dfd4de51a47b588b Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 04 十一月 2022 17:40:08 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/c3ChargingProcessor.java |   51 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 38 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 ec429cf..aec136d 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;
@@ -49,6 +50,13 @@
 
     @Override
     public void process(String productKey, String deviceName, CommonFrame frame) {
+        //TODO
+        if (!"32313243305005ffad36ffff".equals(deviceName)) {
+            log.info("涓嶈澶勭悊0000048E涔嬪鐨勫厖鐢垫々锛�");
+            return;
+        }
+
+
         String functionCode = frame.getPayload().substring(2, 4);
         if (C3ChargingEnum.NETWORK_REQUEST.getCode().equals(functionCode)) {
             A5C3CommonReportInnerFrame netRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
@@ -102,28 +110,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());
@@ -148,6 +172,7 @@
                 System.out.println("鏁版嵁鏍¢獙寮傚父锛�");
             }
         }
+
     }
 
 

--
Gitblit v1.9.3