From dbc525e8fb59f70c474863304e3c580e81dcedf0 Mon Sep 17 00:00:00 2001
From: 648540858 <18010473990@163.com>
Date: 星期一, 09 八月 2021 16:54:36 +0800
Subject: [PATCH] 添加版本信息接口

---
 src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java |   37 +++++++++++++++++++++----------------
 1 files changed, 21 insertions(+), 16 deletions(-)

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 3d66665..d928d87 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
@@ -26,7 +26,6 @@
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Service;
 
-import java.sql.Array;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -123,7 +122,7 @@
         String mediaServerId = streamSession.getMediaServerId(device.getDeviceId(), channelId);
         MediaServerItem mediaServerItem = this.getOne(mediaServerId);
         if (mediaServerItem != null) {
-            String streamId = String.format("gb_play_%s_%s", device.getDeviceId(), channelId);
+            String streamId = String.format("%s/%s", device.getDeviceId(), channelId);
             zlmrtpServerFactory.closeRTPServer(mediaServerItem, streamId);
             releaseSsrc(mediaServerItem, streamSession.getSSRC(device.getDeviceId(), channelId));
         }
@@ -180,6 +179,12 @@
             result.add((MediaServerItem)redisUtil.get(key));
         }
         return result;
+    }
+
+
+    @Override
+    public List<MediaServerItem> getAllFromDatabase() {
+        return mediaServerMapper.queryAll();
     }
 
     @Override
@@ -252,18 +257,16 @@
             if (mediaConfig.getRtspSSLPort() == 0) serverItemFromConfig.setRtspSSLPort(zlmServerConfig.getRtspSSlport());
             if (mediaConfig.getRtpProxyPort() == 0) serverItemFromConfig.setRtpProxyPort(zlmServerConfig.getRtpProxyPort());
             if (serverItem != null){
-                // 鍙兘鏄悓涓�涓獄lm浣唅d鍙戠敓浜嗗彉鍖�
-                if (!serverItem.getId().equals(zlmServerConfig.getGeneralMediaServerId())) {
-                    mediaServerMapper.delOne(serverItem.getId());
-                    redisUtil.del(VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId());
-
-                    String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
-                    serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));
-                    redisUtil.set(key, serverItemFromConfig);
-                    mediaServerMapper.add(serverItemFromConfig);
+                mediaServerMapper.delDefault();
+                mediaServerMapper.add(serverItemFromConfig);
+                String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
+                MediaServerItem serverItemInRedis =  (MediaServerItem)redisUtil.get(key);
+                if (serverItemInRedis != null) {
+                    serverItemFromConfig.setSsrcConfig(serverItemInRedis.getSsrcConfig());
                 }else {
-                    mediaServerMapper.update(serverItemFromConfig);
+                    serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));
                 }
+                redisUtil.set(key, serverItemFromConfig);
             }else {
                 String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId();
                 serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain()));
@@ -273,7 +276,7 @@
             resetOnlineServerItem(serverItemFromConfig);
             setZLMConfig(serverItemFromConfig);
         }else {
-            String now = this.format.format(new Date(System.currentTimeMillis()));
+            String now = this.format.format(System.currentTimeMillis());
             if (serverItem == null){
                     // 涓�涓柊鐨剒lm鎺ュ叆wvp
                     serverItem = new MediaServerItem(zlmServerConfig, sipConfig.getSipIp());
@@ -339,12 +342,14 @@
 
         if (redisUtil.zSize(key)  == null || redisUtil.zSize(key) == 0) {
             logger.info("鑾峰彇璐熻浇鏈�浣庣殑鑺傜偣鏃舵棤鍦ㄧ嚎鑺傜偣");
+            return null;
         }
 
         // 鑾峰彇鍒嗘暟鏈�浣庣殑锛屽強骞跺彂鏈�浣庣殑
         Set<Object> objects = redisUtil.ZRange(key, 0, -1);
-        ArrayList<Object> MediaServerObjectS = new ArrayList<>(objects);
-        String mediaServerId = (String)MediaServerObjectS.get(0);
+        ArrayList<Object> mediaServerObjectS = new ArrayList<>(objects);
+
+        String mediaServerId = (String)mediaServerObjectS.get(0);
         return getOne(mediaServerId);
     }
 
@@ -380,7 +385,7 @@
         param.put("hook.on_stream_none_reader",String.format("%s/on_stream_none_reader", hookPrex));
         param.put("hook.on_stream_not_found",String.format("%s/on_stream_not_found", hookPrex));
         param.put("hook.timeoutSec","20");
-        param.put("general.streamNoneReaderDelayMS",mediaServerItem.getStreamNoneReaderDelayMS());
+        param.put("general.streamNoneReaderDelayMS","-1".equals(mediaServerItem.getStreamNoneReaderDelayMS())?"3600000":mediaServerItem.getStreamNoneReaderDelayMS() );
 
         JSONObject responseJSON = zlmresTfulUtils.setServerConfig(mediaServerItem, param);
 

--
Gitblit v1.8.0