From a9098372191b3c51995d41ee28404d1b71244d98 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期二, 12 十二月 2023 18:41:04 +0800
Subject: [PATCH] 提交网关心跳和设备状态2

---
 src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
index 4f68178..96f40ed 100644
--- a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
+++ b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
@@ -5,6 +5,7 @@
 import com.bstek.dorado.annotation.Expose;
 import com.fzzy.api.Constant;
 import com.fzzy.api.data.ApiCommonDevice;
+import com.fzzy.api.data.GatewayDeviceType;
 import com.fzzy.api.utils.ContextUtil;
 import com.fzzy.gateway.GatewayUtils;
 import com.fzzy.gateway.entity.GatewayDevice;
@@ -42,15 +43,14 @@
 
         List<GatewayDevice> result = new ArrayList<>();
 
-        GatewayDevice cacheDevice;
+        ApiCommonDevice commonDevice;
         for (GatewayDevice device : list) {
-            device.setStatus(Constant.YN_Y);
-            cacheDevice = GatewayUtils.getCacheByDeviceId(device.getDeviceId());
-            if (null != cacheDevice) {
-                device.setIp(cacheDevice.getIp());
-                device.setPort(cacheDevice.getPort());
-                device.setStatus(cacheDevice.getStatus());
-                device.setOnlineTime(cacheDevice.getOnlineTime());
+            commonDevice = Constant.getCommonDeviceCache(device.getDeviceSn());
+            if (null != commonDevice) {
+                device.setIp(commonDevice.getIp());
+                device.setPort(commonDevice.getPort());
+                device.setStatus(commonDevice.getStatus());
+                device.setOnlineTime(commonDevice.getOnlineTime());
             }
             result.add(device);
         }
@@ -66,6 +66,14 @@
     public void updateSave(GatewayDevice data) {
         GatewayDevice data2 = new GatewayDevice();
         BeanUtils.copyProperties(data, data2);
+
+
+        if (null == data2.getStatus()) {
+            data.setStatus(Constant.YN_Y);
+            if (GatewayDeviceType.TYPE_07.equals(data2.getType())) {
+                data.setStatus(Constant.YN_N);
+            }
+        }
 
         if (null == data2.getDeviceSn()) {
             if (null != data2.getIp()) {
@@ -142,9 +150,7 @@
         for (GatewayDevice device : list) {
             device.setIp(commonDevice.getIp());
             device.setPort(commonDevice.getPort());
-            //device.setOnlineTime(new Date());
             device.setStatus(Constant.YN_N);
-
             GatewayUtils.add2Cache(device);
         }
     }

--
Gitblit v1.9.3