From b1c479b938295834be787a4a724e95bd21ddbddc Mon Sep 17 00:00:00 2001 From: 朱俊杰 <502612493@qq.com> Date: 星期三, 16 三月 2022 11:18:09 +0800 Subject: [PATCH] 修复info请求头中的cseq序列 --- src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java | 34 +++++++++++++++++++++++++--------- 1 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java index caca64e..c3435fd 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java @@ -2,10 +2,12 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.genersoft.iot.vmp.gb28181.bean.CatalogData; -import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; +import com.genersoft.iot.vmp.common.VideoManagerConstants; +import com.genersoft.iot.vmp.conf.DynamicTask; +import com.genersoft.iot.vmp.conf.UserSetup; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.bean.PlatformCatalog; +import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; @@ -40,16 +42,25 @@ private final static Logger logger = LoggerFactory.getLogger(PlatformController.class); @Autowired + private UserSetup userSetup; + + @Autowired private IVideoManagerStorager storager; @Autowired private IRedisCatchStorage redisCatchStorage; @Autowired + private SubscribeHolder subscribeHolder; + + @Autowired private ISIPCommanderForPlatform commanderForPlatform; @Autowired private SipConfig sipConfig; + + @Autowired + private DynamicTask dynamicTask; /** * 鑾峰彇鍥芥爣鏈嶅姟鐨勯厤缃� @@ -103,10 +114,14 @@ }) public PageInfo<ParentPlatform> platforms(@PathVariable int page, @PathVariable int count) { -// if (logger.isDebugEnabled()) { -// logger.debug("鏌ヨ鎵�鏈変笂绾ц澶嘇PI璋冪敤"); -// } - return storager.queryParentPlatformList(page, count); + PageInfo<ParentPlatform> parentPlatformPageInfo = storager.queryParentPlatformList(page, count); + if (parentPlatformPageInfo.getList().size() > 0) { + for (ParentPlatform platform : parentPlatformPageInfo.getList()) { + platform.setGpsSubscribe(subscribeHolder.getMobilePositionSubscribe(platform.getServerGBId()) != null); + platform.setCatalogSubscribe(subscribeHolder.getCatalogSubscribe(platform.getServerGBId()) != null); + } + } + return parentPlatformPageInfo; } /** @@ -222,7 +237,7 @@ if (updateResult) { // 淇濆瓨鏃跺惎鐢ㄥ氨鍙戦�佹敞鍐� if (parentPlatform.isEnable()) { - if (parentPlatformOld.isStatus()) { + if (parentPlatformOld != null && parentPlatformOld.isStatus()) { commanderForPlatform.unregister(parentPlatformOld, null, null); try { Thread.sleep(500); @@ -287,8 +302,9 @@ boolean deleteResult = storager.deleteParentPlatform(parentPlatform); storager.delCatalogByPlatformId(parentPlatform.getServerGBId()); storager.delRelationByPlatformId(parentPlatform.getServerGBId()); - - + // 鍋滄鍙戦�佷綅缃闃呭畾鏃朵换鍔� + String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetup.getServerId() + "_MobilePosition_" + parentPlatform.getServerGBId(); + dynamicTask.stop(key); if (deleteResult) { return new ResponseEntity<>("success", HttpStatus.OK); } else { -- Gitblit v1.8.0