From 01a619f9e31694312f6badc0f3c7f8518e5d8420 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 03 三月 2022 16:55:20 +0800
Subject: [PATCH] Merge branch 'wvp-28181-2.0' into wvp-pro-record

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java                 |    1 +
 src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java |   14 +++++++++-----
 src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java         |    4 ++++
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java  |    4 ++--
 src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java    |    1 +
 5 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
index 7b3f0b2..67be247 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
@@ -119,8 +119,8 @@
 	/**
 	 * 瑙嗛娴佸仠姝�
 	 */
-	void streamByeCmd(String deviceId, String channelId, String ssrc, SipSubscribe.Event okEvent);
-	void streamByeCmd(String deviceId, String channelId, String ssrc);
+	void streamByeCmd(String deviceId, String channelId, String stream, SipSubscribe.Event okEvent);
+	void streamByeCmd(String deviceId, String channelId, String stream);
 
 	/**
 	 * 鍥炴斁鏆傚仠
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
index de5d483..9d0e354 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
@@ -92,6 +92,7 @@
 
         // 鑾峰彇鎵�鏈夌殑zlm锛� 骞跺紑鍚富鍔ㄨ繛鎺�
         List<MediaServerItem> all = mediaServerService.getAllFromDatabase();
+        mediaServerService.updateVmServer(all);
         if (all.size() == 0) {
             all.add(mediaConfig.getMediaSerItem());
         }
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 3a4c3ee..2e8a68e 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -42,6 +42,8 @@
 
     void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
 
+    void updateVmServer(List<MediaServerItem>  mediaServerItemList);
+
     SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
 
     SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean isPlayback);
@@ -74,6 +76,8 @@
 
     void delete(String id);
 
+    void deleteDb(String id);
+
     MediaServerItem getDefaultMediaServer();
 
     void updateMediaServerKeepalive(String mediaServerId, JSONObject data);
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
index 6a5642e..4f08c99 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java
@@ -46,8 +46,7 @@
  * 濯掍綋鏈嶅姟鍣ㄨ妭鐐圭鐞�
  */
 @Service
-@Order(value=2)
-public class MediaServerServiceImpl implements IMediaServerService, CommandLineRunner {
+public class MediaServerServiceImpl implements IMediaServerService {
 
     private final static Logger logger = LoggerFactory.getLogger(MediaServerServiceImpl.class);
 
@@ -102,9 +101,8 @@
      * 鍒濆鍖�
      */
     @Override
-    public void run(String... args) throws Exception {
+    public void updateVmServer(List<MediaServerItem>  mediaServerItemList) {
         logger.info("[缂撳瓨鍒濆鍖朷 Media Server ");
-        List<MediaServerItem> mediaServerItemList = mediaServerMapper.queryAll();
         for (MediaServerItem mediaServerItem : mediaServerItemList) {
             if (StringUtils.isEmpty(mediaServerItem.getId())) {
                 continue;
@@ -225,7 +223,8 @@
             String key = (String) mediaServerKey;
             MediaServerItem mediaServerItem = (MediaServerItem) redisUtil.get(key);
             // 妫�鏌ョ姸鎬�
-            if (redisUtil.zScore(onlineKey, mediaServerItem.getId()) != null) {
+            Double aDouble = redisUtil.zScore(onlineKey, mediaServerItem.getId());
+            if (aDouble != null) {
                 mediaServerItem.setStatus(true);
             }
             result.add(mediaServerItem);
@@ -610,6 +609,11 @@
         String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + userSetup.getServerId() + "_" + id;
         redisUtil.del(key);
     }
+    @Override
+    public void deleteDb(String id){
+        //鍚屾鍒犻櫎鏁版嵁搴撲腑鐨勬暟鎹�
+        mediaServerMapper.delOne(id);
+    }
 
     @Override
     public void updateMediaServerKeepalive(String mediaServerId, JSONObject data) {
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
index c27fb0e..1500f35 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
@@ -158,6 +158,7 @@
     public WVPResult<String> deleteMediaServer(@RequestParam  String id){
         if (mediaServerService.getOne(id) != null) {
             mediaServerService.delete(id);
+            mediaServerService.deleteDb(id);
         }else {
             WVPResult<String> result = new WVPResult<>();
             result.setCode(-1);

--
Gitblit v1.8.0