From 3a56308b1a8f3f453a56da52af64ad4ba669aec1 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期三, 13 十二月 2023 15:41:38 +0800
Subject: [PATCH] 提交邦海智能粮情协议解析--1

---
 src/main/java/com/fzzy/api/Constant.java |   56 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 33 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/fzzy/api/Constant.java b/src/main/java/com/fzzy/api/Constant.java
index b38f697..78701d7 100644
--- a/src/main/java/com/fzzy/api/Constant.java
+++ b/src/main/java/com/fzzy/api/Constant.java
@@ -2,6 +2,7 @@
 
 import com.fzzy.api.data.ApiCommonDevice;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -324,38 +325,47 @@
         return contextDeviceMap.get(sn);
     }
 
-    public static void updateCacheOnline(String sn, String ip, Integer port, boolean isCreate) {
-        ApiCommonDevice device = getCommonDeviceCache(sn);
-        if (null == device && isCreate) {
-            device = new ApiCommonDevice();
+    public static ApiCommonDevice getCommonDeviceCacheByIp(String ip) {
+        if (null == ip) return null;
+
+        if (contextDeviceMap.isEmpty()) return null;
+
+        for (ApiCommonDevice device : contextDeviceMap.values()) {
+            if (ip.equals(device)) return device;
         }
-        if (null != device) {
-            device.setIp(ip);
-            device.setPort(port);
-            device.setStatus(Constant.YN_Y);
-            device.setCode("SUCCESS");
-            device.setMsg("璁惧鍦ㄧ嚎");
-            device.setSn(ip);
-            contextDeviceMap.put(device.getSn(), device);
-        }
+        return null;
     }
 
-    public static void updateCacheOffline(String sn, String ip, Integer port, boolean isCreate) {
-        ApiCommonDevice device = getCommonDeviceCache(sn);
+    public static ApiCommonDevice updateCacheOnline(String ip, Integer port) {
+        ApiCommonDevice device = getCommonDeviceCacheByIp(ip);
 
-        if (null == device && isCreate) {
+        if (null == device) {
             device = new ApiCommonDevice();
         }
+        device.setIp(ip);
+        device.setPort(port);
+        device.setStatus(Constant.YN_Y);
+        device.setCode("SUCCESS");
+        device.setMsg("璁惧涓婄嚎");
+        device.setOnlineTime(new Date());
+        contextDeviceMap.put(device.getSn(), device);
+        return device;
+    }
 
-        if (null != device) {
-            device.setIp(ip);
-            device.setPort(port);
-            device.setStatus(Constant.YN_N);
-            device.setCode("ERROR");
-            device.setMsg("璁惧绂荤嚎");
+    public static ApiCommonDevice updateCacheOffline(String ip, Integer port) {
+        ApiCommonDevice device = getCommonDeviceCacheByIp(ip);
 
-            contextDeviceMap.put(device.getSn(), device);
+        if (null == device) {
+            return null;
         }
+        device.setIp(ip);
+        device.setPort(port);
+        device.setStatus(Constant.YN_N);
+        device.setCode("ERROR");
+        device.setMsg("璁惧绂荤嚎");
+        contextDeviceMap.put(device.getSn(), device);
+
+        return device;
     }
 
     public static void updateCache(ApiCommonDevice device) {

--
Gitblit v1.9.3