From a42dda2bd3cc1cf8c20cc61e7ad9211eadecbaf3 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 24 二月 2022 16:55:06 +0800
Subject: [PATCH] 规范数据库,添加必要约束,优化通道批量导入功能

---
 src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java |  152 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 127 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
index ca4ebae..edd6cbc 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
@@ -1,17 +1,26 @@
 package com.genersoft.iot.vmp.storager;
 
 import com.alibaba.fastjson.JSONObject;
-import com.genersoft.iot.vmp.common.RealVideo;
 import com.genersoft.iot.vmp.common.StreamInfo;
-import com.genersoft.iot.vmp.conf.MediaServerConfig;
-import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
-import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch;
-import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
+import com.genersoft.iot.vmp.gb28181.bean.*;
+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.GPSMsgInfo;
+import com.genersoft.iot.vmp.service.bean.ThirdPartyGB;
 
 import java.util.List;
 import java.util.Map;
 
 public interface IRedisCatchStorage {
+
+    /**
+     * 璁℃暟鍣ㄣ�備负cseq杩涜璁℃暟
+     *
+     * @param method sip 鏂规硶
+     * @return
+     */
+    Long getCSEQ(String method);
 
     /**
      * 寮�濮嬫挱鏀炬椂灏嗘祦瀛樺叆
@@ -39,20 +48,7 @@
 
     StreamInfo queryPlaybackByStreamId(String steamId);
 
-    StreamInfo queryPlayByDevice(String deviceId, String code);
-
-    /**
-     * 鏇存柊娴佸獟浣撲俊鎭�
-     * @param mediaServerConfig
-     * @return
-     */
-    boolean updateMediaInfo(MediaServerConfig mediaServerConfig);
-
-    /**
-     * 鑾峰彇娴佸獟浣撲俊鎭�
-     * @return
-     */
-    MediaServerConfig getMediaInfo();
+    StreamInfo queryPlayByDevice(String deviceId, String channelId);
 
     Map<String, StreamInfo> queryPlayByDeviceId(String deviceId);
 
@@ -94,6 +90,8 @@
      */
     SendRtpItem querySendRTPServer(String platformGbId, String channelId);
 
+    List<SendRtpItem> querySendRTPServer(String platformGbId);
+
     /**
      * 鍒犻櫎RTP鎺ㄩ�佷俊鎭紦瀛�
      * @param platformGbId
@@ -108,14 +106,118 @@
     boolean isChannelSendingRTP(String channelId);
 
     /**
-     * 鏇存柊濯掍綋娴佸垪琛�
-     * @param mediaList
+     * 娓呯┖鏌愪釜璁惧鐨勬墍鏈夌紦瀛�
+     * @param deviceId 璁惧ID
      */
-    void updateMediaList(List<RealVideo> mediaList);
+    void clearCatchByDeviceId(String deviceId);
 
     /**
-     * 鑾峰彇褰撳墠濯掍綋娴佸垪琛�
-     * @return List<RealVideo>
+     * 鑾峰彇mediaServer鑺傜偣
+     * @param mediaServerId
+     * @return
      */
-    JSONObject getMediaList(int start, int end);
+//    MediaServerItem getMediaInfo(String mediaServerId);
+
+    /**
+     * 璁剧疆鎵�鏈夎澶囩绾�
+     */
+    void outlineForAll();
+
+    /**
+     * 鑾峰彇鎵�鏈夊湪绾跨殑
+     */
+    List<String> getOnlineForAll();
+
+    /**
+     * 鍦╮edis娣诲姞wvp鐨勪俊鎭�
+     */
+    void updateWVPInfo(JSONObject jsonObject, int time);
+
+    /**
+     * 鍙戦�佹帹娴佺敓鎴愪笌鎺ㄦ祦娑堝け娑堟伅
+     * @param jsonObject 娑堟伅鍐呭
+     */
+    void sendStreamChangeMsg(String type, JSONObject jsonObject);
+
+    /**
+     * 娣诲姞娴佷俊鎭埌redis
+     * @param mediaServerItem
+     * @param app
+     * @param streamId
+     */
+    void addStream(MediaServerItem mediaServerItem, String type, String app, String streamId, MediaItem item);
+
+    /**
+     * 绉婚櫎娴佷俊鎭粠redis
+     * @param mediaServerId
+     * @param app
+     * @param streamId
+     */
+    void removeStream(String mediaServerId, String type, String app, String streamId);
+
+
+    /**
+     * 绉婚櫎娴佷俊鎭粠redis
+     * @param mediaServerId
+     */
+    void removeStream(String mediaServerId, String type);
+
+    /**
+     * 寮�濮嬩笅杞藉綍鍍忔椂瀛樺叆
+     * @param streamInfo
+     */
+    boolean startDownload(StreamInfo streamInfo);
+
+    StreamInfo queryDownloadByStreamId(String streamId);
+
+    /**
+     * 鏌ユ壘绗笁鏂圭郴缁熺暀涓嬬殑鍥芥爣棰勮鍊�
+     * @param queryKey
+     * @return
+     */
+    ThirdPartyGB queryMemberNoGBId(String queryKey);
+
+    List<MediaItem> getStreams(String mediaServerId, String pull);
+
+    /**
+     * 灏哾evice淇℃伅鍐欏叆redis
+     * @param device
+     */
+    void updateDevice(Device device);
+
+    void removeDevice(String deviceId);
+
+    /**
+     * 鑾峰彇Device
+     */
+    Device getDevice(String deviceId);
+
+    void resetAllCSEQ();
+
+    void updateGpsMsgInfo(GPSMsgInfo gpsMsgInfo);
+
+    GPSMsgInfo getGpsMsgInfo(String gbId);
+    List<GPSMsgInfo> getAllGpsMsgInfo();
+
+    Long getSN(String method);
+
+    void resetAllSN();
+
+    void updateSubscribe(String key, SubscribeInfo subscribeInfo);
+
+    SubscribeInfo getSubscribe(String key);
+
+    void delSubscribe(String key);
+
+    MediaItem getStreamInfo(String app, String streamId, String mediaServerId);
+
+    List<SubscribeInfo> getAllSubscribe();
+
+    List<String> getAllSubscribePlatform();
+
+    void addCpuInfo(double cpuInfo);
+
+    void addMemInfo(double memInfo);
+
+    void addNetInfo(Map<String, String> networkInterfaces);
 }

--
Gitblit v1.8.0