记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
e6e6d73f
Commit
e6e6d73f
authored
Jul 31, 2021
by
anjiabin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微信支付增加日志
parent
10ee3c9d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
64 additions
and
3 deletions
+64
-3
PayWepayUtils.java
...ava/com/liquidnet/service/dragon/utils/PayWepayUtils.java
+64
-3
No files found.
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/utils/PayWepayUtils.java
View file @
e6e6d73f
...
@@ -2,9 +2,16 @@ package com.liquidnet.service.dragon.utils;
...
@@ -2,9 +2,16 @@ package com.liquidnet.service.dragon.utils;
import
com.alipay.api.internal.util.file.IOUtils
;
import
com.alipay.api.internal.util.file.IOUtils
;
import
com.liquidnet.commons.lang.util.MD5Utils
;
import
com.liquidnet.commons.lang.util.MD5Utils
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.config.Registry
;
import
org.apache.http.config.RegistryBuilder
;
import
org.apache.http.conn.socket.ConnectionSocketFactory
;
import
org.apache.http.conn.socket.PlainConnectionSocketFactory
;
import
org.apache.http.conn.ssl.SSLConnectionSocketFactory
;
import
org.apache.http.conn.ssl.SSLConnectionSocketFactory
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.DefaultHttpRequestRetryHandler
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
;
import
org.apache.http.ssl.SSLContexts
;
import
org.apache.http.ssl.SSLContexts
;
import
org.bouncycastle.jce.provider.BouncyCastleProvider
;
import
org.bouncycastle.jce.provider.BouncyCastleProvider
;
import
org.dom4j.Document
;
import
org.dom4j.Document
;
...
@@ -24,6 +31,9 @@ public class PayWepayUtils {
...
@@ -24,6 +31,9 @@ public class PayWepayUtils {
private
CloseableHttpClient
httpClient
;
private
CloseableHttpClient
httpClient
;
private
static
PayWepayUtils
instance
=
new
PayWepayUtils
();
private
static
PayWepayUtils
instance
=
new
PayWepayUtils
();
// 池化管理
private
static
PoolingHttpClientConnectionManager
poolConnManager
=
null
;
private
final
String
merchantId
=
"1551961491"
;
private
final
String
merchantId
=
"1551961491"
;
private
final
String
partnerKey
=
"itIuO65O9yKmemOu3S8g1S4orqvCGwXK"
;
private
final
String
partnerKey
=
"itIuO65O9yKmemOu3S8g1S4orqvCGwXK"
;
...
@@ -65,9 +75,41 @@ public class PayWepayUtils {
...
@@ -65,9 +75,41 @@ public class PayWepayUtils {
return
merchantId
;
return
merchantId
;
}
}
// public CloseableHttpClient getHttpClient() {
// try {
// if (httpClient == null) {
// InputStream certStream = PayWepayUtils.class.getClassLoader().getResourceAsStream("payCert/wepay/wepay_apiclient_cert.p12");
// byte[] certData = IOUtils.toByteArray(certStream);
// certStream.read(certData);
// certStream.close();
//
// KeyStore keyStore = KeyStore.getInstance("PKCS12");
// ByteArrayInputStream inputStream = new ByteArrayInputStream(certData);
// try {
// keyStore.load(inputStream, merchantId.toCharArray());
// } finally {
// inputStream.close();
// }
// SSLContext sslcontext = SSLContexts.custom()
// .loadKeyMaterial(keyStore, merchantId.toCharArray())
// .build();
// SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
// sslcontext,
// SSLConnectionSocketFactory.getDefaultHostnameVerifier());
// httpClient = HttpClients.custom()
// .setSSLSocketFactory(sslsf)
// .build();
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// return httpClient;
// }
public
CloseableHttpClient
getHttpClient
()
{
public
CloseableHttpClient
getHttpClient
()
{
try
{
try
{
if
(
httpClient
==
null
)
{
if
(
httpClient
==
null
)
{
InputStream
certStream
=
PayWepayUtils
.
class
.
getClassLoader
().
getResourceAsStream
(
"payCert/wepay/wepay_apiclient_cert.p12"
);
InputStream
certStream
=
PayWepayUtils
.
class
.
getClassLoader
().
getResourceAsStream
(
"payCert/wepay/wepay_apiclient_cert.p12"
);
byte
[]
certData
=
IOUtils
.
toByteArray
(
certStream
);
byte
[]
certData
=
IOUtils
.
toByteArray
(
certStream
);
certStream
.
read
(
certData
);
certStream
.
read
(
certData
);
...
@@ -86,9 +128,17 @@ public class PayWepayUtils {
...
@@ -86,9 +128,17 @@ public class PayWepayUtils {
SSLConnectionSocketFactory
sslsf
=
new
SSLConnectionSocketFactory
(
SSLConnectionSocketFactory
sslsf
=
new
SSLConnectionSocketFactory
(
sslcontext
,
sslcontext
,
SSLConnectionSocketFactory
.
getDefaultHostnameVerifier
());
SSLConnectionSocketFactory
.
getDefaultHostnameVerifier
());
httpClient
=
HttpClients
.
custom
()
.
setSSLSocketFactory
(
sslsf
)
// 配置同时支持 HTTP 和 HTPPS
.
build
();
Registry
<
ConnectionSocketFactory
>
socketFactoryRegistry
=
RegistryBuilder
.<
ConnectionSocketFactory
>
create
().
register
(
"http"
,
PlainConnectionSocketFactory
.
getSocketFactory
()).
register
(
"https"
,
sslsf
).
build
();
// 初始化连接管理器
poolConnManager
=
new
PoolingHttpClientConnectionManager
(
socketFactoryRegistry
);
poolConnManager
.
setMaxTotal
(
4000
);
// 同时最多连接数
// 设置最大路由
poolConnManager
.
setDefaultMaxPerRoute
(
2000
);
// 初始化httpClient
httpClient
=
getConnection
();
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
@@ -96,6 +146,17 @@ public class PayWepayUtils {
...
@@ -96,6 +146,17 @@ public class PayWepayUtils {
return
httpClient
;
return
httpClient
;
}
}
public
static
CloseableHttpClient
getConnection
()
{
RequestConfig
config
=
RequestConfig
.
custom
().
setConnectTimeout
(
5000
).
setConnectionRequestTimeout
(
5000
).
setSocketTimeout
(
5000
).
build
();
CloseableHttpClient
httpClient
=
HttpClients
.
custom
()
// 设置连接池管理
.
setConnectionManager
(
poolConnManager
)
.
setDefaultRequestConfig
(
config
)
// 设置重试次数
.
setRetryHandler
(
new
DefaultHttpRequestRetryHandler
(
2
,
false
)).
build
();
return
httpClient
;
}
//生成随机字符串nonce_str
//生成随机字符串nonce_str
public
String
getNonceStr
()
{
public
String
getNonceStr
()
{
String
base
=
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
;
String
base
=
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment