diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java index a86aa0e9..c5be4874 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java @@ -78,11 +78,11 @@ public class AssistRESTfulUtils { logger.warn("未启用Assist服务"); return null; } - StringBuffer stringBuffer = new StringBuffer(); - stringBuffer.append(String.format("http://%s:%s/%s", mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort(), api)); + StringBuilder stringBuffer = new StringBuilder(); + stringBuffer.append(api); JSONObject responseJSON = null; - if (param != null && param.keySet().size() > 0) { + if (param != null && !param.keySet().isEmpty()) { stringBuffer.append("?"); int index = 1; for (String key : param.keySet()){ @@ -97,6 +97,7 @@ public class AssistRESTfulUtils { } String url = stringBuffer.toString(); + logger.info("[访问assist]: {}", url); Request request = new Request.Builder() .get() .url(url) @@ -262,7 +263,8 @@ public class AssistRESTfulUtils { return sendPost(mediaServerItem, urlStr, videoTaskInfoJSON, null, 30); } - public JSONObject queryTaskList(MediaServerItem mediaServerItem, String app, String stream, String callId, String taskId, Boolean isEnd) { + public JSONObject queryTaskList(MediaServerItem mediaServerItem, String app, String stream, String callId, + String taskId, Boolean isEnd, String scheme) { Map param = new HashMap<>(); if (!ObjectUtils.isEmpty(app)) { param.put("app", app); @@ -279,7 +281,8 @@ public class AssistRESTfulUtils { if (!ObjectUtils.isEmpty(isEnd)) { param.put("isEnd", isEnd); } - - return sendGet(mediaServerItem, "api/record/file/download/task/list", param, null); + String urlStr = String.format("%s://%s:%s/api/record/file/download/task/list", + scheme, mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort());; + return sendGet(mediaServerItem, urlStr, param, null); } } diff --git a/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java b/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java index a93f92dc..c10313e8 100755 --- a/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java +++ b/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java @@ -40,7 +40,7 @@ public interface ICloudRecordService { /** * 查询合并任务列表 */ - JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, Boolean isEnd); + JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, Boolean isEnd, String scheme); /** * 收藏视频,收藏的视频过期不会删除 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 6221c22e..f160aacc 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 @@ -144,7 +144,8 @@ public class CloudRecordServiceImpl implements ICloudRecordService { } @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(); @@ -154,7 +155,8 @@ public class CloudRecordServiceImpl implements ICloudRecordService { 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 == null ? "查询任务列表失败" : result.getString("msg")); } diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java index 6a04bd4f..b3d19908 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java @@ -177,7 +177,7 @@ public class CloudRecordController { throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到可用的流媒体"); }else { if (remoteHost == null) { - remoteHost = request.getScheme() + "://" + request.getLocalAddr() + ":" + mediaServerItem.getRecordAssistPort(); + remoteHost = request.getScheme() + "://" + mediaServerItem.getIp() + ":" + mediaServerItem.getRecordAssistPort(); } } return cloudRecordService.addTask(app, stream, mediaServerItem, startTime, endTime, callId, remoteHost, mediaServerId != null); @@ -190,6 +190,7 @@ public class CloudRecordController { @Parameter(name = "mediaServerId", description = "流媒体ID", required = false) @Parameter(name = "isEnd", description = "是否结束", required = false) public JSONArray queryTaskList( + HttpServletRequest request, @RequestParam(required = false) String app, @RequestParam(required = false) String stream, @RequestParam(required = false) String callId, @@ -200,7 +201,8 @@ public class CloudRecordController { if (ObjectUtils.isEmpty(mediaServerId)) { mediaServerId = null; } - return cloudRecordService.queryTask(app, stream, callId, taskId, mediaServerId, isEnd); + + return cloudRecordService.queryTask(app, stream, callId, taskId, mediaServerId, isEnd, request.getScheme()); } @ResponseBody