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 | 100 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 93 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..dfd9eb2 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,75 @@ */ 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.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) { + 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("璁惧绂荤嚎"); + device.setId(device.getId()); + contextDeviceMap.put(device.getIp(), device); + + return device; + } + + public static void updateCache(ApiCommonDevice device) { + contextDeviceMap.put(device.getIp(), device); + } } -- Gitblit v1.9.3