‘liusuyi’
2024-03-15 f485e99f717c8f4388dfb51010e41c0be62b62d8
src/main/java/com/ard/utils/netty/tcp/ClientInitialize.java
@@ -41,6 +41,7 @@
    public static ConcurrentHashMap<String, ArdEquipRadar> trueConnectMap = new ConcurrentHashMap();//成功连接的ip端口对应的雷达
    public static ConcurrentHashMap<String, MessageHandler> SucMessageHandlerMap = new ConcurrentHashMap();//成功连接的ip端口对应的报文解析器
    public static ConcurrentHashMap<String, Channel> SucChannelMap = new ConcurrentHashMap();//成功连接的ip端口对应的netty通道
    public static ConcurrentHashMap<String, Integer> aroundScanfMap = new ConcurrentHashMap();//是否启动周视
    /**
     * Netty初始化配置
@@ -140,15 +141,36 @@
        log.debug("定时监测雷达连接状态");
        List<ArdEquipRadar> ardEquipRadars = ardEquipRadarService.selectArdEquipRadarList(new ArdEquipRadar());
        ardEquipRadars.stream().forEach(ardEquipRadar -> {
            //判断与雷达客户端连接状态
            boolean online = trueConnectMap.containsKey(ardEquipRadar.getIp() + ":" + ardEquipRadar.getPort());
            if (online) {
                if (ardEquipRadar.getState() == null || !ardEquipRadar.getState().equals("1")) {
                    ardEquipRadar.setState("1");
                    ardEquipRadarService.updateArdEquipRadar(ardEquipRadar);
                //连接雷达客户端成功 判断周扫状态
                if (aroundScanfMap.containsKey(ardEquipRadar.getIp() + ":" + ardEquipRadar.getPort())) {
                    Integer state = aroundScanfMap.get(ardEquipRadar.getIp() + ":" + ardEquipRadar.getPort());
                    if (state == 1) {//1-周扫打开-连接成功
                        if (ardEquipRadar.getState() == null || !ardEquipRadar.getState().equals("1")) {
                            ardEquipRadar.setState("1");
                            ardEquipRadarService.updateArdEquipRadar(ardEquipRadar);
                        }
                    } else {
                        if (ardEquipRadar.getState() == null || !ardEquipRadar.getState().equals("2")) {
                            //2-周扫未开
                            ardEquipRadar.setState("2");
                            ardEquipRadarService.updateArdEquipRadar(ardEquipRadar);
                        }
                    }
                } else {
                    if (ardEquipRadar.getState() == null || !ardEquipRadar.getState().equals("2")) {
                        //2-周扫未开
                        ardEquipRadar.setState("2");
                        ardEquipRadarService.updateArdEquipRadar(ardEquipRadar);
                    }
                }
            } else {
                //连接雷达客户端失败
                if (ardEquipRadar.getState() == null || !ardEquipRadar.getState().equals("0")) {
                    //0-客户端不通
                    ardEquipRadar.setState("0");
                    ardEquipRadarService.updateArdEquipRadar(ardEquipRadar);
                }