Просмотр исходного кода

[功能修复]优化无登录应答重新上线

liuf 1 год назад
Родитель
Сommit
fceb4ebc13

+ 1 - 1
src/main/java/com/tmzn/devicelinkykc/message/DeviceMsgHandle.java

@@ -754,7 +754,7 @@ public class DeviceMsgHandle {
         if (deviceConnectionMsg == null || deviceConnectionMsg.getLoginStatus() != Constant.DEVICE_LOGIN_STATUS) {
             //下线
             logger.info("设备{}未登录成功不上报", statusServiceOne.getDeviceImei());
-           if(deviceConnectionMsg!=null && deviceConnectionMsg.getLoginTime()>0 && (System.currentTimeMillis()-deviceConnectionMsg.getLoginTime()>30*1000)){
+           if(deviceConnectionMsg!=null && deviceConnectionMsg.getLoginTime()>0 && (System.currentTimeMillis()-deviceConnectionMsg.getLoginTime())>30*1000){
                //调用重启
                try{
                    logger.info("超过30秒设备{}重新上线", statusServiceOne.getDeviceImei());

+ 8 - 0
src/main/java/com/tmzn/devicelinkykc/taskQueue/runner/DeviceOnlineRunner.java

@@ -1,5 +1,7 @@
 package com.tmzn.devicelinkykc.taskQueue.runner;
 
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.tmzn.devicelinkykc.constant.Constant;
 import com.tmzn.devicelinkykc.constant.DeviceOnlineStatus;
@@ -118,7 +120,13 @@ public class DeviceOnlineRunner {
                             socketHandle.removeDeviceConnection(deviceStatus.getPileCode());
                             needLogin = true;
                         }
+
+                        if(deviceConnection.getLoginStatus()== 0 && deviceConnection.getLoginTime()>0 && (System.currentTimeMillis()-deviceConnection.getLoginTime())>60*1000){
+                            logger.info("未应答重新登录{}",device.getPileCode());
+                            needLogin = true;
+                        }
                     }
+
                     if(!needLogin){
                         return ;
                     }