From ea8e8e7dd5f10cff4054f5fde8fd3961aaac1834 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 14 十月 2022 16:55:30 +0800
Subject: [PATCH] 大气设备农耕

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/AirDataProcessor.java |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 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 b8f1cad..b8e4fdd 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,29 @@
 
     @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("蹇冭烦鐩稿簲鈥斺�斿ぇ姘旀暟鎹�");
             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()) {
+                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