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

---
 src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java |   70 +++++++++++++++++++++--------------
 1 files changed, 42 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
index bda41b6..4f68178 100644
--- a/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
+++ b/src/main/java/com/fzzy/gateway/service/GatewayDeviceService.java
@@ -6,13 +6,9 @@
 import com.fzzy.api.Constant;
 import com.fzzy.api.data.ApiCommonDevice;
 import com.fzzy.api.utils.ContextUtil;
-import com.fzzy.async.fzzy40.Fzzy40CommonService;
 import com.fzzy.gateway.GatewayUtils;
-import com.fzzy.gateway.api.GatewayRemoteManager;
 import com.fzzy.gateway.entity.GatewayDevice;
 import com.fzzy.gateway.service.repository.GatewayDeviceRep;
-import com.fzzy.mqtt.MqttProviderConfig;
-import com.fzzy.mqtt.MqttPublishService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.data.domain.Sort;
@@ -20,6 +16,7 @@
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 @Slf4j
@@ -45,36 +42,20 @@
 
         List<GatewayDevice> result = new ArrayList<>();
 
-        ApiCommonDevice apiCommonDevice;
+        GatewayDevice cacheDevice;
         for (GatewayDevice device : list) {
-
-            apiCommonDevice = Constant.getCommonDeviceCache(device.getDeviceSn());
-            if (null != apiCommonDevice) {
-                device.setIp(apiCommonDevice.getIp());
-                device.setPort(apiCommonDevice.getPort());
-                device.setStatus(apiCommonDevice.getStatus());
-                device.setOnlineTime(apiCommonDevice.getOnlineTime());
+            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());
             }
             result.add(device);
         }
         return result;
     }
-
-//    /**
-//     * gatewayDeviceService#getQuery
-//     *
-//     * @return
-//     */
-//    @DataProvider
-//    public GateWayTestParam getQuery() {
-//        GateWayTestParam param = new GateWayTestParam();
-//        param.setDayTime(new Date());
-//        param.setCarNumber("宸滱12345");
-//        param.setEnd(new Date());
-//        param.setStart(new Date());
-//        param.setWeight(25000.00);
-//        return param;
-//    }
 
     /**
      * gatewayDeviceService#updateSave
@@ -134,4 +115,37 @@
         log.info("-----------test-------------------");
         return "SUCCESS";
     }
+
+    /**
+     * 鏍规嵁瀹為檯閫氳鍒嗘満璁剧疆锛屽綋鍓嶅垎鏈哄湪绾�
+     *
+     * @param commonDevice 瀹為檯閫氳璁惧
+     */
+    public void onlineByCommonDevice(ApiCommonDevice commonDevice) {
+        List<GatewayDevice> list = GatewayUtils.getCacheByDeviceSn2(commonDevice.getSn());
+        if (null == list || list.isEmpty()) return;
+
+        for (GatewayDevice device : list) {
+            device.setIp(commonDevice.getIp());
+            device.setPort(commonDevice.getPort());
+            device.setOnlineTime(new Date());
+            device.setStatus(Constant.YN_Y);
+
+            GatewayUtils.add2Cache(device);
+        }
+    }
+
+    public void OfflineByCommonDevice(ApiCommonDevice commonDevice) {
+        List<GatewayDevice> list = GatewayUtils.getCacheByDeviceSn2(commonDevice.getSn());
+        if (null == list || list.isEmpty()) return;
+
+        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