Commit a9264a8bc04335d5d49a39841b039ba5a64d7717
1 parent
d68aebd4
修复assist使用https时无法请求的bug
Showing
4 changed files
with
18 additions
and
11 deletions
src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java
| ... | ... | @@ -78,11 +78,11 @@ public class AssistRESTfulUtils { |
| 78 | 78 | logger.warn("未启用Assist服务"); |
| 79 | 79 | return null; |
| 80 | 80 | } |
| 81 | - StringBuffer stringBuffer = new StringBuffer(); | |
| 82 | - stringBuffer.append(String.format("http://%s:%s/%s", mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort(), api)); | |
| 81 | + StringBuilder stringBuffer = new StringBuilder(); | |
| 82 | + stringBuffer.append(api); | |
| 83 | 83 | JSONObject responseJSON = null; |
| 84 | 84 | |
| 85 | - if (param != null && param.keySet().size() > 0) { | |
| 85 | + if (param != null && !param.keySet().isEmpty()) { | |
| 86 | 86 | stringBuffer.append("?"); |
| 87 | 87 | int index = 1; |
| 88 | 88 | for (String key : param.keySet()){ |
| ... | ... | @@ -97,6 +97,7 @@ public class AssistRESTfulUtils { |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | 99 | String url = stringBuffer.toString(); |
| 100 | + logger.info("[访问assist]: {}", url); | |
| 100 | 101 | Request request = new Request.Builder() |
| 101 | 102 | .get() |
| 102 | 103 | .url(url) |
| ... | ... | @@ -262,7 +263,8 @@ public class AssistRESTfulUtils { |
| 262 | 263 | return sendPost(mediaServerItem, urlStr, videoTaskInfoJSON, null, 30); |
| 263 | 264 | } |
| 264 | 265 | |
| 265 | - public JSONObject queryTaskList(MediaServerItem mediaServerItem, String app, String stream, String callId, String taskId, Boolean isEnd) { | |
| 266 | + public JSONObject queryTaskList(MediaServerItem mediaServerItem, String app, String stream, String callId, | |
| 267 | + String taskId, Boolean isEnd, String scheme) { | |
| 266 | 268 | Map<String, Object> param = new HashMap<>(); |
| 267 | 269 | if (!ObjectUtils.isEmpty(app)) { |
| 268 | 270 | param.put("app", app); |
| ... | ... | @@ -279,7 +281,8 @@ public class AssistRESTfulUtils { |
| 279 | 281 | if (!ObjectUtils.isEmpty(isEnd)) { |
| 280 | 282 | param.put("isEnd", isEnd); |
| 281 | 283 | } |
| 282 | - | |
| 283 | - return sendGet(mediaServerItem, "api/record/file/download/task/list", param, null); | |
| 284 | + String urlStr = String.format("%s://%s:%s/api/record/file/download/task/list", | |
| 285 | + scheme, mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort());; | |
| 286 | + return sendGet(mediaServerItem, urlStr, param, null); | |
| 284 | 287 | } |
| 285 | 288 | } | ... | ... |
src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java
| ... | ... | @@ -39,7 +39,7 @@ public interface ICloudRecordService { |
| 39 | 39 | /** |
| 40 | 40 | * 查询合并任务列表 |
| 41 | 41 | */ |
| 42 | - JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, Boolean isEnd); | |
| 42 | + JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, Boolean isEnd, String scheme); | |
| 43 | 43 | |
| 44 | 44 | /** |
| 45 | 45 | * 收藏视频,收藏的视频过期不会删除 | ... | ... |
src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java
| ... | ... | @@ -142,7 +142,8 @@ public class CloudRecordServiceImpl implements ICloudRecordService { |
| 142 | 142 | } |
| 143 | 143 | |
| 144 | 144 | @Override |
| 145 | - public JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, Boolean isEnd) { | |
| 145 | + public JSONArray queryTask(String app, String stream, String callId, String taskId, String mediaServerId, | |
| 146 | + Boolean isEnd, String scheme) { | |
| 146 | 147 | MediaServerItem mediaServerItem = null; |
| 147 | 148 | if (mediaServerId == null) { |
| 148 | 149 | mediaServerItem = mediaServerService.getDefaultMediaServer(); |
| ... | ... | @@ -152,7 +153,8 @@ public class CloudRecordServiceImpl implements ICloudRecordService { |
| 152 | 153 | if (mediaServerItem == null) { |
| 153 | 154 | throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到可用的流媒体"); |
| 154 | 155 | } |
| 155 | - JSONObject result = assistRESTfulUtils.queryTaskList(mediaServerItem, app, stream, callId, taskId, isEnd); | |
| 156 | + | |
| 157 | + JSONObject result = assistRESTfulUtils.queryTaskList(mediaServerItem, app, stream, callId, taskId, isEnd, scheme); | |
| 156 | 158 | if (result == null || result.getInteger("code") != 0) { |
| 157 | 159 | throw new ControllerException(ErrorCode.ERROR100.getCode(), result == null ? "查询任务列表失败" : result.getString("msg")); |
| 158 | 160 | } | ... | ... |
src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java
| ... | ... | @@ -174,7 +174,7 @@ public class CloudRecordController { |
| 174 | 174 | throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到可用的流媒体"); |
| 175 | 175 | }else { |
| 176 | 176 | if (remoteHost == null) { |
| 177 | - remoteHost = request.getScheme() + "://" + request.getLocalAddr() + ":" + mediaServerItem.getRecordAssistPort(); | |
| 177 | + remoteHost = request.getScheme() + "://" + mediaServerItem.getIp() + ":" + mediaServerItem.getRecordAssistPort(); | |
| 178 | 178 | } |
| 179 | 179 | } |
| 180 | 180 | return cloudRecordService.addTask(app, stream, mediaServerItem, startTime, endTime, callId, remoteHost, mediaServerId != null); |
| ... | ... | @@ -187,6 +187,7 @@ public class CloudRecordController { |
| 187 | 187 | @Parameter(name = "mediaServerId", description = "流媒体ID", required = false) |
| 188 | 188 | @Parameter(name = "isEnd", description = "是否结束", required = false) |
| 189 | 189 | public JSONArray queryTaskList( |
| 190 | + HttpServletRequest request, | |
| 190 | 191 | @RequestParam(required = false) String app, |
| 191 | 192 | @RequestParam(required = false) String stream, |
| 192 | 193 | @RequestParam(required = false) String callId, |
| ... | ... | @@ -197,7 +198,8 @@ public class CloudRecordController { |
| 197 | 198 | if (ObjectUtils.isEmpty(mediaServerId)) { |
| 198 | 199 | mediaServerId = null; |
| 199 | 200 | } |
| 200 | - return cloudRecordService.queryTask(app, stream, callId, taskId, mediaServerId, isEnd); | |
| 201 | + | |
| 202 | + return cloudRecordService.queryTask(app, stream, callId, taskId, mediaServerId, isEnd, request.getScheme()); | |
| 201 | 203 | } |
| 202 | 204 | |
| 203 | 205 | @ResponseBody | ... | ... |