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/LightDataProcessor.java | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/LightDataProcessor.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/LightDataProcessor.java
index a978301..28cee03 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/LightDataProcessor.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/processor/LightDataProcessor.java
@@ -1,5 +1,6 @@
package com.sandu.ximon.admin.manager.iot.amqp.processor;
+import com.alibaba.fastjson.JSON;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightErrorCodeReportInnerFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightHeartbeatReportInnerFrame;
@@ -38,22 +39,35 @@
log.info("蹇冭烦鐩稿簲");
A5LightHeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5LightHeartbeatReportInnerFrame().transformFrame(frame.getPayload());
+ System.out.println("蹇冭烦鍖�: " + JSON.toJSONString(heartbeatReportInnerFrame));
+
if (heartbeatReportInnerFrame.isValidate()) {
SpringContextHolder.getBean(LightReportDataService.class).saveReportData(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
//蹇冭烦鍖呬笂鎶ヤ笉淇濆瓨纭欢璁惧淇℃伅
-// SpringContextHolder.getBean(LightService.class).saveLight(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
+ SpringContextHolder.getBean(LightService.class).saveLight(deviceName, heartbeatReportInnerFrame.getHeartBeatDataPackage());
}
} else if (A5LightReportEnum.Time_Synchronized.getCode().equals(functionCode)) {
-// log.info("璇锋眰鏃堕棿鍚屾");
+ log.info("璇锋眰鏃堕棿鍚屾");
A5LightTimeSyncReportInnerFrame syncRespInnerFrame = new A5LightTimeSyncReportInnerFrame().transformFrame(frame.getPayload());
-// log.info(syncRespInnerFrame.toString());
+ log.info(syncRespInnerFrame.toString());
+ if (syncRespInnerFrame.isValidate()) {
+ SpringContextHolder.getBean(LightService.class).timeSynchronizationInitiative(deviceName, syncRespInnerFrame.getDestinationAddress());
+ }
+
} else if (A5LightReportEnum.Error_Code.getCode().equals(functionCode)) {
log.info("鏁呴殰鐮佷笂鎶�");
A5LightErrorCodeReportInnerFrame codeRespInnerFrame = new A5LightErrorCodeReportInnerFrame().transformFrame(frame.getPayload());
- if (codeRespInnerFrame.isValidate() && codeRespInnerFrame.getErrorCode() != 0) {
+ log.info(codeRespInnerFrame.isValidate() + "鏄惁閫氳繃鏍¢獙");
+ log.info(codeRespInnerFrame.getErrorCode() + "鏁呴殰鐮�");
+ if (codeRespInnerFrame.isValidate()) {
SpringContextHolder.getBean(LightReportErrorService.class).saveReportError(deviceName, codeRespInnerFrame);
}
+ //0000 琛ㄧず娌℃湁鏁呴殰锛屽彂閫佹竻闄ゆ晠闅滄寚浠�
+ if (codeRespInnerFrame.getErrorCode() == 0) {
+ System.out.println("娓呴櫎鏁呴殰鎿嶄綔!");
+ SpringContextHolder.getBean(LightReportErrorService.class).cleanErrorCode(deviceName, codeRespInnerFrame.getDestinationAddress());
+ }
}
}
}
--
Gitblit v1.9.3