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 |   40 +++++++++++++++++++++++-----------------
 1 files changed, 23 insertions(+), 17 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..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,9 +2,8 @@
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
-import com.genersoft.iot.vmp.conf.exception.ControllerException;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
-import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
+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;
@@ -13,11 +12,10 @@
 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.MalformedURLException;
 import java.net.SocketTimeoutException;
-import java.net.URL;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -40,7 +38,7 @@
     private OkHttpClient getClient(){
         return getClient(null);
     }
-    
+
     private OkHttpClient getClient(Integer readTimeOut){
         if (client == null) {
             if (readTimeOut == null) {
@@ -61,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;
@@ -68,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) {
@@ -78,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()){
@@ -97,6 +99,7 @@
         }
 
         String url = stringBuffer.toString();
+        logger.info("[璁块棶assist]锛� {}", url);
         Request request = new Request.Builder()
                 .get()
                 .url(url)
@@ -152,7 +155,7 @@
         return responseJSON;
     }
 
-    public JSONObject sendPost(MediaServerItem mediaServerItem, String url,
+    public JSONObject sendPost(MediaServer mediaServerItem, String url,
                                JSONObject param, ZLMRESTfulUtils.RequestCallback callback,
                                Integer readTimeOut) {
         OkHttpClient client = getClient(readTimeOut);
@@ -160,6 +163,7 @@
         if (mediaServerItem == null) {
             return null;
         }
+        logger.info("[璁块棶assist]锛� {}, 鍙傛暟锛� {}", url, param);
         JSONObject responseJSON = new JSONObject();
         //-2鑷畾涔夋祦濯掍綋 璋冪敤閿欒鐮�
         responseJSON.put("code",-2);
@@ -240,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);
@@ -262,7 +266,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(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);
@@ -279,7 +284,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);
     }
 }

--
Gitblit v1.8.0