From f7178996ca77a1bccc941c0e7a73b36803e508cb Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期五, 01 三月 2024 16:13:11 +0800
Subject: [PATCH] 优化协议

---
 src/main/java/com/fzzy/api/Constant.java |   97 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 90 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/fzzy/api/Constant.java b/src/main/java/com/fzzy/api/Constant.java
index 5b8ee8c..9fb3f23 100644
--- a/src/main/java/com/fzzy/api/Constant.java
+++ b/src/main/java/com/fzzy/api/Constant.java
@@ -1,9 +1,19 @@
 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 {
+
 
     public static final String DEFAULT_CODE = "0";
     public static final String YN_N = "N";
@@ -135,6 +145,10 @@
      * 鎺ュ彛缂栫爜-1212 瀹㈡埛淇℃伅鏁版嵁鎺ュ彛
      */
     public static String API_CODE_1212 = "1212";
+    /**
+     * 鎺ュ彛缂栫爜-1214 鍑哄叆搴撹褰曚俊鎭暟鎹帴鍙�
+     */
+    public static String API_CODE_1214 = "1214";
 
     /**
      * 鎺ュ彛缂栫爜-1301 瀹夊叏绠$悊鏁版嵁鎺ュ彛
@@ -198,16 +212,17 @@
      */
     public static String API_CODE_1405 = "1405";
 
+    //璐㈠姟鎶ヨ〃鎺ュ彛
     public static String API_CODE_1501 = "1501";
     public static String API_CODE_1502 = "1502";
     public static String API_CODE_1503 = "1503";
     /**
      * 鍥芥爣鍑哄叆搴撶被鍨�
      */
-    public static String  INOUT_TYPE_14 = "14";
-    public static String  INOUT_TYPE_2 = "2";
-    public static String  INOUT_TYPE_15 = "15";
-    public static String  INOUT_TYPE_1 = "1";
+    public static String INOUT_TYPE_14 = "14";
+    public static String INOUT_TYPE_2 = "2";
+    public static String INOUT_TYPE_15 = "15";
+    public static String INOUT_TYPE_1 = "1";
 
     /**
      * 鎿嶄綔鏍囪
@@ -282,18 +297,18 @@
     /**
      * 绮鎬ц川
      */
-    public static String  TRIGGER_P_LSXZ = "LSXZ";
+    public static String TRIGGER_P_LSXZ = "LSXZ";
 
     /**
      * 缁撶畻鏂瑰紡
      */
-    public static String  TRIGGER_P_JSFS = "JSFS";
+    public static String TRIGGER_P_JSFS = "JSFS";
 
     /**
      * 缁勭粐閮ㄩ棬绫诲瀷
      */
     public static String DEPT_TYPE_10 = "10";
-//    public static String DEPT_TYPE_11 = "11";
+    //    public static String DEPT_TYPE_11 = "11";
     public static String DEPT_TYPE_20 = "20";
     public static String DEPT_TYPE_30 = "30";
 
@@ -302,4 +317,72 @@
      */
     public static final String DEFAULT_USER_PASSWORD = "123456";
 
+
+    /**
+     * 鍐呭瓨鏁版嵁缂撳瓨锛岀敤浜庡瓨鍌ㄥ嚭鍏ュ簱鐩稿叧鐨勪复鏃朵俊鎭紝濡傚埛鍗¤澶囧綋鍓嶆渶鏂版暟鎹瓑銆�
+     */
+    public static Map<String, ApiCommonDevice> contextDeviceMap = new HashMap<>();
+
+    public static ApiCommonDevice getCommonDeviceCache(String sn) {
+        if (null == sn) return null;
+        //log.info("鍦ㄧ嚎璁惧锛�" + JSON.toJSONString(contextDeviceMap));
+        return contextDeviceMap.get(sn);
+    }
+
+    public static ApiCommonDevice getCommonDeviceCacheByIp(String ip) {
+        if (null == ip) return null;
+
+        if (contextDeviceMap.isEmpty()) return null;
+        //log.info("鍦ㄧ嚎璁惧锛�" + JSON.toJSONString(contextDeviceMap));
+        for (ApiCommonDevice device : contextDeviceMap.values()) {
+            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.setOnlineTime(new Date());
+        contextDeviceMap.put(device.getIp(), device);
+        log.info("璁惧涓婄嚎锛�" + ip);
+        return device;
+    }
+
+    public static ApiCommonDevice updateCacheOffline(String ip, Integer port) {
+        ApiCommonDevice device = getCommonDeviceCacheByIp(ip);
+
+        if (null == device) {
+            return null;
+        }
+        device.setIp(ip);
+        device.setPort(port);
+        device.setStatus(Constant.YN_N);
+        device.setCode("ERROR");
+        device.setMsg("璁惧绂荤嚎");
+        contextDeviceMap.put(device.getIp(), device);
+
+        return device;
+    }
+
+    public static void updateCache(ApiCommonDevice device) {
+        contextDeviceMap.put(device.getIp(), device);
+    }
 }

--
Gitblit v1.9.3