From a9264a8bc04335d5d49a39841b039ba5a64d7717 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 22 一月 2024 16:34:58 +0800
Subject: [PATCH] 修复assist使用https时无法请求的bug
---
src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java | 6 ++++--
src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java | 6 ++++--
src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java | 2 +-
src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java | 15 +++++++++------
4 files changed, 18 insertions(+), 11 deletions(-)
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 a86aa0e..c5be487 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 @@
logger.warn("鏈惎鐢ˋssist鏈嶅姟");
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 @@
}
String url = stringBuffer.toString();
+ logger.info("[璁块棶assist]锛� {}", url);
Request request = new Request.Builder()
.get()
.url(url)
@@ -262,7 +263,8 @@
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<String, Object> param = new HashMap<>();
if (!ObjectUtils.isEmpty(app)) {
param.put("app", app);
@@ -279,7 +281,8 @@
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 cb195ec..b416f01 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java
@@ -39,7 +39,7 @@
/**
* 鏌ヨ鍚堝苟浠诲姟鍒楄〃
*/
- 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 8e062f6..79ed65b 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
@@ -142,7 +142,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();
@@ -152,7 +153,8 @@
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 a358b2c..6f5f5fe 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
@@ -174,7 +174,7 @@
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);
@@ -187,6 +187,7 @@
@Parameter(name = "mediaServerId", description = "娴佸獟浣揑D", 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,
@@ -197,7 +198,8 @@
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
--
Gitblit v1.8.0