mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-07-31 15:56:30 +08:00
微信支付优化部分代码,方便扩展
This commit is contained in:
parent
7daeff2aa7
commit
bdf7f796e7
@ -163,20 +163,20 @@ public class WxPayConfig {
|
||||
}
|
||||
|
||||
public SSLContext initSSLContext() throws WxPayException {
|
||||
if (StringUtils.isBlank(mchId)) {
|
||||
if (StringUtils.isBlank(this.getMchId())) {
|
||||
throw new WxPayException("请确保商户号mchId已设置");
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(this.keyPath)) {
|
||||
if (StringUtils.isBlank(this.getKeyPath())) {
|
||||
throw new WxPayException("请确保证书文件地址keyPath已配置");
|
||||
}
|
||||
|
||||
InputStream inputStream;
|
||||
final String prefix = "classpath:";
|
||||
String fileHasProblemMsg = "证书文件【" + this.keyPath + "】有问题,请核实!";
|
||||
String fileNotFoundMsg = "证书文件【" + this.keyPath + "】不存在,请核实!";
|
||||
if (this.keyPath.startsWith(prefix)) {
|
||||
String path = StringUtils.removeFirst(this.keyPath, prefix);
|
||||
String fileHasProblemMsg = "证书文件【" + this.getKeyPath() + "】有问题,请核实!";
|
||||
String fileNotFoundMsg = "证书文件【" + this.getKeyPath() + "】不存在,请核实!";
|
||||
if (this.getKeyPath().startsWith(prefix)) {
|
||||
String path = StringUtils.removeFirst(this.getKeyPath(), prefix);
|
||||
if (!path.startsWith("/")) {
|
||||
path = "/" + path;
|
||||
}
|
||||
@ -186,7 +186,7 @@ public class WxPayConfig {
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
File file = new File(this.keyPath);
|
||||
File file = new File(this.getKeyPath());
|
||||
if (!file.exists()) {
|
||||
throw new WxPayException(fileNotFoundMsg);
|
||||
}
|
||||
@ -199,7 +199,7 @@ public class WxPayConfig {
|
||||
|
||||
try {
|
||||
KeyStore keystore = KeyStore.getInstance("PKCS12");
|
||||
char[] partnerId2charArray = mchId.toCharArray();
|
||||
char[] partnerId2charArray = this.getMchId().toCharArray();
|
||||
keystore.load(inputStream, partnerId2charArray);
|
||||
this.sslContext = SSLContexts.custom().loadKeyMaterial(keystore, partnerId2charArray).build();
|
||||
return this.sslContext;
|
||||
|
@ -53,13 +53,13 @@ public class WxPayServiceApacheHttpImpl extends WxPayServiceAbstractImpl {
|
||||
.setSocketTimeout(this.getConfig().getHttpTimeout())
|
||||
.build());
|
||||
|
||||
if (StringUtils.isNotBlank(this.config.getHttpProxyHost())
|
||||
&& this.config.getHttpProxyPort() > 0) {
|
||||
if (StringUtils.isNotBlank(this.getConfig().getHttpProxyHost())
|
||||
&& this.getConfig().getHttpProxyPort() > 0) {
|
||||
// 使用代理服务器 需要用户认证的代理服务器
|
||||
CredentialsProvider provider = new BasicCredentialsProvider();
|
||||
provider.setCredentials(
|
||||
new AuthScope(this.config.getHttpProxyHost(), this.config.getHttpProxyPort()),
|
||||
new UsernamePasswordCredentials(this.config.getHttpProxyUsername(), this.config.getHttpProxyPassword()));
|
||||
new AuthScope(this.getConfig().getHttpProxyHost(), this.getConfig().getHttpProxyPort()),
|
||||
new UsernamePasswordCredentials(this.getConfig().getHttpProxyUsername(), this.getConfig().getHttpProxyPassword()));
|
||||
httpClientBuilder.setDefaultCredentialsProvider(provider);
|
||||
}
|
||||
|
||||
|
@ -26,8 +26,8 @@ public class WxPayServiceJoddHttpImpl extends WxPayServiceAbstractImpl {
|
||||
try {
|
||||
HttpRequest request = HttpRequest
|
||||
.post(url)
|
||||
.timeout(this.config.getHttpTimeout())
|
||||
.connectionTimeout(this.config.getHttpConnectionTimeout())
|
||||
.timeout(this.getConfig().getHttpTimeout())
|
||||
.connectionTimeout(this.getConfig().getHttpConnectionTimeout())
|
||||
.bodyText(requestStr);
|
||||
|
||||
if (useKey) {
|
||||
@ -39,9 +39,9 @@ public class WxPayServiceJoddHttpImpl extends WxPayServiceAbstractImpl {
|
||||
request.withConnectionProvider(provider);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(this.config.getHttpProxyHost()) && this.config.getHttpProxyPort() > 0) {
|
||||
ProxyInfo httpProxy = new ProxyInfo(ProxyType.HTTP, this.config.getHttpProxyHost(), this.config.getHttpProxyPort(),
|
||||
this.config.getHttpProxyUsername(), this.config.getHttpProxyPassword());
|
||||
if (StringUtils.isNotBlank(this.getConfig().getHttpProxyHost()) && this.getConfig().getHttpProxyPort() > 0) {
|
||||
ProxyInfo httpProxy = new ProxyInfo(ProxyType.HTTP, this.getConfig().getHttpProxyHost(), this.getConfig().getHttpProxyPort(),
|
||||
this.getConfig().getHttpProxyUsername(), this.getConfig().getHttpProxyPassword());
|
||||
HttpConnectionProvider provider = request.connectionProvider();
|
||||
if (null == provider) {
|
||||
provider = new SocketHttpConnectionProvider();
|
||||
|
Loading…
Reference in New Issue
Block a user