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 | 79 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 79 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/api/Constant.java b/src/main/java/com/fzzy/api/Constant.java index ac53084..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"; @@ -202,6 +212,7 @@ */ 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"; @@ -306,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