From 2e98b20bea4463e4465e3c19059d0744a09aec06 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 27 Jun 2023 14:34:41 +0800
Subject: [PATCH] gb28181版本升级-补充

---
 src/main/java/com/genersoft/iot/vmp/service/IStreamPushService.java |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 109 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/IStreamPushService.java b/src/main/java/com/genersoft/iot/vmp/service/IStreamPushService.java
new file mode 100644
index 0000000..5dbba92
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/service/IStreamPushService.java
@@ -0,0 +1,109 @@
+package com.genersoft.iot.vmp.service;
+
+import com.genersoft.iot.vmp.gb28181.bean.GbStream;
+import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig;
+import com.genersoft.iot.vmp.media.zlm.dto.MediaItem;
+import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.service.bean.StreamPushItemFromRedis;
+import com.genersoft.iot.vmp.vmanager.bean.StreamPushExcelDto;
+import com.github.pagehelper.PageInfo;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IStreamPushService {
+
+    List<StreamPushItem> handleJSON(String json, MediaServerItem mediaServerItem);
+
+    /**
+     * 将应用名和流ID加入国标关联
+     * @param stream
+     * @return
+     */
+    boolean saveToGB(GbStream stream);
+
+    /**
+     * 将应用名和流ID移出国标关联
+     * @param stream
+     * @return
+     */
+    boolean removeFromGB(GbStream stream);
+
+    /**
+     * 获取
+     */
+    PageInfo<StreamPushItem> getPushList(Integer page, Integer count, String query, Boolean pushing, String mediaServerId);
+
+    List<StreamPushItem> getPushList(String mediaSererId);
+
+    StreamPushItem transform(MediaItem item);
+
+    StreamPushItem getPush(String app, String streamId);
+
+    /**
+     * 停止一路推流
+     * @param app 应用名
+     * @param streamId 流ID
+     */
+    boolean stop(String app, String streamId);
+
+    /**
+     * 新的节点加入
+     */
+    void zlmServerOnline(String mediaServerId);
+
+    /**
+     * 节点离线
+     */
+    void zlmServerOffline(String mediaServerId);
+
+    /**
+     * 清空
+     */
+    void clean();
+
+
+    boolean saveToRandomGB();
+
+    /**
+     * 批量添加
+     */
+    void batchAdd(List<StreamPushItem> streamPushExcelDtoList);
+
+    /**
+     * 中止多个推流
+     */
+    boolean batchStop(List<GbStream> streamPushItems);
+
+    /**
+     * 导入时批量增加
+     */
+    void batchAddForUpload(List<StreamPushItem> streamPushItems, Map<String, List<String[]>> streamPushItemsForAll);
+
+    /**
+     * 全部离线
+     */
+    void allStreamOffline();
+
+    /**
+     * 推流离线
+     */
+    void offline(List<StreamPushItemFromRedis> offlineStreams);
+
+    /**
+     * 推流上线
+     */
+    void online(List<StreamPushItemFromRedis> onlineStreams);
+
+    /**
+     * 增加推流
+     */
+    boolean add(StreamPushItem stream);
+
+    /**
+     * 获取全部的app+Streanm 用于判断推流列表是新增还是修改
+     * @return
+     */
+    List<String> getAllAppAndStream();
+}

--
Gitblit v1.9.3