Skip to content

Commit 71f97c0

Browse files
committed
简化代码
1 parent adf3685 commit 71f97c0

File tree

3 files changed

+96
-198
lines changed

3 files changed

+96
-198
lines changed
Lines changed: 40 additions & 179 deletions
Original file line numberDiff line numberDiff line change
@@ -1,181 +1,95 @@
11
package com.github.binarywang.wxpay.config;
22

3-
import com.github.binarywang.wxpay.exception.WxPayException;
4-
import org.apache.commons.io.IOUtils;
5-
import org.apache.commons.lang3.StringUtils;
6-
import org.apache.http.ssl.SSLContexts;
7-
8-
import javax.net.ssl.SSLContext;
93
import java.io.File;
104
import java.io.FileInputStream;
115
import java.io.IOException;
126
import java.io.InputStream;
137
import java.security.KeyStore;
8+
import javax.net.ssl.SSLContext;
9+
10+
import org.apache.commons.io.IOUtils;
11+
import org.apache.commons.lang3.StringUtils;
12+
import org.apache.http.ssl.SSLContexts;
13+
14+
import com.github.binarywang.wxpay.exception.WxPayException;
15+
import lombok.Data;
1416

1517
/**
1618
* 微信支付配置
1719
*
1820
* @author Binary Wang (https://github.com/binarywang)
1921
*/
22+
@Data
2023
public class WxPayConfig {
2124

2225
/**
23-
* http请求连接超时时间
26+
* http请求连接超时时间.
2427
*/
2528
private int httpConnectionTimeout = 5000;
2629

2730
/**
28-
* http请求数据读取等待时间
31+
* http请求数据读取等待时间.
2932
*/
3033
private int httpTimeout = 10000;
3134

32-
private String appId;
33-
private String subAppId;
34-
private String mchId;
35-
private String mchKey;
36-
private String subMchId;
37-
private String notifyUrl;
38-
private String tradeType;
39-
private String signType;
40-
private SSLContext sslContext;
41-
private String keyPath;
42-
private boolean useSandboxEnv = false;
43-
private String httpProxyHost;
44-
private Integer httpProxyPort;
45-
private String httpProxyUsername;
46-
private String httpProxyPassword;
47-
48-
public String getKeyPath() {
49-
return keyPath;
50-
}
51-
52-
/**
53-
* 设置证书
54-
*
55-
* @param keyPath apiclient_cert.p12的文件的绝对路径
56-
*/
57-
public void setKeyPath(String keyPath) {
58-
this.keyPath = keyPath;
59-
}
60-
6135
/**
62-
* 商户号
36+
* 公众号appid.
6337
*/
64-
public String getMchId() {
65-
return this.mchId;
66-
}
67-
68-
public void setMchId(String mchId) {
69-
this.mchId = mchId;
70-
}
71-
38+
private String appId;
7239
/**
73-
* 商户密钥
40+
* 服务商模式下的子商户公众账号ID.
7441
*/
75-
public String getMchKey() {
76-
return this.mchKey;
77-
}
78-
79-
public void setMchKey(String mchKey) {
80-
this.mchKey = mchKey;
81-
}
82-
42+
private String subAppId;
8343
/**
84-
* 公众号appid
44+
* 商户号.
8545
*/
86-
public String getAppId() {
87-
return this.appId;
88-
}
89-
90-
public void setAppId(String appId) {
91-
this.appId = appId;
92-
}
93-
46+
private String mchId;
9447
/**
95-
* 服务商模式下的子商户公众账号ID
48+
* 商户密钥.
9649
*/
97-
public String getSubAppId() {
98-
return this.subAppId;
99-
}
100-
101-
public void setSubAppId(String subAppId) {
102-
this.subAppId = subAppId;
103-
}
104-
50+
private String mchKey;
10551
/**
106-
* 服务商模式下的子商户号
52+
* 服务商模式下的子商户号.
10753
*/
108-
public String getSubMchId() {
109-
return this.subMchId;
110-
}
111-
112-
public void setSubMchId(String subMchId) {
113-
this.subMchId = subMchId;
114-
}
115-
54+
private String subMchId;
11655
/**
117-
* 微信支付异步回掉地址,通知url必须为直接可访问的url,不能携带参数
56+
* 微信支付异步回掉地址,通知url必须为直接可访问的url,不能携带参数.
11857
*/
119-
public String getNotifyUrl() {
120-
return this.notifyUrl;
121-
}
122-
123-
public void setNotifyUrl(String notifyUrl) {
124-
this.notifyUrl = notifyUrl;
125-
}
126-
58+
private String notifyUrl;
12759
/**
128-
* 交易类型
60+
* 交易类型.
12961
* <pre>
13062
* JSAPI--公众号支付
13163
* NATIVE--原生扫码支付
13264
* APP--app支付
13365
* </pre>
13466
*/
135-
public String getTradeType() {
136-
return this.tradeType;
137-
}
138-
139-
public void setTradeType(String tradeType) {
140-
this.tradeType = tradeType;
141-
}
142-
67+
private String tradeType;
14368
/**
144-
* 签名方式
69+
* 签名方式.
14570
* 有两种HMAC_SHA256 和MD5
71+
*
14672
* @see com.github.binarywang.wxpay.constant.WxPayConstants.SignType
14773
*/
148-
public String getSignType() {
149-
return this.signType;
150-
}
151-
152-
public void setSignType(String signType) {
153-
this.signType = signType;
154-
}
155-
156-
public SSLContext getSslContext() {
157-
return this.sslContext;
158-
}
159-
160-
public void setSslContext(SSLContext sslContext) {
161-
this.sslContext = sslContext;
162-
}
163-
74+
private String signType;
75+
private SSLContext sslContext;
16476
/**
165-
* 微信支付是否使用仿真测试环境
77+
* 证书apiclient_cert.p12的文件的绝对路径.
78+
*/
79+
private String keyPath;
80+
/**
81+
* 微信支付是否使用仿真测试环境.
16682
* 默认不使用
16783
*/
168-
public boolean useSandbox() {
169-
return this.useSandboxEnv;
170-
}
84+
private boolean useSandboxEnv = false;
85+
private String httpProxyHost;
86+
private Integer httpProxyPort;
87+
private String httpProxyUsername;
88+
private String httpProxyPassword;
17189

17290
/**
173-
* 设置是否使用沙箱仿真测试环境
91+
* 初始化ssl.
17492
*/
175-
public void setUseSandboxEnv(boolean useSandboxEnv) {
176-
this.useSandboxEnv = useSandboxEnv;
177-
}
178-
17993
public SSLContext initSSLContext() throws WxPayException {
18094
if (StringUtils.isBlank(this.getMchId())) {
18195
throw new WxPayException("请确保商户号mchId已设置");
@@ -224,57 +138,4 @@ public SSLContext initSSLContext() throws WxPayException {
224138
}
225139
}
226140

227-
/**
228-
* http请求连接超时时间
229-
*/
230-
public int getHttpConnectionTimeout() {
231-
return this.httpConnectionTimeout;
232-
}
233-
234-
public void setHttpConnectionTimeout(int httpConnectionTimeout) {
235-
this.httpConnectionTimeout = httpConnectionTimeout;
236-
}
237-
238-
/**
239-
* http请求数据读取等待时间
240-
*/
241-
public int getHttpTimeout() {
242-
return this.httpTimeout;
243-
}
244-
245-
public void setHttpTimeout(int httpTimeout) {
246-
this.httpTimeout = httpTimeout;
247-
}
248-
249-
public String getHttpProxyHost() {
250-
return httpProxyHost;
251-
}
252-
253-
public void setHttpProxyHost(String httpProxyHost) {
254-
this.httpProxyHost = httpProxyHost;
255-
}
256-
257-
public Integer getHttpProxyPort() {
258-
return httpProxyPort;
259-
}
260-
261-
public void setHttpProxyPort(Integer httpProxyPort) {
262-
this.httpProxyPort = httpProxyPort;
263-
}
264-
265-
public String getHttpProxyUsername() {
266-
return httpProxyUsername;
267-
}
268-
269-
public void setHttpProxyUsername(String httpProxyUsername) {
270-
this.httpProxyUsername = httpProxyUsername;
271-
}
272-
273-
public String getHttpProxyPassword() {
274-
return httpProxyPassword;
275-
}
276-
277-
public void setHttpProxyPassword(String httpProxyPassword) {
278-
this.httpProxyPassword = httpProxyPassword;
279-
}
280141
}

weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/BaseWxPayServiceImpl.java

Lines changed: 54 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,68 @@
11
package com.github.binarywang.wxpay.service.impl;
22

3+
import java.io.File;
4+
import java.nio.charset.StandardCharsets;
5+
import java.nio.file.Files;
6+
import java.nio.file.Path;
7+
import java.nio.file.Paths;
8+
import java.util.Date;
9+
import java.util.HashMap;
10+
import java.util.LinkedList;
11+
import java.util.List;
12+
import java.util.Map;
13+
import java.util.zip.ZipException;
14+
15+
import org.apache.commons.lang3.StringUtils;
16+
import org.slf4j.Logger;
17+
import org.slf4j.LoggerFactory;
18+
319
import com.github.binarywang.utils.qrcode.QrcodeUtils;
420
import com.github.binarywang.wxpay.bean.WxPayApiData;
5-
import com.github.binarywang.wxpay.bean.coupon.*;
21+
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponInfoQueryRequest;
22+
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponInfoQueryResult;
23+
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponSendRequest;
24+
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponSendResult;
25+
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponStockQueryRequest;
26+
import com.github.binarywang.wxpay.bean.coupon.WxPayCouponStockQueryResult;
627
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
728
import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult;
829
import com.github.binarywang.wxpay.bean.notify.WxScanPayNotifyResult;
930
import com.github.binarywang.wxpay.bean.order.WxPayAppOrderResult;
1031
import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
1132
import com.github.binarywang.wxpay.bean.order.WxPayMwebOrderResult;
1233
import com.github.binarywang.wxpay.bean.order.WxPayNativeOrderResult;
13-
import com.github.binarywang.wxpay.bean.request.*;
14-
import com.github.binarywang.wxpay.bean.result.*;
34+
import com.github.binarywang.wxpay.bean.request.WxPayAuthcode2OpenidRequest;
35+
import com.github.binarywang.wxpay.bean.request.WxPayDefaultRequest;
36+
import com.github.binarywang.wxpay.bean.request.WxPayDownloadBillRequest;
37+
import com.github.binarywang.wxpay.bean.request.WxPayMicropayRequest;
38+
import com.github.binarywang.wxpay.bean.request.WxPayOrderCloseRequest;
39+
import com.github.binarywang.wxpay.bean.request.WxPayOrderQueryRequest;
40+
import com.github.binarywang.wxpay.bean.request.WxPayOrderReverseRequest;
41+
import com.github.binarywang.wxpay.bean.request.WxPayQueryCommentRequest;
42+
import com.github.binarywang.wxpay.bean.request.WxPayRedpackQueryRequest;
43+
import com.github.binarywang.wxpay.bean.request.WxPayRefundQueryRequest;
44+
import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
45+
import com.github.binarywang.wxpay.bean.request.WxPayReportRequest;
46+
import com.github.binarywang.wxpay.bean.request.WxPaySendRedpackRequest;
47+
import com.github.binarywang.wxpay.bean.request.WxPayShorturlRequest;
48+
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
49+
import com.github.binarywang.wxpay.bean.result.BaseWxPayResult;
50+
import com.github.binarywang.wxpay.bean.result.WxPayAuthcode2OpenidResult;
51+
import com.github.binarywang.wxpay.bean.result.WxPayBillBaseResult;
52+
import com.github.binarywang.wxpay.bean.result.WxPayBillResult;
53+
import com.github.binarywang.wxpay.bean.result.WxPayCommonResult;
54+
import com.github.binarywang.wxpay.bean.result.WxPayMicropayResult;
55+
import com.github.binarywang.wxpay.bean.result.WxPayOrderCloseResult;
56+
import com.github.binarywang.wxpay.bean.result.WxPayOrderQueryResult;
57+
import com.github.binarywang.wxpay.bean.result.WxPayOrderReverseResult;
58+
import com.github.binarywang.wxpay.bean.result.WxPayRedpackQueryResult;
59+
import com.github.binarywang.wxpay.bean.result.WxPayRefundQueryResult;
60+
import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
61+
import com.github.binarywang.wxpay.bean.result.WxPaySandboxSignKeyResult;
62+
import com.github.binarywang.wxpay.bean.result.WxPaySendRedpackResult;
63+
import com.github.binarywang.wxpay.bean.result.WxPayShorturlResult;
64+
import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderResult;
1565
import com.github.binarywang.wxpay.config.WxPayConfig;
16-
import com.github.binarywang.wxpay.constant.WxPayConstants;
1766
import com.github.binarywang.wxpay.constant.WxPayConstants.BillType;
1867
import com.github.binarywang.wxpay.constant.WxPayConstants.SignType;
1968
import com.github.binarywang.wxpay.constant.WxPayConstants.TradeType;
@@ -24,18 +73,6 @@
2473
import com.google.common.base.Joiner;
2574
import com.google.common.collect.Maps;
2675
import jodd.io.ZipUtil;
27-
import org.apache.commons.lang3.StringUtils;
28-
import org.slf4j.Logger;
29-
import org.slf4j.LoggerFactory;
30-
31-
import java.io.File;
32-
import java.io.IOException;
33-
import java.nio.charset.StandardCharsets;
34-
import java.nio.file.Files;
35-
import java.nio.file.Path;
36-
import java.nio.file.Paths;
37-
import java.util.*;
38-
import java.util.zip.ZipException;
3976

4077
import static com.github.binarywang.wxpay.constant.WxPayConstants.QUERY_COMMENT_DATE_FORMAT;
4178
import static com.github.binarywang.wxpay.constant.WxPayConstants.TarType;
@@ -79,7 +116,7 @@ public void setConfig(WxPayConfig config) {
79116

80117
@Override
81118
public String getPayBaseUrl() {
82-
if (this.getConfig().useSandbox()) {
119+
if (this.getConfig().isUseSandboxEnv()) {
83120
return PAY_BASE_URL + "/sandboxnew";
84121
}
85122

weixin-java-pay/src/test/java/com/github/binarywang/wxpay/testbase/XmlWxPayConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ public void setOpenid(String openid) {
1616
}
1717

1818
@Override
19-
public boolean useSandbox() {
19+
public boolean isUseSandboxEnv() {
2020
//沙箱环境不成熟,有问题无法使用,暂时屏蔽掉
21-
// return true;
21+
//return true;
2222
return false;
2323
}
2424
}

0 commit comments

Comments
 (0)