微信支付优化部分代码,方便扩展

This commit is contained in:
Binary Wang 2017-08-24 16:29:33 +08:00 committed by Binary Wang
parent 7daeff2aa7
commit bdf7f796e7
3 changed files with 17 additions and 17 deletions

View File

@ -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;

View File

@ -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);
}

View File

@ -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();