From bf66f8f694607fdd41ff9d7f6149459eef96bb67 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 11 二月 2022 16:45:06 +0800
Subject: [PATCH] 推流导入支持添加平台信息与目录信息

---
 src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
index 2ce9234..ff31d8a 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -8,6 +8,7 @@
 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
 import com.genersoft.iot.vmp.gb28181.bean.GbStream;
 import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
+import com.genersoft.iot.vmp.gb28181.bean.PlatformCatalog;
 import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
 import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
 import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe;
@@ -18,10 +19,7 @@
 import com.genersoft.iot.vmp.service.IMediaServerService;
 import com.genersoft.iot.vmp.service.IStreamPushService;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
-import com.genersoft.iot.vmp.storager.dao.GbStreamMapper;
-import com.genersoft.iot.vmp.storager.dao.ParentPlatformMapper;
-import com.genersoft.iot.vmp.storager.dao.PlatformGbStreamMapper;
-import com.genersoft.iot.vmp.storager.dao.StreamPushMapper;
+import com.genersoft.iot.vmp.storager.dao.*;
 import com.genersoft.iot.vmp.vmanager.bean.StreamPushExcelDto;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -42,6 +40,9 @@
 
     @Autowired
     private ParentPlatformMapper parentPlatformMapper;
+
+    @Autowired
+    private PlatformCatalogMapper platformCatalogMapper;
 
     @Autowired
     private PlatformGbStreamMapper platformGbStreamMapper;
@@ -95,13 +96,12 @@
         streamPushItem.setMediaServerId(item.getMediaServerId());
         streamPushItem.setStream(item.getStream());
         streamPushItem.setAliveSecond(item.getAliveSecond());
-        streamPushItem.setCreateStamp(item.getCreateStamp());
         streamPushItem.setOriginSock(item.getOriginSock());
         streamPushItem.setTotalReaderCount(item.getTotalReaderCount());
         streamPushItem.setOriginType(item.getOriginType());
         streamPushItem.setOriginTypeStr(item.getOriginTypeStr());
         streamPushItem.setOriginUrl(item.getOriginUrl());
-        streamPushItem.setCreateStamp(item.getCreateStamp());
+        streamPushItem.setCreateStamp(item.getCreateStamp() * 1000);
         streamPushItem.setAliveSecond(item.getAliveSecond());
         streamPushItem.setStatus(true);
         streamPushItem.setStreamType("push");
@@ -359,6 +359,27 @@
     }
 
     @Override
+    public void batchAddForUpload(String platformId, String catalogId, List<StreamPushItem> streamPushItems) {
+        streamPushMapper.addAll(streamPushItems);
+        gbStreamMapper.batchAdd(streamPushItems);
+        if (platformId != null) {
+            ParentPlatform platform = parentPlatformMapper.getParentPlatByServerGBId(platformId);
+            if (platform != null) {
+                if (catalogId == null) {
+                    catalogId = platform.getCatalogId();
+                }else {
+                    PlatformCatalog catalog = platformCatalogMapper.select(catalogId);
+                    if (catalog == null) {
+                        return;
+                    }
+                }
+                platformGbStreamMapper.batchAdd(platformId, catalogId, streamPushItems);
+                eventPublisher.catalogEventPublishForStream(platformId, streamPushItems.toArray(new GbStream[0]), CatalogEvent.ADD);
+            }
+        }
+    }
+
+    @Override
     public boolean batchStop(List<GbStream> gbStreams) {
         if (gbStreams == null || gbStreams.size() == 0) {
             return false;

--
Gitblit v1.8.0