From bea63f67e75ea6c38d946c2ee463260fcf815f87 Mon Sep 17 00:00:00 2001 From: Fang <costa11@qq.com> Date: 星期一, 07 三月 2022 14:21:29 +0800 Subject: [PATCH] Merge branch '648540858:wvp-28181-2.0' into wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java index 053bf9a..737f752 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java @@ -90,8 +90,13 @@ AddressImpl address = (AddressImpl) fromHeader.getAddress(); SipUri uri = (SipUri) address.getURI(); String deviceId = uri.getUser(); - Device device = redisCatchStorage.getDevice(deviceId); - AuthorizationHeader authorhead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME); + Device deviceInRedis = redisCatchStorage.getDevice(deviceId); + Device device = storager.queryVideoDevice(deviceId); + if (deviceInRedis != null && device == null) { + // redis 瀛樺湪鑴忔暟鎹� + redisCatchStorage.clearCatchByDeviceId(deviceId); + } + AuthorizationHeader authorhead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME); // 鏍¢獙瀵嗙爜鏄惁姝g‘ if (authorhead != null) { passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request, @@ -153,6 +158,10 @@ device.setCharset("gb2312"); device.setDeviceId(deviceId); device.setFirsRegister(true); + }else { + if (device.getOnline() == 0) { + device.setFirsRegister(true); + } } device.setIp(received); device.setPort(rPort); @@ -182,7 +191,6 @@ if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete(); // 娉ㄥ唽鎴愬姛 // 淇濆瓨鍒皉edis - // 涓嬪彂catelog鏌ヨ鐩綍 if (registerFlag == 1 ) { logger.info("[{}] 娉ㄥ唽鎴愬姛! deviceId:" + device.getDeviceId(), requestAddress); publisher.onlineEventPublish(device, VideoManagerConstants.EVENT_ONLINE_REGISTER); -- Gitblit v1.8.0