From a0d2c6cd651c547fd07fb3639a23ca700d3b2091 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 28 九月 2022 17:03:39 +0800
Subject: [PATCH] fix
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 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 f0238af..cdad378 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
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.HexUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.iot.model.v20180120.BatchGetDeviceStateResponse;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -29,6 +30,7 @@
import com.sandu.ximon.admin.redis.DeviceRedisKey;
import com.sandu.ximon.admin.redis.LightKey;
import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.RedisUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.vo.ControlLightCommandVO;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
@@ -63,6 +65,7 @@
private final LightReportDataService lightReportDataService;
private final PoleBindingService bindingService;
private final PoleService poleService;
+ private final RedisUtils redisUtils;
/**
* 褰曞叆褰撳墠璁惧鐮佺殑璺伅鏁版嵁
@@ -930,10 +933,15 @@
public void setCacheData() {
List<String> collect = list().stream().map(Light::getDeviceCode).collect(Collectors.toList());
+// collect.forEach(
+// code -> {
+// redisUtils.delete(DeviceRedisKey.LIGHT_DEVICE + code);
+// }
+// );
List<List<String>> split = CollectionUtil.split(collect, 100);
- List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = null;
- List<RedisDeviceStatus> statusList = null;
+ List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = new ArrayList<>();
+ List<RedisDeviceStatus> statusList = new ArrayList<>();
for (List<String> splist : split) {
deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(splist);
if (deviceStatuses != null) {
@@ -944,6 +952,10 @@
device.setStatus(0);
} else if ("OFFLINE".equals(deviceStatus.getStatus())) {
device.setStatus(1);
+ } else if ("UNACTIVE".equals(deviceStatus.getStatus())) {
+ device.setStatus(0);
+ } else if ("DISABLE".equals(deviceStatus.getStatus())) {
+ device.setStatus(0);
} else {
device.setStatus(2);
}
@@ -954,11 +966,10 @@
}
statusList.forEach(status -> {
- redisUtils.set(DeviceRedisKey.LIGHT_DEVICE + status.getDeviceId(), status);
+ redisUtils.set(DeviceRedisKey.LIGHT_DEVICE + status.getDeviceId(), JSON.toJSONString(status));
});
}
-
/**
@@ -986,7 +997,7 @@
}
A5LightSetCalendarReqInnerFrame setCalendarReqInnerFrame =
- new A5LightSetCalendarReqInnerFrame(address, year, month, day, hour, min, sec);
+ new A5LightSetCalendarReqInnerFrame(address, year % 100, month + 1, day, hour, min, sec);
A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_LIGHT_DATA.getCode(), setCalendarReqInnerFrame);
System.out.println(a5Frame + " -----a5Frame");
--
Gitblit v1.9.3