From 51af3e4e7c5fb612576b98fd6407f6b65859f374 Mon Sep 17 00:00:00 2001
From: Van333 <van666666@foxmail.com>
Date: 星期三, 16 十一月 2022 15:58:06 +0800
Subject: [PATCH] 区分消息订阅类型,新增上下线监听,修复定时帧缺少CRC32,替换设备在线状态查询方法
---
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/AirDataProcessor.java | 24 +++++++++++++++---------
1 files changed, 15 insertions(+), 9 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 f7a88ea..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
@@ -31,23 +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());
-
- SpringContextHolder.getBean(AirDataService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
-
-// SpringContextHolder.getBean(LightService.class).saveLight(deviceName,heartbeatReportInnerFrame.getHeartBeatDataPackage());
-
- } else if (A5AtmosphereReportEnum.HeartBeat_Data_Nong_Geng.getCode().equals(functionCode)) {
+ 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());
+ if (deviceName.equals("363832544e5008ff8960ffff")) {
+ System.out.println("鏁版嵁鏍¢獙鎴愬姛 frame: " + frame);
+ }
+ log.info("鏁版嵁鏍¢獙鎴愬姛: " + heartbeatReportInnerFrame.toString());
SpringContextHolder.getBean(AirDataNongGengService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
- }else{
+ } else {
System.out.println("鏁版嵁鏍¢獙寮傚父锛�");
}
--
Gitblit v1.9.3