From f2f691b017381b01c4529e2c647cdc6bd566e068 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 26 六月 2025 13:59:16 +0800
Subject: [PATCH] bug修改

---
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java |    1 
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                             |    2 +
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java                        |    8 +++
 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HttpClientUtil.java                      |   78 ++++++++++++++++++++++++++++++++++++++-
 4 files changed, 86 insertions(+), 3 deletions(-)

diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 08a409e..f15375b 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -988,9 +988,11 @@
                     list = orderTaxiService.queryCoupon(orderId, uid, pageNum, size);
                     break;
                 case 3:
+                    System.err.println("跨城");
                     list = orderCrossCityService.queryCoupon(orderId, uid, pageNum, size);
                     break;
             }
+            System.err.println("跨城"+CouponWarpper.getCouponWarppers(list));
             return ResultUtil.success(CouponWarpper.getCouponWarppers(list));
         }catch (Exception e){
             e.printStackTrace();
diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index e88c6e3..0a1cbd7 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -243,6 +243,7 @@
         List<Map<String, Object>> list = userCouponRecordService.queryCoupon(uid, orderCrossCity.getCompanyId(), 1, 3, orderCrossCity.getOrderMoney(), pageNum, size);
         List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(uid, orderCrossCity.getCompanyId(), 1, 0, orderCrossCity.getOrderMoney(), pageNum, size);
         list.addAll(list1);
+        System.err.println(list);
         return list;
     }
 
diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HttpClientUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HttpClientUtil.java
index c30ad53..f74325c 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HttpClientUtil.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/HttpClientUtil.java
@@ -7,16 +7,23 @@
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
 import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.ssl.SSLContexts;
 import org.apache.http.util.EntityUtils;
 import org.springframework.stereotype.Component;
 
+import javax.net.ssl.SSLContext;
+import java.io.File;
+import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.nio.charset.Charset;
+import java.security.KeyStore;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
@@ -235,8 +242,75 @@
         return null;
     }
 
-
-
+    /**
+     * 请求https发送XML请求
+     * @param url           接口路径
+     * @param xml           内容
+     * @param header        请求头
+     * @param certPassword      证书密码
+     * @param certPath      证书路径
+     * @param certType      证书类型
+     * @return
+     * @throws Exception
+     */
+    public String pushHttpsRequsetXml(String url, String xml, Map<String, String> header, String certPassword, String certPath, String certType) throws Exception{
+        HttpPost httpPost = new HttpPost(url);
+        for(String key : header.keySet()){
+            httpPost.setHeader(key, header.get(key));
+        }
+        httpPost.setHeader("Content-Type", "application/xml");
+        try {
+            httpPost.setEntity(new StringEntity(xml, "UTF-8"));
+            this.getHttpCline();
+            this.initCert(certPassword, certPath, certType);
+            httpResponse = this.httpClient.execute(httpPost);
+            String content = null;
+            if(httpResponse.getStatusLine().getStatusCode() == 200){
+                try {
+                    content = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
+                } catch (IOException e) {
+                    e.printStackTrace();
+                    this.close();
+                }
+            }else{
+                try {
+                    content = "返回状态码:" + httpResponse.getStatusLine() + "。" + EntityUtils.toString(httpResponse.getEntity());
+                } catch (IOException e) {
+                    e.printStackTrace();
+                    this.close();
+                }
+            }
+            this.close();
+            return content;
+        } catch (IOException e) {
+            e.printStackTrace();
+            this.close();
+        }
+        return null;
+    }
+    /**
+     * 初始化https对象(带证书)
+     * @param key       证书密码
+     * @param certPath  证书路径
+     * @param certType  证书类型
+     * @throws Exception
+     */
+    private void initCert(String key, String certPath, String certType) throws Exception {
+        KeyStore keyStore = KeyStore.getInstance(certType);
+//        ClassPathResource cp = new ClassPathResource(certPath);
+        InputStream inputStream = new FileInputStream(new File(certPath));
+//        InputStream instream = cp.getInputStream();
+        try {
+            keyStore.load(inputStream, key.toCharArray());
+        } finally {
+            inputStream.close();
+        }
+        SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore, key.toCharArray()).build();
+        SSLConnectionSocketFactory sslsf =
+                new SSLConnectionSocketFactory(sslcontext, new String[] {"TLSv1"}, null,
+                        SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
+        this.httpClient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
+    }
     /**
      * 关闭资源
      */
diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java
index 82b0efe..4191d9e 100644
--- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java
+++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java
@@ -526,7 +526,13 @@
         xmlString.append("</xml>");
 
         Map<String, String> map1 = null;
-        String body1 = httpClientUtil.pushHttpRequsetXml(url, xmlString.toString(), new HashMap<>());
+        String body1 = null;
+        try {
+            String certPath = "D:\\xianning\\apiclient_cert.p12";
+            body1 = httpClientUtil.pushHttpsRequsetXml(url, xmlString.toString(), new HashMap<>(), "1680621323", certPath, "PKCS12");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         System.err.println("退款返回信息========"+body1);
         //将结果xml解析成map
         body1 = body1.replaceAll("<!\\[CDATA\\[","");

--
Gitblit v1.7.1