From 89a9ab4534f10a224f70e546db838423e84a1965 Mon Sep 17 00:00:00 2001
From: 64850858 <648540858@qq.com>
Date: 星期五, 16 七月 2021 16:34:51 +0800
Subject: [PATCH] 添加zlm集群支持

---
 src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java
index 8626205..f00e2ab 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java
@@ -2,6 +2,9 @@
 
 import com.genersoft.iot.vmp.conf.MediaConfig;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig;
+import com.genersoft.iot.vmp.media.zlm.dto.IMediaServerItem;
+import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
+import com.genersoft.iot.vmp.service.IMediaServerService;
 import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -14,6 +17,8 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 
 @RestController
@@ -25,13 +30,15 @@
 
     @Autowired
     private IRedisCatchStorage redisCatchStorage;
+    @Autowired
+    private IMediaServerService mediaServerService;
 
     @Autowired
     private MediaConfig mediaConfig;
 
     @ResponseBody
     @RequestMapping(value = "/**/**/**", produces = "application/json;charset=UTF-8")
-    public Object proxy(HttpServletRequest request, HttpServletResponse response){
+    public Object proxy(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException{
 
 
         String baseRequestURI = request.getRequestURI();
@@ -46,12 +53,16 @@
             return null;
         }
         // 鍚庣画鏀逛负鏍规嵁Id鑾峰彇瀵瑰簲鐨刏LM
-        ZLMServerConfig mediaInfo = redisCatchStorage.getMediaInfo();
+        IMediaServerItem mediaInfo = mediaServerService.getOne(mediaId);
+        if (mediaInfo == null) {
+            response.setStatus(HttpStatus.NOT_FOUND.value());
+            return null;
+        }
         String requestURI = String.format("http://%s:%s%s?%s",
-                mediaInfo.getLocalIP(),
+                mediaInfo.getSdpIp(),
                 mediaConfig.getRecordAssistPort(),
                 baseRequestURI.substring(baseRequestURI.indexOf(mediaId) + mediaId.length()),
-                URLDecoder.decode(request.getQueryString())
+                URLDecoder.decode(request.getQueryString(), "UTF-8")
         );
         // 鍙戦�佽姹�
         RestTemplate restTemplate = new RestTemplate();

--
Gitblit v1.8.0