From 3d68b56bb5ecbc3d34b2901c671dc7f1f0f82f74 Mon Sep 17 00:00:00 2001
From: pedoc <pedoc@qq.com>
Date: 星期一, 29 一月 2024 18:05:17 +0800
Subject: [PATCH] 修复未配置sipdomain时出现异常

---
 src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java |   29 +++++++++++------------------
 1 files changed, 11 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java
index ba3e365..f160aac 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.genersoft.iot.vmp.conf.exception.ControllerException;
 import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
 import com.genersoft.iot.vmp.media.zlm.AssistRESTfulUtils;
@@ -29,6 +30,7 @@
 import java.util.*;
 
 @Service
+@DS("share")
 public class CloudRecordServiceImpl implements ICloudRecordService {
 
     private final static Logger logger = LoggerFactory.getLogger(CloudRecordServiceImpl.class);
@@ -109,23 +111,11 @@
     }
 
     @Override
-    public String addTask(String app, String stream, String mediaServerId, String startTime, String endTime, String callId, String remoteHost) {
+    public String addTask(String app, String stream, MediaServerItem mediaServerItem, String startTime, String endTime,
+                          String callId, String remoteHost, boolean filterMediaServer) {
         // 鍙傛暟鏍¢獙
         assert app != null;
         assert stream != null;
-        MediaServerItem mediaServerItem = null;
-        if (mediaServerId == null) {
-            mediaServerItem = mediaServerService.getDefaultMediaServer();
-        }else {
-            mediaServerItem = mediaServerService.getOne(mediaServerId);
-        }
-        if (mediaServerItem == null) {
-            throw new ControllerException(ErrorCode.ERROR100.getCode(), "鏈壘鍒板彲鐢ㄧ殑娴佸獟浣�");
-        }else {
-            if (remoteHost == null) {
-                remoteHost = "http://" + mediaServerItem.getStreamIp() + ":" + mediaServerItem.getRecordAssistPort();
-            }
-        }
         if (mediaServerItem.getRecordAssistPort() == 0) {
             throw new ControllerException(ErrorCode.ERROR100.getCode(), "涓洪厤缃瓵ssist鏈嶅姟");
         }
@@ -141,7 +131,8 @@
         List<MediaServerItem> mediaServers = new ArrayList<>();
         mediaServers.add(mediaServerItem);
         // 妫�绱㈢浉鍏崇殑褰曞儚鏂囦欢
-        List<String> filePathList = cloudRecordServiceMapper.queryRecordFilePathList(app, stream, startTimeStamp, endTimeStamp, callId, mediaServers);
+        List<String> filePathList = cloudRecordServiceMapper.queryRecordFilePathList(app, stream, startTimeStamp,
+                endTimeStamp, callId, filterMediaServer ? mediaServers : null);
         if (filePathList == null || filePathList.isEmpty()) {
             throw new ControllerException(ErrorCode.ERROR100.getCode(), "鏈绱㈠埌瑙嗛鏂囦欢");
         }
@@ -153,7 +144,8 @@
     }
 
     @Override
-    public JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, Boolean isEnd) {
+    public JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId,
+                               Boolean isEnd, String scheme) {
         MediaServerItem mediaServerItem = null;
         if (mediaServerId == null) {
             mediaServerItem = mediaServerService.getDefaultMediaServer();
@@ -163,9 +155,10 @@
         if (mediaServerItem == null) {
             throw new ControllerException(ErrorCode.ERROR100.getCode(), "鏈壘鍒板彲鐢ㄧ殑娴佸獟浣�");
         }
-        JSONObject result =  assistRESTfulUtils.queryTaskList(mediaServerItem, app, stream, callId, taskId, isEnd);
+
+        JSONObject result =  assistRESTfulUtils.queryTaskList(mediaServerItem, app, stream, callId, taskId, isEnd, scheme);
         if (result == null || result.getInteger("code") != 0) {
-            throw new ControllerException(ErrorCode.ERROR100.getCode(), result.getString("msg"));
+            throw new ControllerException(ErrorCode.ERROR100.getCode(), result == null ? "鏌ヨ浠诲姟鍒楄〃澶辫触" : result.getString("msg"));
         }
         return result.getJSONArray("data");
     }

--
Gitblit v1.8.0