From e5b1876012fc76f7ea273fa35e1262b067891bac Mon Sep 17 00:00:00 2001 From: gaofw189 <gaofw189@chinatelecom.cn> Date: 星期四, 02 二月 2023 18:24:32 +0800 Subject: [PATCH] 修复WVP作为下级平台接收上级平台DeviceControl信令不做处理的问题。-修改日志备注 --- src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java index ac32918..7bb9619 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java @@ -1,5 +1,6 @@ package com.genersoft.iot.vmp.service.impl; +import com.genersoft.iot.vmp.common.VideoManagerConstants; import com.genersoft.iot.vmp.conf.DynamicTask; import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.gb28181.bean.*; @@ -44,8 +45,6 @@ public class DeviceServiceImpl implements IDeviceService { private final static Logger logger = LoggerFactory.getLogger(DeviceServiceImpl.class); - - private final String registerExpireTaskKeyPrefix = "device-register-expire-"; @Autowired private DynamicTask dynamicTask; @@ -101,7 +100,10 @@ redisCatchStorage.clearCatchByDeviceId(device.getDeviceId()); } device.setUpdateTime(now); - + if (device.getKeepaliveIntervalTime() == 0) { + // 榛樿蹇冭烦闂撮殧60 + device.setKeepaliveIntervalTime(60); + } // 绗竴娆′笂绾� 鎴栧垯璁惧涔嬪墠鏄绾跨姸鎬�--杩涜閫氶亾鍚屾鍜岃澶囦俊鎭煡璇� if (device.getCreateTime() == null) { device.setOnline(1); @@ -116,7 +118,6 @@ } sync(device); }else { - if(device.getOnline() == 0){ device.setOnline(1); device.setCreateTime(now); @@ -153,19 +154,19 @@ addMobilePositionSubscribe(device); } // 鍒锋柊杩囨湡浠诲姟 - String registerExpireTaskKey = registerExpireTaskKeyPrefix + device.getDeviceId(); - // 澧炲姞涓�涓�10绉掔粰璁惧閲嶅彂娑堟伅鐨勬満浼� - dynamicTask.startDelay(registerExpireTaskKey, ()-> offline(device.getDeviceId()), (device.getExpires() + 10) * 1000); + String registerExpireTaskKey = VideoManagerConstants.REGISTER_EXPIRE_TASK_KEY_PREFIX + device.getDeviceId(); + // 濡傛灉绗竴娆℃敞鍐岄偅涔堝繀椤诲湪60 * 3鏃堕棿鍐呮敹鍒颁竴涓績璺筹紝鍚﹀垯璁惧绂荤嚎 + dynamicTask.startDelay(registerExpireTaskKey, ()-> offline(device.getDeviceId()), device.getKeepaliveIntervalTime() * 1000 * 3); } @Override public void offline(String deviceId) { - logger.info("[璁惧绂荤嚎]锛� device锛歿}", deviceId); + logger.error("[璁惧绂荤嚎]锛� device锛歿}", deviceId); Device device = deviceMapper.getDeviceByDeviceId(deviceId); if (device == null) { return; } - String registerExpireTaskKey = registerExpireTaskKeyPrefix + deviceId; + String registerExpireTaskKey = VideoManagerConstants.REGISTER_EXPIRE_TASK_KEY_PREFIX + deviceId; dynamicTask.stop(registerExpireTaskKey); device.setOnline(0); redisCatchStorage.updateDevice(device); -- Gitblit v1.8.0