From 81ef7d6574713bfb7872bbc32050b46134b37afe Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 06 十一月 2024 14:19:58 +0800 Subject: [PATCH] 11.6 --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/vx/HttpUtil.java | 390 +++++++++++++++++++++++++++--------------------------- 1 files changed, 195 insertions(+), 195 deletions(-) diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/vx/HttpUtil.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/vx/HttpUtil.java index 1130bd6..4388858 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/vx/HttpUtil.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/vx/HttpUtil.java @@ -1,195 +1,195 @@ -package com.ruoyi.admin.utils.vx; - -import lombok.extern.slf4j.Slf4j; -import org.apache.http.HttpEntity; -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.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; - -import java.io.IOException; - -import static com.wechat.pay.contrib.apache.httpclient.constant.WechatPayHttpHeaders.WECHAT_PAY_SERIAL; -import static org.apache.http.HttpHeaders.ACCEPT; -import static org.apache.http.HttpHeaders.CONTENT_TYPE; -import static org.apache.http.entity.ContentType.APPLICATION_JSON; - - -/** - * 微信支付专用类 请求操作方法 - * - * @author hjl - */ -@Slf4j -public class HttpUtil { - - /** - * 发起批量转账API 批量转账到零钱 - * - * @param requestUrl 请求路径 - * @param requestJson 组合参数 - * @param wechatPayserialNo 商户证书序列号 - * @param privatekeypath 商户私钥证书路径 - */ - public static String postTransBatRequest( - String requestUrl, - String requestJson, - String wechatPayserialNo, - String mchId, - String privatekeypath, String url) { - CloseableHttpResponse response; - HttpEntity entity; - CloseableHttpClient httpClient = null; - try { - HttpPost httpPost = createHttpPost(requestUrl, requestJson, wechatPayserialNo, mchId, privatekeypath, url); - httpClient = HttpClients.createDefault(); - //发起转账请求 - response = httpClient.execute(httpPost); - log.info("response:{}", response); - //获取返回的数据 - entity = response.getEntity(); - log.info("-----getHeaders.Request-ID:" + response.getHeaders("Request-ID")); - return EntityUtils.toString(entity); - } catch (Exception e) { - e.printStackTrace(); - } finally { - // 关闭流 - try { - if (httpClient != null) { - httpClient.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - return null; - } - - - /** - * 账单查询 - * - * @param requestUrl 请求完整地址 - * @param wechatPayserialNo 商户证书序列号 - * @param privatekeypath 商户私钥证书路径 - */ - public static String getTransBatRequest( - String requestUrl, - String wechatPayserialNo, - String mchId, - String privatekeypath, String url) { - CloseableHttpResponse response; - HttpEntity entity; - CloseableHttpClient httpClient = null; - try { - HttpGet httpPost = createHttpGet(requestUrl, wechatPayserialNo, mchId, privatekeypath, url); - httpClient = HttpClients.createDefault(); - //发起转账请求 - response = httpClient.execute(httpPost); - log.info("response:{}", response); - //获取返回的数据 - entity = response.getEntity(); - log.info("-----getHeaders.Request-ID:" + response.getHeaders("Request-ID")); - return EntityUtils.toString(entity); - } catch (Exception e) { - e.printStackTrace(); - } finally { - // 关闭流 - try { - if (httpClient != null) { - httpClient.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - return null; - } - - /** - * @param requestUrl 请求完整地址 - * @param requestJson 请求参数 - * @param wechatPayserialNo 支付证书序列号 - * @param mchId 商户号 - * @param privatekeypath 私钥路径 - * @param servletPath 相对路径 - */ - private static HttpPost createHttpPost(String requestUrl, - String requestJson, - String wechatPayserialNo, - String mchId, - String privatekeypath, String servletPath) { - //商户私钥证书 - HttpPost httpPost = new HttpPost(requestUrl); - // NOTE: 建议指定charset=utf-8。低于4.4.6版本的HttpCore,不能正确的设置字符集,可能导致签名错误 - httpPost.addHeader(ACCEPT, APPLICATION_JSON.toString()); - httpPost.addHeader(CONTENT_TYPE, APPLICATION_JSON.toString()); - //"55E551E614BAA5A3EA38AE03849A76D8C7DA735A"); - httpPost.addHeader(WECHAT_PAY_SERIAL, wechatPayserialNo); - - //-------------------------核心认证 start----------------------------------------------------------------- - String strToken = null; - try { - log.info("requestJson:{}", requestJson); - strToken = WechatPayV3Util.getToken("POST", - servletPath, - requestJson, mchId, wechatPayserialNo, privatekeypath); - } catch (Exception e) { - log.error("createHttpPost error:", e); - e.printStackTrace(); - } - StringEntity reqEntity = new StringEntity(requestJson, APPLICATION_JSON); - log.info("token " + strToken); - // 添加认证信息 - httpPost.addHeader("Authorization", - "WECHATPAY2-SHA256-RSA2048" + " " - + strToken); - //---------------------------核心认证 end--------------------------------------------------------------- - httpPost.setEntity(reqEntity); - return httpPost; - } - - /** - * 创建get 请求 - * - * @param requestUrl 请求完整地址 - * @param wechatPayserialNo 支付证书序列号 - * @param mchId 商户号 - * @param privatekeypath 私钥路径 - * @param servletPath 相对路径 请求地址上如果有参数 则此处需要带上参数 - * @return HttpGet - */ - private static HttpGet createHttpGet(String requestUrl, - String wechatPayserialNo, - String mchId, - String privatekeypath, String servletPath) { - //商户私钥证书 - HttpGet httpGet = new HttpGet(requestUrl); - // NOTE: 建议指定charset=utf-8。低于4.4.6版本的HttpCore,不能正确的设置字符集,可能导致签名错误 - httpGet.addHeader("Content-Type", "application/json"); - httpGet.addHeader("Accept", "application/json"); - //"55E551E614BAA5A3EA38AE03849A76D8C7DA735A"); - httpGet.addHeader("Wechatpay-Serial", wechatPayserialNo); - //-------------------------核心认证 start----------------------------------------------------------------- - String strToken = null; - try { - strToken = WechatPayV3Util.getToken("GET", - servletPath, - "", mchId, wechatPayserialNo, privatekeypath); - } catch (Exception e) { - log.error("createHttpGet error:", e); - e.printStackTrace(); - } - - log.info("token " + strToken); - // 添加认证信息 - httpGet.addHeader("Authorization", - "WECHATPAY2-SHA256-RSA2048" + " " - + strToken); - //---------------------------核心认证 end--------------------------------------------------------------- - return httpGet; - } -} \ No newline at end of file +//package com.ruoyi.admin.utils.vx; +// +//import lombok.extern.slf4j.Slf4j; +//import org.apache.http.HttpEntity; +//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.entity.StringEntity; +//import org.apache.http.impl.client.CloseableHttpClient; +//import org.apache.http.impl.client.HttpClients; +//import org.apache.http.util.EntityUtils; +// +//import java.io.IOException; +// +//import static com.wechat.pay.contrib.apache.httpclient.constant.WechatPayHttpHeaders.WECHAT_PAY_SERIAL; +//import static org.apache.http.HttpHeaders.ACCEPT; +//import static org.apache.http.HttpHeaders.CONTENT_TYPE; +//import static org.apache.http.entity.ContentType.APPLICATION_JSON; +// +// +///** +// * 微信支付专用类 请求操作方法 +// * +// * @author hjl +// */ +//@Slf4j +//public class HttpUtil { +// +// /** +// * 发起批量转账API 批量转账到零钱 +// * +// * @param requestUrl 请求路径 +// * @param requestJson 组合参数 +// * @param wechatPayserialNo 商户证书序列号 +// * @param privatekeypath 商户私钥证书路径 +// */ +// public static String postTransBatRequest( +// String requestUrl, +// String requestJson, +// String wechatPayserialNo, +// String mchId, +// String privatekeypath, String url) { +// CloseableHttpResponse response; +// HttpEntity entity; +// CloseableHttpClient httpClient = null; +// try { +// HttpPost httpPost = createHttpPost(requestUrl, requestJson, wechatPayserialNo, mchId, privatekeypath, url); +// httpClient = HttpClients.createDefault(); +// //发起转账请求 +// response = httpClient.execute(httpPost); +// log.info("response:{}", response); +// //获取返回的数据 +// entity = response.getEntity(); +// log.info("-----getHeaders.Request-ID:" + response.getHeaders("Request-ID")); +// return EntityUtils.toString(entity); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// // 关闭流 +// try { +// if (httpClient != null) { +// httpClient.close(); +// } +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// return null; +// } +// +// +// /** +// * 账单查询 +// * +// * @param requestUrl 请求完整地址 +// * @param wechatPayserialNo 商户证书序列号 +// * @param privatekeypath 商户私钥证书路径 +// */ +// public static String getTransBatRequest( +// String requestUrl, +// String wechatPayserialNo, +// String mchId, +// String privatekeypath, String url) { +// CloseableHttpResponse response; +// HttpEntity entity; +// CloseableHttpClient httpClient = null; +// try { +// HttpGet httpPost = createHttpGet(requestUrl, wechatPayserialNo, mchId, privatekeypath, url); +// httpClient = HttpClients.createDefault(); +// //发起转账请求 +// response = httpClient.execute(httpPost); +// log.info("response:{}", response); +// //获取返回的数据 +// entity = response.getEntity(); +// log.info("-----getHeaders.Request-ID:" + response.getHeaders("Request-ID")); +// return EntityUtils.toString(entity); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// // 关闭流 +// try { +// if (httpClient != null) { +// httpClient.close(); +// } +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// return null; +// } +// +// /** +// * @param requestUrl 请求完整地址 +// * @param requestJson 请求参数 +// * @param wechatPayserialNo 支付证书序列号 +// * @param mchId 商户号 +// * @param privatekeypath 私钥路径 +// * @param servletPath 相对路径 +// */ +// private static HttpPost createHttpPost(String requestUrl, +// String requestJson, +// String wechatPayserialNo, +// String mchId, +// String privatekeypath, String servletPath) { +// //商户私钥证书 +// HttpPost httpPost = new HttpPost(requestUrl); +// // NOTE: 建议指定charset=utf-8。低于4.4.6版本的HttpCore,不能正确的设置字符集,可能导致签名错误 +// httpPost.addHeader(ACCEPT, APPLICATION_JSON.toString()); +// httpPost.addHeader(CONTENT_TYPE, APPLICATION_JSON.toString()); +// //"55E551E614BAA5A3EA38AE03849A76D8C7DA735A"); +// httpPost.addHeader(WECHAT_PAY_SERIAL, wechatPayserialNo); +// +// //-------------------------核心认证 start----------------------------------------------------------------- +// String strToken = null; +// try { +// log.info("requestJson:{}", requestJson); +// strToken = WechatPayV3Util.getToken("POST", +// servletPath, +// requestJson, mchId, wechatPayserialNo, privatekeypath); +// } catch (Exception e) { +// log.error("createHttpPost error:", e); +// e.printStackTrace(); +// } +// StringEntity reqEntity = new StringEntity(requestJson, APPLICATION_JSON); +// log.info("token " + strToken); +// // 添加认证信息 +// httpPost.addHeader("Authorization", +// "WECHATPAY2-SHA256-RSA2048" + " " +// + strToken); +// //---------------------------核心认证 end--------------------------------------------------------------- +// httpPost.setEntity(reqEntity); +// return httpPost; +// } +// +// /** +// * 创建get 请求 +// * +// * @param requestUrl 请求完整地址 +// * @param wechatPayserialNo 支付证书序列号 +// * @param mchId 商户号 +// * @param privatekeypath 私钥路径 +// * @param servletPath 相对路径 请求地址上如果有参数 则此处需要带上参数 +// * @return HttpGet +// */ +// private static HttpGet createHttpGet(String requestUrl, +// String wechatPayserialNo, +// String mchId, +// String privatekeypath, String servletPath) { +// //商户私钥证书 +// HttpGet httpGet = new HttpGet(requestUrl); +// // NOTE: 建议指定charset=utf-8。低于4.4.6版本的HttpCore,不能正确的设置字符集,可能导致签名错误 +// httpGet.addHeader("Content-Type", "application/json"); +// httpGet.addHeader("Accept", "application/json"); +// //"55E551E614BAA5A3EA38AE03849A76D8C7DA735A"); +// httpGet.addHeader("Wechatpay-Serial", wechatPayserialNo); +// //-------------------------核心认证 start----------------------------------------------------------------- +// String strToken = null; +// try { +// strToken = WechatPayV3Util.getToken("GET", +// servletPath, +// "", mchId, wechatPayserialNo, privatekeypath); +// } catch (Exception e) { +// log.error("createHttpGet error:", e); +// e.printStackTrace(); +// } +// +// log.info("token " + strToken); +// // 添加认证信息 +// httpGet.addHeader("Authorization", +// "WECHATPAY2-SHA256-RSA2048" + " " +// + strToken); +// //---------------------------核心认证 end--------------------------------------------------------------- +// return httpGet; +// } +//} \ No newline at end of file -- Gitblit v1.7.1