From 2f108a46d05e34981d52b447d73f0cfd8e8c30fd Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 17 十一月 2021 16:24:31 +0800
Subject: [PATCH] Merge pull request #232 from chenparty/wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java | 331 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 273 insertions(+), 58 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
index f427e5e..931530a 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
@@ -1,34 +1,21 @@
package com.genersoft.iot.vmp.storager;
-import java.util.List;
-import java.util.Map;
+import com.genersoft.iot.vmp.gb28181.bean.*;
+import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
+import com.github.pagehelper.PageInfo;
-import com.alibaba.fastjson.JSONObject;
-import com.genersoft.iot.vmp.common.PageResult;
-import com.genersoft.iot.vmp.common.StreamInfo;
-import com.genersoft.iot.vmp.conf.MediaServerConfig;
-import com.genersoft.iot.vmp.gb28181.bean.Device;
-import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
+import java.util.List;
/**
- * @Description:瑙嗛璁惧鏁版嵁瀛樺偍鎺ュ彛
+ * @description:瑙嗛璁惧鏁版嵁瀛樺偍鎺ュ彛
* @author: swwheihei
* @date: 2020骞�5鏈�6鏃� 涓嬪崍2:14:31
*/
+@SuppressWarnings("rawtypes")
public interface IVideoManagerStorager {
-
- /**
- * 鏇存柊娴佸獟浣撲俊鎭�
- * @param mediaServerConfig
- * @return
- */
- public boolean updateMediaInfo(MediaServerConfig mediaServerConfig);
-
- /**
- * 鑾峰彇娴佸獟浣撲俊鎭�
- * @return
- */
- public MediaServerConfig getMediaInfo();
/**
* 鏍规嵁璁惧ID鍒ゆ柇璁惧鏄惁瀛樺湪
@@ -61,6 +48,21 @@
* @param channel 閫氶亾
*/
public void updateChannel(String deviceId, DeviceChannel channel);
+
+ /**
+ * 寮�濮嬫挱鏀�
+ * @param deviceId 璁惧id
+ * @param channelId 閫氶亾ID
+ * @param streamId 娴佸湴鍧�
+ */
+ public void startPlay(String deviceId, String channelId, String streamId);
+
+ /**
+ * 鍋滄鎾斁
+ * @param deviceId 璁惧id
+ * @param channelId 閫氶亾ID
+ */
+ public void stopPlay(String deviceId, String channelId);
/**
* 鑾峰彇璁惧
@@ -78,7 +80,7 @@
* @param count 姣忛〉鏁伴噺
* @return
*/
- public PageResult queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, String online, int page, int count);
+ public PageInfo queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, Boolean online, int page, int count);
/**
* 鑾峰彇鏌愪釜璁惧鐨勯�氶亾鍒楄〃
@@ -87,6 +89,7 @@
* @return
*/
public List<DeviceChannel> queryChannelsByDeviceId(String deviceId);
+
/**
* 鑾峰彇鏌愪釜璁惧鐨勯�氶亾
* @param deviceId 璁惧ID
@@ -94,21 +97,27 @@
*/
public DeviceChannel queryChannel(String deviceId, String channelId);
- /**
+ /**
+ * 鍒犻櫎閫氶亾
+ * @param deviceId 璁惧ID
+ * @param channelId 閫氶亾ID
+ */
+ public int delChannel(String deviceId, String channelId);
+
+ /**
* 鑾峰彇澶氫釜璁惧
- *
- * @param deviceIds 璁惧ID鏁扮粍
+ * @param page 褰撳墠椤垫暟
+ * @param count 姣忛〉鏁伴噺
* @return List<Device> 璁惧瀵硅薄鏁扮粍
*/
- public PageResult<Device> queryVideoDeviceList(String[] deviceIds, int page, int count);
+ public PageInfo<Device> queryVideoDeviceList(int page, int count);
/**
* 鑾峰彇澶氫釜璁惧
*
- * @param deviceIds 璁惧ID鏁扮粍
* @return List<Device> 璁惧瀵硅薄鏁扮粍
*/
- public List<Device> queryVideoDeviceList(String[] deviceIds);
+ public List<Device> queryVideoDeviceList();
/**
* 鍒犻櫎璁惧
@@ -135,26 +144,12 @@
public boolean outline(String deviceId);
/**
- * 寮�濮嬫挱鏀炬椂灏嗘祦瀛樺叆
+ * 鏇存柊鎵�鏈夎澶囩绾�
*
- * @param stream 娴佷俊鎭�
- * @return
+ * @return true锛氭洿鏂版垚鍔� false锛氭洿鏂板け璐�
*/
- public boolean startPlay(StreamInfo stream);
+ public boolean outlineForAll();
- /**
- * 鍋滄鎾斁鏃跺垹闄�
- *
- * @return
- */
- public boolean stopPlay(StreamInfo streamInfo);
-
- /**
- * 鏌ユ壘瑙嗛娴�
- *
- * @return
- */
- public StreamInfo queryPlay(StreamInfo streamInfo);
/**
* 鏌ヨ瀛愯澶�
@@ -165,12 +160,8 @@
* @param count
* @return
*/
- PageResult querySubChannels(String deviceId, String channelId, String query, Boolean hasSubChannel, String online, int page, int count);
+ PageInfo querySubChannels(String deviceId, String channelId, String query, Boolean hasSubChannel, String online, int page, int count);
- /**
- * 鏇存柊缂撳瓨
- */
- public void updateCatch();
/**
* 娓呯┖閫氶亾
@@ -178,17 +169,241 @@
*/
void cleanChannelsForDevice(String deviceId);
- StreamInfo queryPlayByStreamId(String streamId);
- StreamInfo queryPlayByDevice(String deviceId, String code);
+ /**
+ * 鏇存柊涓婄骇骞冲彴
+ * @param parentPlatform
+ */
+ boolean updateParentPlatform(ParentPlatform parentPlatform);
- Map<String, StreamInfo> queryPlayByDeviceId(String deviceId);
- boolean startPlayback(StreamInfo streamInfo);
+ /**
+ * 娣诲姞涓婄骇骞冲彴
+ * @param parentPlatform
+ */
+ boolean addParentPlatform(ParentPlatform parentPlatform);
- boolean stopPlayback(StreamInfo streamInfo);
+ /**
+ * 鍒犻櫎涓婄骇骞冲彴
+ * @param parentPlatform
+ */
+ boolean deleteParentPlatform(ParentPlatform parentPlatform);
- StreamInfo queryPlaybackByDevice(String deviceId, String channelId);
- StreamInfo queryPlaybackByStreamId(String streamId);
+ /**
+ * 鍒嗛〉鑾峰彇涓婄骇骞冲彴
+ * @param page
+ * @param count
+ * @return
+ */
+ PageInfo<ParentPlatform> queryParentPlatformList(int page, int count);
+
+ /**
+ * 鑾峰彇鎵�鏈夊凡鍚敤鐨勫钩鍙�
+ * @return
+ */
+ List<ParentPlatform> queryEnableParentPlatformList(boolean enable);
+
+ /**
+ * 鑾峰彇涓婄骇骞冲彴
+ * @param platformGbId
+ * @return
+ */
+ ParentPlatform queryParentPlatByServerGBId(String platformGbId);
+
+ /**
+ * 鎵�鏈夊钩鍙扮绾�
+ */
+ void outlineForAllParentPlatform();
+
+ /**
+ * 鏌ヨ閫氶亾淇℃伅锛屼笉鍖哄垎璁惧(宸插叧鑱斿钩鍙版垨鍏ㄩ儴)
+ */
+ PageInfo<ChannelReduce> queryAllChannelList(int page, int count, String query, Boolean online, Boolean channelType, String platformId, Boolean inPlatform);
+
+ /**
+ * 鏌ヨ璁惧鐨勯�氶亾淇℃伅
+ */
+ List<ChannelReduce> queryChannelListInParentPlatform(String platformId);
+
+
+ /**
+ * 鏇存柊涓婄骇骞冲彴鐨勯�氶亾淇℃伅
+ * @param platformId
+ * @param channelReduces
+ * @return
+ */
+ int updateChannelForGB(String platformId, List<ChannelReduce> channelReduces);
+
+ /**
+ * 绉婚櫎涓婄骇骞冲彴鐨勯�氶亾淇℃伅
+ * @param platformId
+ * @param channelReduces
+ * @return
+ */
+ int delChannelForGB(String platformId, List<ChannelReduce> channelReduces);
+
+
+ DeviceChannel queryChannelInParentPlatform(String platformId, String channelId);
+
+ Device queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId);
+
+
+ /**
+ * 娣诲姞Mobile Position璁惧绉诲姩浣嶇疆
+ * @param mobilePosition
+ * @return
+ */
+ public boolean insertMobilePosition(MobilePosition mobilePosition);
+
+ /**
+ * 鏌ヨ绉诲姩浣嶇疆杞ㄨ抗
+ * @param deviceId
+ * @param startTime
+ * @param endTime
+ */
+ public List<MobilePosition> queryMobilePositions(String deviceId, String startTime, String endTime);
+
+ /**
+ * 鏌ヨ鏈�鏂扮Щ鍔ㄤ綅缃�
+ * @param deviceId
+ */
+ public MobilePosition queryLatestPosition(String deviceId);
+
+ /**
+ * 鍒犻櫎鎸囧畾璁惧鐨勬墍鏈夌Щ鍔ㄤ綅缃�
+ * @param deviceId
+ */
+ public int clearMobilePositionsByDeviceId(String deviceId);
+
+ /**
+ * 鏂板浠g悊娴�
+ * @param streamProxyDto
+ * @return
+ */
+ public boolean addStreamProxy(StreamProxyItem streamProxyDto);
+
+ /**
+ * 鏇存柊浠g悊娴�
+ * @param streamProxyDto
+ * @return
+ */
+ public boolean updateStreamProxy(StreamProxyItem streamProxyDto);
+
+ /**
+ * 绉婚櫎浠g悊娴�
+ * @param app
+ * @param stream
+ * @return
+ */
+ public int deleteStreamProxy(String app, String stream);
+
+ /**
+ * 鎸夌収鏄惁鍚敤鑾峰彇浠g悊娴�
+ * @param enable
+ * @return
+ */
+ public List<StreamProxyItem> getStreamProxyListForEnable(boolean enable);
+
+ /**
+ * 鎸夌収鏄痑pp鍜宻tream鑾峰彇浠g悊娴�
+ * @param app
+ * @param stream
+ * @return
+ */
+ public StreamProxyItem queryStreamProxy(String app, String stream);
+
+ /**
+ * 鑾峰彇浠g悊娴�
+ * @param page
+ * @param count
+ * @return
+ */
+ PageInfo<StreamProxyItem> queryStreamProxyList(Integer page, Integer count);
+
+ /**
+ * 鏍规嵁鍥芥爣ID鑾峰彇骞冲彴鍏宠仈鐨勭洿鎾祦
+ * @param platformId
+ * @param channelId
+ * @return
+ */
+ GbStream queryStreamInParentPlatform(String platformId, String channelId);
+
+ /**
+ * 鑾峰彇骞冲彴鍏宠仈鐨勭洿鎾祦
+ * @param platformId
+ * @return
+ */
+ List<GbStream> queryGbStreamListInPlatform(String platformId);
+
+ /**
+ * 鎵归噺鏇存柊鎺ㄦ祦鍒楄〃
+ * @param streamPushItems
+ */
+ void updateMediaList(List<StreamPushItem> streamPushItems);
+
+ /**
+ * 鏇存柊鍗曚釜鎺ㄦ祦
+ * @param streamPushItem
+ */
+ void updateMedia(StreamPushItem streamPushItem);
+
+ /**
+ * 绉婚櫎鍗曚釜鎺ㄦ祦
+ * @param app
+ * @param stream
+ */
+ void removeMedia(String app, String stream);
+
+
+ /**
+ * 娓呯┖鎺ㄦ祦鍒楄〃
+ */
+ void clearMediaList();
+
+ /**
+ * 璁剧疆娴佺绾�
+ * @param app
+ * @param streamId
+ */
+ void mediaOutline(String app, String streamId);
+
+ /**
+ * 璁剧疆骞冲彴鍦ㄧ嚎/绂荤嚎
+ * @param online
+ */
+ void updateParentPlatformStatus(String platformGbID, boolean online);
+
+ /**
+ * 鏇存柊濯掍綋鑺傜偣
+ * @param mediaServerItem
+ */
+ void updateMediaServer(MediaServerItem mediaServerItem);
+
+ /**
+ * 鏍规嵁濯掍綋ID鑾峰彇鍚敤/涓嶅惎鐢ㄧ殑浠g悊鍒楄〃
+ * @param id 濯掍綋ID
+ * @param b 鍚敤/涓嶅惎鐢�
+ * @return
+ */
+ List<StreamProxyItem> getStreamProxyListForEnableInMediaServer(String id, boolean b);
+
+ /**
+ * 鏍规嵁閫氶亾ID鑾峰彇鍏舵墍鍦ㄨ澶�
+ * @param channelId 閫氶亾ID
+ * @return
+ */
+ Device queryVideoDeviceByChannelId(String channelId);
+
+ /**
+ * 閫氶亾涓婄嚎
+ * @param channelId 閫氶亾ID
+ */
+ void deviceChannelOnline(String deviceId, String channelId);
+
+ /**
+ * 閫氶亾绂荤嚎
+ * @param channelId 閫氶亾ID
+ */
+ void deviceChannelOffline(String deviceId, String channelId);
}
--
Gitblit v1.8.0