From e084539a1fbdf8335fcaf088969add8350bbd6a3 Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期六, 22 六月 2024 11:51:44 +0800
Subject: [PATCH] 云片短信忽略SSL

---
 project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java |    2 
 project-common/src/main/java/com/project/common/sms/YPSmsApi.java                            |   11 +++
 project-common/src/main/java/com/project/common/utils/http/HttpUtils.java                    |  129 +++++++++++++++++++++++++-----------------
 project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java  |    1 
 4 files changed, 87 insertions(+), 56 deletions(-)

diff --git a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
index 2de01dd..d26563b 100644
--- a/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
+++ b/project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
@@ -72,7 +72,7 @@
         return getDataTable(list);
     }
 
-    @ApiOperation("鍒楄〃鈥斺�旀墽娉曞緟涓婃姤")
+    @ApiOperation("鍒楄〃鈥斺�旀墽娉曟墽琛屽崟")
     @GetMapping("/execute/list")
     public TableDataInfo executeList(EnforceOrderQueryBo bo)
     {
diff --git a/project-common/src/main/java/com/project/common/sms/YPSmsApi.java b/project-common/src/main/java/com/project/common/sms/YPSmsApi.java
index b3d1067..ce14141 100644
--- a/project-common/src/main/java/com/project/common/sms/YPSmsApi.java
+++ b/project-common/src/main/java/com/project/common/sms/YPSmsApi.java
@@ -1,13 +1,13 @@
 package com.project.common.sms;
 
 import com.project.common.constant.Constants;
+import com.project.common.utils.SslUtils;
 import org.apache.http.HttpEntity;
 import org.apache.http.NameValuePair;
 import org.apache.http.client.entity.UrlEncodedFormEntity;
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
 import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.util.EntityUtils;
 
@@ -15,6 +15,8 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
+import static com.project.common.utils.WxPayUtils.createIgnoreSSLHttpClient;
 
 /**
  * 鐭俊http鎺ュ彛鐨刯ava浠g爜璋冪敤绀轰緥
@@ -96,11 +98,16 @@
      */
     public static String post(String url, Map<String, String> paramsMap)
     {
-        CloseableHttpClient client = HttpClients.createDefault();
+        CloseableHttpClient client = createIgnoreSSLHttpClient();
+
         String responseText = "";
         CloseableHttpResponse response = null;
         try {
+
             HttpPost method = new HttpPost(url);
+            if(method.getURI().getPath().contains("https")){
+                SslUtils.ignoreSsl();
+            }
             if (paramsMap != null) {
                 List<NameValuePair> paramList = new ArrayList<NameValuePair>();
                 for (Map.Entry<String, String> param : paramsMap.entrySet()) {
diff --git a/project-common/src/main/java/com/project/common/utils/http/HttpUtils.java b/project-common/src/main/java/com/project/common/utils/http/HttpUtils.java
index 2f6cc4e..ba16889 100644
--- a/project-common/src/main/java/com/project/common/utils/http/HttpUtils.java
+++ b/project-common/src/main/java/com/project/common/utils/http/HttpUtils.java
@@ -24,10 +24,7 @@
 
 import javax.net.ssl.*;
 import java.io.*;
-import java.net.ConnectException;
-import java.net.SocketTimeoutException;
-import java.net.URL;
-import java.net.URLConnection;
+import java.net.*;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.security.cert.X509Certificate;
@@ -205,59 +202,85 @@
         return result.toString();
     }
 
-    public static String sendSSLPost(String url, String param)
+    public static String sendSSLPost(String httpUrl, String param)
     {
-        StringBuilder result = new StringBuilder();
-        String urlNameString = url + "?" + param;
-        try
-        {
-            log.info("sendSSLPost - {}", urlNameString);
-            SSLContext sc = SSLContext.getInstance("SSL");
-            sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom());
-            URL console = new URL(urlNameString);
-            HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
-            conn.setRequestProperty("accept", "*/*");
-            conn.setRequestProperty("connection", "Keep-Alive");
-            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
-            conn.setRequestProperty("Accept-Charset", "utf-8");
-            conn.setRequestProperty("contentType", "utf-8");
-            conn.setDoOutput(true);
-            conn.setDoInput(true);
-
-            conn.setSSLSocketFactory(sc.getSocketFactory());
-            conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
-            conn.connect();
-            InputStream is = conn.getInputStream();
-            BufferedReader br = new BufferedReader(new InputStreamReader(is));
-            String ret = "";
-            while ((ret = br.readLine()) != null)
-            {
-                if (ret != null && !"".equals(ret.trim()))
-                {
-                    result.append(new String(ret.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8));
+        HttpURLConnection connection = null;
+        InputStream is = null;
+        OutputStream os = null;
+        BufferedReader br = null;
+        String result = null;
+        try {
+            URL url = new URL(httpUrl);
+            if("https".equalsIgnoreCase(url.getProtocol())){
+                SslUtils.ignoreSsl();
+            }
+            // 閫氳繃杩滅▼url杩炴帴瀵硅薄鎵撳紑杩炴帴
+            connection = (HttpURLConnection) url.openConnection();
+            // 璁剧疆杩炴帴璇锋眰鏂瑰紡
+            connection.setRequestMethod("POST");
+            // 璁剧疆杩炴帴涓绘満鏈嶅姟鍣ㄨ秴鏃舵椂闂达細15000姣
+            connection.setConnectTimeout(15000);
+            // 璁剧疆璇诲彇涓绘満鏈嶅姟鍣ㄨ繑鍥炴暟鎹秴鏃舵椂闂达細60000姣
+            connection.setReadTimeout(60000);
+            // 榛樿鍊间负锛歠alse锛屽綋鍚戣繙绋嬫湇鍔″櫒浼犻�佹暟鎹�/鍐欐暟鎹椂锛岄渶瑕佽缃负true
+            connection.setDoOutput(true);
+            // 榛樿鍊间负锛歵rue锛屽綋鍓嶅悜杩滅▼鏈嶅姟璇诲彇鏁版嵁鏃讹紝璁剧疆涓簍rue锛岃鍙傛暟鍙湁鍙棤
+            connection.setDoInput(true);
+            // 璁剧疆浼犲叆鍙傛暟鐨勬牸寮�:璇锋眰鍙傛暟搴旇鏄� name1=value1&name2=value2 鐨勫舰寮忋��
+            connection.setRequestProperty("Content-Type", "application/json");
+            // 寤虹珛杩炴帴
+            connection.connect();
+            // 閫氳繃杩炴帴瀵硅薄鑾峰彇涓�涓緭鍑烘祦瀵硅薄
+            OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(),"UTF-8");
+            writer.write(param);
+            writer.flush();
+            // 閫氳繃杩炴帴瀵硅薄鑾峰彇涓�涓緭鍏ユ祦锛屽悜杩滅▼璇诲彇
+            if (connection.getResponseCode() == 200) {
+                is = connection.getInputStream();
+                // 瀵硅緭鍏ユ祦瀵硅薄杩涜鍖呰:charset鏍规嵁宸ヤ綔椤圭洰缁勭殑瑕佹眰鏉ヨ缃�
+                br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+                StringBuffer sbf = new StringBuffer();
+                String temp = null;
+                // 寰幆閬嶅巻涓�琛屼竴琛岃鍙栨暟鎹�
+                while ((temp = br.readLine()) != null) {
+                    sbf.append(temp);
+                    sbf.append("\r");
+                }
+                result = sbf.toString();
+            }
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        } finally {
+            // 鍏抽棴璧勬簮
+            if (null != br) {
+                try {
+                    br.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
                 }
             }
-            log.info("recv - {}", result);
-            conn.disconnect();
-            br.close();
+            if (null != os) {
+                try {
+                    os.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+            if (null != is) {
+                try {
+                    is.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+            // 鏂紑涓庤繙绋嬪湴鍧�url鐨勮繛鎺�
+            connection.disconnect();
         }
-        catch (ConnectException e)
-        {
-            log.error("璋冪敤HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e);
-        }
-        catch (SocketTimeoutException e)
-        {
-            log.error("璋冪敤HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param, e);
-        }
-        catch (IOException e)
-        {
-            log.error("璋冪敤HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e);
-        }
-        catch (Exception e)
-        {
-            log.error("璋冪敤HttpsUtil.sendSSLPost Exception, url=" + url + ",param=" + param, e);
-        }
-        return result.toString();
+        return result;
     }
 
     private static class TrustAnyTrustManager implements X509TrustManager
diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
index cc5e2a1..8f39224 100644
--- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
+++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
@@ -238,6 +238,7 @@
                 .set(StringUtils.isNotEmpty(resultBo.getRegionReason()), EnforceOrder::getRegionReason, resultBo.getRegionReason())
                 .set(StringUtils.isNotEmpty(resultBo.getRegionImgs()), EnforceOrder::getRegionImgs, resultBo.getRegionImgs())
                 .set(StringUtils.isNotEmpty(resultBo.getRegionVideos()), EnforceOrder::getRegionVideos, resultBo.getRegionVideos())
+                .set( EnforceOrder::getOrderStatus, 4)
                 .set( EnforceOrder::getExecuteTime, DateUtils.getNowDate())
         );
     }

--
Gitblit v1.9.1