From b46e5efad22fb810e49f0a2e7835d785e85b4860 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 01 九月 2022 22:27:18 +0800 Subject: [PATCH] 测试sip消息预处理 --- src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java | 37 ++++++++++++++++++++++--------------- 1 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java index eae4547..93674f6 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/SipPlatformRunner.java @@ -4,8 +4,9 @@ import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch; import com.genersoft.iot.vmp.gb28181.event.EventPublisher; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; +import com.genersoft.iot.vmp.service.IPlatformService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; -import com.genersoft.iot.vmp.storager.IVideoManagerStorager; +import com.genersoft.iot.vmp.storager.IVideoManagerStorage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; @@ -15,41 +16,47 @@ /** * 绯荤粺鍚姩鏃舵帶鍒朵笂绾у钩鍙伴噸鏂版敞鍐� + * @author lin */ @Component @Order(value=3) public class SipPlatformRunner implements CommandLineRunner { @Autowired - private IVideoManagerStorager storager; + private IVideoManagerStorage storager; @Autowired private IRedisCatchStorage redisCatchStorage; @Autowired - private EventPublisher publisher; + private IPlatformService platformService; + + @Autowired + private ISIPCommanderForPlatform sipCommanderForPlatform; + @Override public void run(String... args) throws Exception { - // 璁剧疆鎵�鏈夊钩鍙扮绾� - storager.outlineForAllParentPlatform(); - + // 鑾峰彇鎵�鏈夊惎鐢ㄧ殑骞冲彴 List<ParentPlatform> parentPlatforms = storager.queryEnableParentPlatformList(true); for (ParentPlatform parentPlatform : parentPlatforms) { - - redisCatchStorage.updatePlatformRegister(parentPlatform); - - redisCatchStorage.updatePlatformKeepalive(parentPlatform); - + // 鏇存柊缂撳瓨 ParentPlatformCatch parentPlatformCatch = new ParentPlatformCatch(); - parentPlatformCatch.setParentPlatform(parentPlatform); - parentPlatformCatch.setId(parentPlatform.getDeviceGBId()); + parentPlatformCatch.setId(parentPlatform.getServerGBId()); redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch); + if (parentPlatform.isStatus()) { + // 璁剧疆鎵�鏈夊钩鍙扮绾� + platformService.offline(parentPlatform); + // 鍙栨秷璁㈤槄 + sipCommanderForPlatform.unregister(parentPlatform, null, (eventResult)->{ + platformService.login(parentPlatform); + }); + }else { + platformService.login(parentPlatform); + } - // 鍙戦�佸钩鍙版湭娉ㄥ唽娑堟伅 - publisher.platformNotRegisterEventPublish(parentPlatform.getDeviceGBId()); } } } -- Gitblit v1.8.0