Browse Source

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

master
Binary Wang 7 years ago
parent
commit
7d5d27527e
3 changed files with 17 additions and 17 deletions
  1. +8
    -8
      weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java
  2. +4
    -4
      weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceApacheHttpImpl.java
  3. +5
    -5
      weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceJoddHttpImpl.java

+ 8
- 8
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java View File

@@ -163,20 +163,20 @@ public class WxPayConfig {
} }


public SSLContext initSSLContext() throws WxPayException { public SSLContext initSSLContext() throws WxPayException {
if (StringUtils.isBlank(mchId)) {
if (StringUtils.isBlank(this.getMchId())) {
throw new WxPayException("请确保商户号mchId已设置"); throw new WxPayException("请确保商户号mchId已设置");
} }


if (StringUtils.isBlank(this.keyPath)) {
if (StringUtils.isBlank(this.getKeyPath())) {
throw new WxPayException("请确保证书文件地址keyPath已配置"); throw new WxPayException("请确保证书文件地址keyPath已配置");
} }


InputStream inputStream; InputStream inputStream;
final String prefix = "classpath:"; 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("/")) { if (!path.startsWith("/")) {
path = "/" + path; path = "/" + path;
} }
@@ -186,7 +186,7 @@ public class WxPayConfig {
} }
} else { } else {
try { try {
File file = new File(this.keyPath);
File file = new File(this.getKeyPath());
if (!file.exists()) { if (!file.exists()) {
throw new WxPayException(fileNotFoundMsg); throw new WxPayException(fileNotFoundMsg);
} }
@@ -199,7 +199,7 @@ public class WxPayConfig {


try { try {
KeyStore keystore = KeyStore.getInstance("PKCS12"); KeyStore keystore = KeyStore.getInstance("PKCS12");
char[] partnerId2charArray = mchId.toCharArray();
char[] partnerId2charArray = this.getMchId().toCharArray();
keystore.load(inputStream, partnerId2charArray); keystore.load(inputStream, partnerId2charArray);
this.sslContext = SSLContexts.custom().loadKeyMaterial(keystore, partnerId2charArray).build(); this.sslContext = SSLContexts.custom().loadKeyMaterial(keystore, partnerId2charArray).build();
return this.sslContext; return this.sslContext;


+ 4
- 4
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceApacheHttpImpl.java View File

@@ -53,13 +53,13 @@ public class WxPayServiceApacheHttpImpl extends WxPayServiceAbstractImpl {
.setSocketTimeout(this.getConfig().getHttpTimeout()) .setSocketTimeout(this.getConfig().getHttpTimeout())
.build()); .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(); CredentialsProvider provider = new BasicCredentialsProvider();
provider.setCredentials( 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); httpClientBuilder.setDefaultCredentialsProvider(provider);
} }




+ 5
- 5
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceJoddHttpImpl.java View File

@@ -26,8 +26,8 @@ public class WxPayServiceJoddHttpImpl extends WxPayServiceAbstractImpl {
try { try {
HttpRequest request = HttpRequest HttpRequest request = HttpRequest
.post(url) .post(url)
.timeout(this.config.getHttpTimeout())
.connectionTimeout(this.config.getHttpConnectionTimeout())
.timeout(this.getConfig().getHttpTimeout())
.connectionTimeout(this.getConfig().getHttpConnectionTimeout())
.bodyText(requestStr); .bodyText(requestStr);


if (useKey) { if (useKey) {
@@ -39,9 +39,9 @@ public class WxPayServiceJoddHttpImpl extends WxPayServiceAbstractImpl {
request.withConnectionProvider(provider); 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(); HttpConnectionProvider provider = request.connectionProvider();
if (null == provider) { if (null == provider) {
provider = new SocketHttpConnectionProvider(); provider = new SocketHttpConnectionProvider();


Loading…
Cancel
Save