From b1c572949997a5d82d9b609163ff280a1c49627d Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期五, 26 四月 2024 14:09:45 +0800
Subject: [PATCH] 粮情协议优化

---
 src/main/java/com/fzzy/api/Constant.java |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/fzzy/api/Constant.java b/src/main/java/com/fzzy/api/Constant.java
index 6c17aee..dfd9eb2 100644
--- a/src/main/java/com/fzzy/api/Constant.java
+++ b/src/main/java/com/fzzy/api/Constant.java
@@ -1,13 +1,17 @@
 package com.fzzy.api;
 
+import com.alibaba.fastjson.JSON;
 import com.fzzy.api.data.ApiCommonDevice;
+import lombok.extern.slf4j.Slf4j;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
 /**
  * 鍏ㄥ眬闈欐�佺被
  */
+@Slf4j
 public class Constant {
 
 
@@ -321,6 +325,7 @@
 
     public static ApiCommonDevice getCommonDeviceCache(String sn) {
         if (null == sn) return null;
+        //log.info("鍦ㄧ嚎璁惧锛�" + JSON.toJSONString(contextDeviceMap));
         return contextDeviceMap.get(sn);
     }
 
@@ -328,11 +333,39 @@
         if (null == ip) return null;
 
         if (contextDeviceMap.isEmpty()) return null;
-
+        //log.info("鍦ㄧ嚎璁惧锛�" + JSON.toJSONString(contextDeviceMap));
         for (ApiCommonDevice device : contextDeviceMap.values()) {
-            if (ip.equals(device)) return device;
+            if (ip.equals(device.getIp())) return device;
         }
         return null;
+    }
+    public static ApiCommonDevice getCommonDeviceCacheBySn(String sn) {
+        if (null == sn) return null;
+
+        if (contextDeviceMap.isEmpty()) return null;
+        log.info("鍦ㄧ嚎璁惧锛�" + JSON.toJSONString(contextDeviceMap));
+        for (ApiCommonDevice device : contextDeviceMap.values()) {
+            if (sn.equals(device.getSn())) return device;
+        }
+        return null;
+    }
+    public static ApiCommonDevice updateCacheOnline(String ip, Integer port) {
+        ApiCommonDevice device = getCommonDeviceCacheByIp(ip);
+
+        if (null == device) {
+            device = new ApiCommonDevice();
+        }
+        device.setIp(ip);
+        device.setPort(port);
+        device.setStatus(Constant.YN_Y);
+        device.setCode("SUCCESS");
+        device.setMsg("璁惧涓婄嚎");
+        device.setSn(device.getSn());
+        device.setId(device.getId());
+        device.setOnlineTime(new Date());
+        contextDeviceMap.put(device.getIp(), device);
+        log.info("璁惧涓婄嚎锛�" + ip);
+        return device;
     }
 
     public static ApiCommonDevice updateCacheOffline(String ip, Integer port) {
@@ -346,12 +379,13 @@
         device.setStatus(Constant.YN_N);
         device.setCode("ERROR");
         device.setMsg("璁惧绂荤嚎");
-        contextDeviceMap.put(device.getSn(), device);
+        device.setId(device.getId());
+        contextDeviceMap.put(device.getIp(), device);
 
         return device;
     }
 
     public static void updateCache(ApiCommonDevice device) {
-        contextDeviceMap.put(device.getSn(), device);
+        contextDeviceMap.put(device.getIp(), device);
     }
 }

--
Gitblit v1.9.3