From c5ef81f257e0176cdcfce034779a15f544d6694c Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期一, 24 十月 2022 13:51:09 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/AirDataProcessor.java |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/AirDataProcessor.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/AirDataProcessor.java
index a8dce59..5a7b5d7 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/AirDataProcessor.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/AirDataProcessor.java
@@ -2,8 +2,10 @@
 
 import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartbeatReportInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereNewHeartbeatReportInnerFrame;
 import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
 import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5AtmosphereReportEnum;
+import com.sandu.ximon.admin.service.AirDataNongGengService;
 import com.sandu.ximon.admin.service.AirDataService;
 import lombok.extern.slf4j.Slf4j;
 
@@ -19,7 +21,7 @@
     }
 
     public static AirDataProcessor getInstance() {
-        return AirDataProcessor.AirDataProcessorHolder.INSTANCE;
+        return AirDataProcessorHolder.INSTANCE;
     }
 
     private static class AirDataProcessorHolder {
@@ -29,15 +31,32 @@
 
     @Override
     public void process(String productKey, String deviceName, CommonFrame frame) {
+        /**
+         * connectType鐢ㄤ簬鍒ゆ柇涓诲姩涓婃姤鐨勬暟鎹槸灞炰簬鏃уぇ姘旇澶囪繕鏄啘鑰曞ぇ姘旇澶�
+         * 鍐滆�曞績璺冲寘涓诲姩涓婃姤绯荤粺鍦板潃锛圡QTT璇锋眰鏂瑰紡锛夛細01   鍔熻兘鐮侊細03
+         */
+        String connectType = frame.getPayload().substring(0, 2);
         String functionCode = frame.getPayload().substring(2, 4);
         if (A5AtmosphereReportEnum.HeartBeat_Data.getCode().equals(functionCode)) {
-            log.info("蹇冭烦鐩稿簲");
+            log.info("蹇冭烦鐩稿簲鈥斺�斿ぇ姘旀暟鎹�");
             A5AtmosphereHeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5AtmosphereHeartbeatReportInnerFrame().transformFrame(frame.getPayload());
-            log.info(heartbeatReportInnerFrame.toString());
+            if (heartbeatReportInnerFrame != null) {
+                log.info(heartbeatReportInnerFrame.toString());
+                SpringContextHolder.getBean(AirDataService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
+            }
+        } else if (A5AtmosphereReportEnum.HeartBeat_Data_Nong_Geng.getCode().equals(functionCode) && "01".equals(connectType)) {
+            log.info("蹇冭烦鐩稿簲鈥斺�斿ぇ姘旀暟鎹�(鍐滆��)");
+            A5AtmosphereNewHeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5AtmosphereNewHeartbeatReportInnerFrame().transformFrame(frame.getPayload());
+            if (heartbeatReportInnerFrame != null && heartbeatReportInnerFrame.isValidate()) {
+                if (deviceName.equals("363832544e5008ff8960ffff")) {
+                    System.out.println("鏁版嵁鏍¢獙鎴愬姛  frame: " + frame);
+                }
+                log.info("鏁版嵁鏍¢獙鎴愬姛: " + heartbeatReportInnerFrame.toString());
+                SpringContextHolder.getBean(AirDataNongGengService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
+            } else {
+                System.out.println("鏁版嵁鏍¢獙寮傚父锛�");
+            }
 
-            SpringContextHolder.getBean(AirDataService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
-
-//            SpringContextHolder.getBean(LightService.class).saveLight(deviceName,heartbeatReportInnerFrame.getHeartBeatDataPackage());
 
         }
     }

--
Gitblit v1.9.3