From 72c1b36d6d2ece497e032c8434641d6576590f9d Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期日, 03 七月 2022 00:44:36 +0800 Subject: [PATCH] 优化对讲逻辑 --- src/main/java/com/genersoft/iot/vmp/gb28181/event/platformKeepaliveExpire/PlatformKeepaliveExpireEventLister.java | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformKeepaliveExpire/PlatformKeepaliveExpireEventLister.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformKeepaliveExpire/PlatformKeepaliveExpireEventLister.java index c02b7e1..67b297c 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformKeepaliveExpire/PlatformKeepaliveExpireEventLister.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/platformKeepaliveExpire/PlatformKeepaliveExpireEventLister.java @@ -6,7 +6,7 @@ import com.genersoft.iot.vmp.gb28181.event.SipSubscribe; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; -import com.genersoft.iot.vmp.storager.IVideoManagerStorager; +import com.genersoft.iot.vmp.storager.IVideoManagerStorage; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -14,11 +14,10 @@ import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; -import javax.sip.ResponseEvent; import javax.sip.message.Response; /** - * @Description: 骞冲彴蹇冭烦瓒呮椂浜嬩欢 + * @description: 骞冲彴蹇冭烦瓒呮椂浜嬩欢 * @author: panll * @date: 2020骞�11鏈�5鏃� 10:00 */ @@ -29,7 +28,7 @@ private final static Logger logger = LoggerFactory.getLogger(PlatformKeepaliveExpireEventLister.class); @Autowired - private IVideoManagerStorager storager; + private IVideoManagerStorage storager; @Autowired private IRedisCatchStorage redisCatchStorage; @@ -49,7 +48,7 @@ if (logger.isDebugEnabled()) { logger.debug("骞冲彴蹇冭烦鍒版湡浜嬩欢浜嬩欢瑙﹀彂锛屽钩鍙板浗鏍嘔D锛�" + event.getPlatformGbID()); } - ParentPlatform parentPlatform = storager.queryParentPlatById(event.getPlatformGbID()); + ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(event.getPlatformGbID()); ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(event.getPlatformGbID()); if (parentPlatformCatch == null) { return; @@ -63,7 +62,10 @@ if (parentPlatformCatch.getKeepAliveReply() >= 3) { // 鏈�3娆℃湭鏀跺埌蹇冭烦鍥炲, 璁剧疆骞冲彴鐘舵�佷负绂荤嚎, 寮�濮嬮噸鏂版敞鍐� logger.warn("鏈�3娆℃湭鏀跺埌蹇冭烦鍥炲,鏍囪璁剧疆骞冲彴鐘舵�佷负绂荤嚎, 骞堕噸鏂版敞鍐� 骞冲彴鍥芥爣ID锛�" + event.getPlatformGbID()); + storager.updateParentPlatformStatus(event.getPlatformGbID(), false); publisher.platformNotRegisterEventPublish(event.getPlatformGbID()); + parentPlatformCatch.setKeepAliveReply(0); + redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); }else { // 鍐嶆鍙戦�佸績璺� String callId = sipCommanderForPlatform.keepalive(parentPlatform); @@ -73,8 +75,8 @@ redisCatchStorage.updatePlatformKeepalive(parentPlatform); redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); - sipSubscribe.addOkSubscribe(callId, (ResponseEvent responseEvent) ->{ - if (responseEvent.getResponse().getStatusCode() == Response.OK) { + sipSubscribe.addOkSubscribe(callId, (SipSubscribe.EventResult eventResult) ->{ + if (eventResult.statusCode == Response.OK) { // 鏀跺埌蹇冭烦鍝嶅簲淇℃伅, parentPlatformCatch.setKeepAliveReply(0); redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); -- Gitblit v1.8.0