From e752dbd1a7fdfbb2063c59470b41a8e5dd546c3d Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 16 三月 2022 10:12:31 +0800
Subject: [PATCH] 修复推流关联平台的bug again

---
 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 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 4f4d800..878e77c 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
@@ -7,6 +7,7 @@
 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;
@@ -48,6 +49,9 @@
 
     @Autowired
     private IRedisCatchStorage redisCatchStorage;
+
+    @Autowired
+    private SubscribeHolder subscribeHolder;
 
     @Autowired
     private ISIPCommanderForPlatform commanderForPlatform;
@@ -110,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;
     }
 
     /**
@@ -297,6 +305,8 @@
         // 鍋滄鍙戦�佷綅缃闃呭畾鏃朵换鍔�
         String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetup.getServerId() +  "_MobilePosition_" + parentPlatform.getServerGBId();
         dynamicTask.stop(key);
+        // 鍒犻櫎缂撳瓨鐨勮闃呬俊鎭�
+        subscribeHolder.removeAllSubscribe(parentPlatform.getServerGBId());
         if (deleteResult) {
             return new ResponseEntity<>("success", HttpStatus.OK);
         } else {
@@ -333,7 +343,6 @@
      * @param platformId  涓婄骇骞冲彴ID
      * @param query       鏌ヨ鍐呭
      * @param online      鏄惁鍦ㄧ嚎
-     * @param choosed     鏄惁宸查�変腑
      * @param channelType 閫氶亾绫诲瀷
      * @return
      */

--
Gitblit v1.8.0