From a8c424e49db9213e879bf6c44cebccdfddaa1808 Mon Sep 17 00:00:00 2001 From: BradyXu <brady_xu@outlook.com> Date: 星期日, 12 五月 2024 02:00:55 +0800 Subject: [PATCH] 修复sip绑定监听多网卡IP时,新增上级平台新增失败的问题,本地IP改成从配置的多IP下拉选择 --- src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java | 62 ++++++++++++++++++------------- 1 files changed, 36 insertions(+), 26 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 fd63ce6..6f6d5ea 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 @@ -2,7 +2,8 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; -import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; +import com.genersoft.iot.vmp.media.bean.MediaServer; +import com.genersoft.iot.vmp.utils.SSLSocketClientUtil; import okhttp3.*; import okhttp3.logging.HttpLoggingInterceptor; import org.jetbrains.annotations.NotNull; @@ -11,6 +12,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils; +import javax.net.ssl.X509TrustManager; import java.io.IOException; import java.net.ConnectException; import java.net.SocketTimeoutException; @@ -36,7 +38,7 @@ private OkHttpClient getClient(){ return getClient(null); } - + private OkHttpClient getClient(Integer readTimeOut){ if (client == null) { if (readTimeOut == null) { @@ -57,6 +59,10 @@ // OkHttp閫茶娣诲姞鏀旀埅鍣╨oggingInterceptor httpClientBuilder.addInterceptor(logging); } + X509TrustManager manager = SSLSocketClientUtil.getX509TrustManager(); + // 璁剧疆ssl + httpClientBuilder.sslSocketFactory(SSLSocketClientUtil.getSocketFactory(manager), manager); + httpClientBuilder.hostnameVerifier(SSLSocketClientUtil.getHostnameVerifier());//蹇界暐鏍¢獙 client = httpClientBuilder.build(); } return client; @@ -64,7 +70,7 @@ } - public JSONObject sendGet(MediaServerItem mediaServerItem, String api, Map<String, Object> param, RequestCallback callback) { + public JSONObject sendGet(MediaServer mediaServerItem, String api, Map<String, Object> param, RequestCallback callback) { OkHttpClient client = getClient(); if (mediaServerItem == null) { @@ -74,11 +80,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()){ @@ -93,6 +99,7 @@ } String url = stringBuffer.toString(); + logger.info("[璁块棶assist]锛� {}", url); Request request = new Request.Builder() .get() .url(url) @@ -148,13 +155,15 @@ return responseJSON; } - public JSONObject sendPost(MediaServerItem mediaServerItem, String api, JSONObject param, ZLMRESTfulUtils.RequestCallback callback, Integer readTimeOut) { + public JSONObject sendPost(MediaServer mediaServerItem, String url, + JSONObject param, ZLMRESTfulUtils.RequestCallback callback, + Integer readTimeOut) { OkHttpClient client = getClient(readTimeOut); if (mediaServerItem == null) { return null; } - String url = String.format("http://%s:%s/%s", mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort(), api); + logger.info("[璁块棶assist]锛� {}, 鍙傛暟锛� {}", url, param); JSONObject responseJSON = new JSONObject(); //-2鑷畾涔夋祦濯掍綋 璋冪敤閿欒鐮� responseJSON.put("code",-2); @@ -235,14 +244,14 @@ return responseJSON; } - public JSONObject getInfo(MediaServerItem mediaServerItem, RequestCallback callback){ + public JSONObject getInfo(MediaServer mediaServerItem, RequestCallback callback){ Map<String, Object> param = new HashMap<>(); return sendGet(mediaServerItem, "api/record/info",param, callback); } - public JSONObject addTask(MediaServerItem mediaServerItem, String app, String stream, String startTime, + public JSONObject addTask(MediaServer mediaServerItem, String app, String stream, String startTime, String endTime, String callId, List<String> filePathList, String remoteHost) { - + JSONObject videoTaskInfoJSON = new JSONObject(); videoTaskInfoJSON.put("app", app); videoTaskInfoJSON.put("stream", stream); @@ -253,29 +262,30 @@ if (!ObjectUtils.isEmpty(remoteHost)) { videoTaskInfoJSON.put("remoteHost", remoteHost); } - - return sendPost(mediaServerItem, "api/record/file/download/task/add", videoTaskInfoJSON, null, 30); + String urlStr = String.format("%s/api/record/file/download/task/add", remoteHost);; + return sendPost(mediaServerItem, urlStr, videoTaskInfoJSON, null, 30); } - public JSONObject queryTaskList(MediaServerItem mediaServerItem, String taskId, Boolean isEnd) { + public JSONObject queryTaskList(MediaServer 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); + } + if (!ObjectUtils.isEmpty(stream)) { + param.put("stream", stream); + } + if (!ObjectUtils.isEmpty(callId)) { + param.put("callId", callId); + } if (!ObjectUtils.isEmpty(taskId)) { param.put("taskId", taskId); } if (!ObjectUtils.isEmpty(isEnd)) { param.put("isEnd", isEnd); } - - return sendGet(mediaServerItem, "api/record/file/download/task/list", param, null); - } - - public JSONObject addCollect(MediaServerItem mediaServerItem, JSONObject jsonObject) { - return sendPost(mediaServerItem, "api/record/file/collection/add", jsonObject, null, 30); - } - - public JSONObject deleteFiles(MediaServerItem mediaServerItem, List<String> filePathList) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("filePathList", filePathList); - return sendPost(mediaServerItem, "api/record/file/delete", jsonObject, null, 15*60); + String urlStr = String.format("%s://%s:%s/api/record/file/download/task/list", + scheme, mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort());; + return sendGet(mediaServerItem, urlStr, param, null); } } -- Gitblit v1.8.0