jiazx0107@163.com
2024-01-04 50da1f165cc96d49d72694606920b77c74e1747c
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,37 @@
        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.setOnlineTime(new Date());
        contextDeviceMap.put(device.getIp(), device);
        log.info("设备上线:" + ip);
        return device;
    }
    public static ApiCommonDevice updateCacheOffline(String ip, Integer port) {
@@ -346,12 +377,12 @@
        device.setStatus(Constant.YN_N);
        device.setCode("ERROR");
        device.setMsg("设备离线");
        contextDeviceMap.put(device.getSn(), device);
        contextDeviceMap.put(device.getIp(), device);
        return device;
    }
    public static void updateCache(ApiCommonDevice device) {
        contextDeviceMap.put(device.getSn(), device);
        contextDeviceMap.put(device.getIp(), device);
    }
}