From 14699711028f0d157eddfb0432e26ab91f1b4493 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 22 十一月 2022 15:02:25 +0800
Subject: [PATCH] 支持配置设备上线时自动更新查询通道,修复通道刷新进度展示

---
 src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
index 81cf8f1..f8d5869 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -1,12 +1,16 @@
 package com.genersoft.iot.vmp.service;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.genersoft.iot.vmp.gb28181.bean.Device;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
+import com.genersoft.iot.vmp.media.zlm.dto.ServerKeepaliveData;
+import com.genersoft.iot.vmp.service.bean.MediaServerLoad;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 濯掍綋鏈嶅姟鑺傜偣
@@ -21,22 +25,37 @@
 
     MediaServerItem getOne(String generalMediaServerId);
 
-    MediaServerItem getOneByHostAndPort(String host, int port);
+    void syncCatchFromDatabase();
 
     /**
      * 鏂扮殑鑺傜偣鍔犲叆
      * @param zlmServerConfig
      * @return
      */
-    void handLeZLMServerConfig(ZLMServerConfig zlmServerConfig);
+    void zlmServerOnline(ZLMServerConfig zlmServerConfig);
+
+    /**
+     * 鑺傜偣绂荤嚎
+     * @param mediaServerId
+     * @return
+     */
+    void zlmServerOffline(String mediaServerId);
 
     MediaServerItem getMediaServerForMinimumLoad();
 
-    void setZLMConfig(MediaServerItem mediaServerItem);
+    void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
 
-    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
+    void updateVmServer(List<MediaServerItem>  mediaServerItemList);
 
-    void closeRTPServer(Device device, String channelId);
+    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean ssrcCheck, boolean isPlayback);
+
+    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, String ssrc, boolean ssrcCheck, boolean isPlayback);
+
+    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, String ssrc, boolean ssrcCheck, boolean isPlayback, Integer port);
+
+    void closeRTPServer(MediaServerItem mediaServerItem, String streamId);
+
+    void closeRTPServer(String mediaServerId, String streamId);
 
     void clearRTPServer(MediaServerItem mediaServerItem);
 
@@ -46,15 +65,35 @@
 
     void removeCount(String mediaServerId);
 
-    void releaseSsrc(MediaServerItem mediaServerItem, String ssrc);
+    void releaseSsrc(String mediaServerItemId, String ssrc);
 
     void clearMediaServerForOnline();
 
-    WVPResult<String> add(MediaServerItem mediaSerItem);
+    void add(MediaServerItem mediaSerItem);
+
+    int addToDatabase(MediaServerItem mediaSerItem);
+
+    int updateToDatabase(MediaServerItem mediaSerItem);
 
     void resetOnlineServerItem(MediaServerItem serverItem);
 
-    WVPResult<MediaServerItem> checkMediaServer(String ip, int port, String secret);
+    MediaServerItem checkMediaServer(String ip, int port, String secret);
 
     boolean checkMediaRecordServer(String ip, int port);
+
+    void delete(String id);
+
+    void deleteDb(String id);
+
+    MediaServerItem getDefaultMediaServer();
+
+    void updateMediaServerKeepalive(String mediaServerId, ServerKeepaliveData data);
+
+    boolean checkRtpServer(MediaServerItem mediaServerItem, String rtp, String stream);
+
+    /**
+     * 鑾峰彇璐熻浇淇℃伅
+     * @return
+     */
+    MediaServerLoad getLoad(MediaServerItem mediaServerItem);
 }

--
Gitblit v1.8.0