From 694d691291f6ee89061fdbb9fd451ecb5519b69b Mon Sep 17 00:00:00 2001
From: Van333 <van666666@foxmail.com>
Date: 星期一, 05 十二月 2022 15:35:26 +0800
Subject: [PATCH] 在线状态由map改成redis,定时保持emqx链接
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java | 45 +++++++++++++++++++++++++++------------------
1 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
index 714e1f3..825e07d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
@@ -51,7 +51,6 @@
import java.util.*;
import java.util.stream.Collectors;
-import static com.sandu.ximon.admin.localMQTT.callback.StatusMqttCallBack.localMqttConnectStatusMap;
/**
* @author chenjiantian
@@ -88,6 +87,14 @@
light.setLight2Percent(heartBeatDataPackage.getLight2Percent());
save(light);
log.info("鏂板璺伅");
+ Pole pole = new Pole();
+ pole.setDeviceCode(deviceName);
+ pole.setPoleName(deviceName);
+ pole.setDeviceType(0);
+ pole.setPoleCode(SpringContextHolder.getBean(PoleService.class).generatePoleCode());
+
+ boolean result = SpringContextHolder.getBean(PoleService.class).saveOrUpdate(pole);
+ log.info("鏂板鐏潌锛�"+result);
}
redisService.set(LightKey.REPORT_MAC.key(deviceName), 1, LightKey.REPORT_MAC.expireSeconds());
} else {
@@ -1032,22 +1039,22 @@
public void timeSynchronizationInitiative(String deviceCode, String lightAddress) {
//鍗曠伅淇℃伅
Light light = getLight(deviceCode);
-// if (light == null) {
-// log.error("鍗曠伅涓诲姩鍚屾鏃堕棿璇锋眰寮傚父锛屽崟鐏俊鎭笉瀛樺湪锛�");
-// return;
-// }
+ if (light == null) {
+ log.error("鍗曠伅涓诲姩鍚屾鏃堕棿璇锋眰寮傚父锛屽崟鐏俊鎭笉瀛樺湪锛�");
+ return;
+ }
//鍗曠伅浠诲姟淇℃伅
- LightTaskPoleRelation lightTaskPoleRelation = SpringContextHolder.getBean(LightTaskPoleRelationService.class)
- .getOne(Wrappers.lambdaQuery(LightTaskPoleRelation.class)
- .eq(LightTaskPoleRelation::getDeviceCode, deviceCode).eq(LightTaskPoleRelation::getLightAddress, lightAddress));
+// LightTaskPoleRelation lightTaskPoleRelation = SpringContextHolder.getBean(LightTaskPoleRelationService.class)
+// .getOne(Wrappers.lambdaQuery(LightTaskPoleRelation.class)
+// .eq(LightTaskPoleRelation::getDeviceCode, deviceCode).eq(LightTaskPoleRelation::getLightAddress, lightAddress));
LightTask lightTask = null;
- //鐏ご娌℃湁浠诲姟
- if (lightTaskPoleRelation != null) {
- if (lightTaskPoleRelation.getDeviceScheduled() != null) {
- lightTask = JSONObject.parseObject(lightTaskPoleRelation.getDeviceScheduled(), LightTask.class);
- }
- }
+// //鐏ご娌℃湁浠诲姟
+// if (lightTaskPoleRelation != null) {
+// if (lightTaskPoleRelation.getDeviceScheduled() != null) {
+// lightTask = JSONObject.parseObject(lightTaskPoleRelation.getDeviceScheduled(), LightTask.class);
+// }
+// }
timeSynchronization(light, lightAddress, lightTask);
@@ -1060,16 +1067,18 @@
* @param lightTask 鍗曠伅浠诲姟瀹炰綋锛堜负绌烘爣璇嗗崟鐏病鏈夊畾鏃朵换鍔★級
*/
public void timeSynchronization(Light light, String lightAddress, LightTask lightTask) {
+ lightTask = null;
+ LightTask finalLightTask = lightTask;
new Thread(new Runnable() {
@Override
public void run() {
//鑾峰彇褰撳墠鏃堕棿鏃躲�佸垎
Calendar cal = Calendar.getInstance();
- if (lightTask != null) {
- String closeOrder = lightTask.getCloseOrder();
- String openOrder = lightTask.getOpenOrder();
- String controlOrder = lightTask.getControlOrder() == null ? null : lightTask.getControlOrder();
+ if (finalLightTask != null) {
+ String closeOrder = finalLightTask.getCloseOrder();
+ String openOrder = finalLightTask.getOpenOrder();
+ String controlOrder = finalLightTask.getControlOrder() == null ? null : finalLightTask.getControlOrder();
List<String> timeList = new ArrayList<>();
timeList.add(openOrder.substring(0, 4));
--
Gitblit v1.9.3