From ff2caf76db008529243f731b8d8418ca8e00beb1 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Mon, 5 Jun 2017 17:06:01 +0800 Subject: [PATCH] =?UTF-8?q?WxPayUnifiedOrderRequest=E9=87=8C=E7=9A=84build?= =?UTF-8?q?er=E7=B1=BB=E6=B7=BB=E5=8A=A0=E6=96=B0=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=9A=84=E4=B8=A4=E4=B8=AA=E5=AD=90=E6=9C=8D=E5=8A=A1=E5=95=86?= =?UTF-8?q?=E7=9A=84=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/WxPayUnifiedOrderRequest.java | 146 +++++++++--------- .../service/impl/WxPayServiceImplTest.java | 5 +- 2 files changed, 72 insertions(+), 79 deletions(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java index 48b059d3..16855d8e 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java @@ -274,8 +274,33 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { @XStreamAlias("openid") private String openid; - public static WxUnifiedOrderRequestBuilder builder() { - return new WxUnifiedOrderRequestBuilder(); + private WxPayUnifiedOrderRequest(Builder builder) { + setAppid(builder.appid); + setDeviceInfo(builder.deviceInfo); + setMchId(builder.mchId); + setBody(builder.body); + setSubAppId(builder.subAppId); + setSubMchId(builder.subMchId); + setNonceStr(builder.nonceStr); + setSign(builder.sign); + setDetail(builder.detail); + setAttach(builder.attach); + setOutTradeNo(builder.outTradeNo); + setFeeType(builder.feeType); + setTotalFee(builder.totalFee); + setSpbillCreateIp(builder.spbillCreateIp); + setTimeStart(builder.timeStart); + setTimeExpire(builder.timeExpire); + setGoodsTag(builder.goodsTag); + setNotifyURL(builder.notifyURL); + setTradeType(builder.tradeType); + setProductId(builder.productId); + setLimitPay(builder.limitPay); + setOpenid(builder.openid); + } + + public static Builder newBuilder() { + return new Builder(); } public String getDeviceInfo() { @@ -445,13 +470,15 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { super.checkAndSign(config); } - public static class WxUnifiedOrderRequestBuilder { + public static final class Builder { private String appid; - private String mchId; private String deviceInfo; + private String mchId; + private String body; + private String subAppId; + private String subMchId; private String nonceStr; private String sign; - private String body; private String detail; private String attach; private String outTradeNo; @@ -467,154 +494,121 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { private String limitPay; private String openid; - public WxUnifiedOrderRequestBuilder appid(String appid) { + private Builder() { + } + + public Builder appid(String appid) { this.appid = appid; return this; } - public WxUnifiedOrderRequestBuilder mchId(String mchId) { + public Builder deviceInfo(String deviceInfo) { + this.deviceInfo = deviceInfo; + return this; + } + + public Builder mchId(String mchId) { this.mchId = mchId; return this; } - public WxUnifiedOrderRequestBuilder deviceInfo(String deviceInfo) { - this.deviceInfo = deviceInfo; + public Builder body(String body) { + this.body = body; return this; } - public WxUnifiedOrderRequestBuilder nonceStr(String nonceStr) { - this.nonceStr = nonceStr; + public Builder subAppId(String subAppId) { + this.subAppId = subAppId; return this; } - public WxUnifiedOrderRequestBuilder sign(String sign) { - this.sign = sign; + public Builder subMchId(String subMchId) { + this.subMchId = subMchId; return this; } - public WxUnifiedOrderRequestBuilder body(String body) { - this.body = body; + public Builder nonceStr(String nonceStr) { + this.nonceStr = nonceStr; + return this; + } + + public Builder sign(String sign) { + this.sign = sign; return this; } - public WxUnifiedOrderRequestBuilder detail(String detail) { + public Builder detail(String detail) { this.detail = detail; return this; } - public WxUnifiedOrderRequestBuilder attach(String attach) { + public Builder attach(String attach) { this.attach = attach; return this; } - public WxUnifiedOrderRequestBuilder outTradeNo(String outTradeNo) { + public Builder outTradeNo(String outTradeNo) { this.outTradeNo = outTradeNo; return this; } - public WxUnifiedOrderRequestBuilder feeType(String feeType) { + public Builder feeType(String feeType) { this.feeType = feeType; return this; } - public WxUnifiedOrderRequestBuilder totalFee(Integer totalFee) { + public Builder totalFee(Integer totalFee) { this.totalFee = totalFee; return this; } - public WxUnifiedOrderRequestBuilder spbillCreateIp(String spbillCreateIp) { + public Builder spbillCreateIp(String spbillCreateIp) { this.spbillCreateIp = spbillCreateIp; return this; } - public WxUnifiedOrderRequestBuilder timeStart(String timeStart) { + public Builder timeStart(String timeStart) { this.timeStart = timeStart; return this; } - public WxUnifiedOrderRequestBuilder timeExpire(String timeExpire) { + public Builder timeExpire(String timeExpire) { this.timeExpire = timeExpire; return this; } - public WxUnifiedOrderRequestBuilder goodsTag(String goodsTag) { + public Builder goodsTag(String goodsTag) { this.goodsTag = goodsTag; return this; } - public WxUnifiedOrderRequestBuilder notifyURL(String notifyURL) { + public Builder notifyURL(String notifyURL) { this.notifyURL = notifyURL; return this; } - public WxUnifiedOrderRequestBuilder tradeType(String tradeType) { + public Builder tradeType(String tradeType) { this.tradeType = tradeType; return this; } - public WxUnifiedOrderRequestBuilder productId(String productId) { + public Builder productId(String productId) { this.productId = productId; return this; } - public WxUnifiedOrderRequestBuilder limitPay(String limitPay) { + public Builder limitPay(String limitPay) { this.limitPay = limitPay; return this; } - public WxUnifiedOrderRequestBuilder openid(String openid) { + public Builder openid(String openid) { this.openid = openid; return this; } - public WxUnifiedOrderRequestBuilder from(WxPayUnifiedOrderRequest origin) { - this.appid(origin.appid); - this.mchId(origin.mchId); - this.deviceInfo(origin.deviceInfo); - this.nonceStr(origin.nonceStr); - this.sign(origin.sign); - this.body(origin.body); - this.detail(origin.detail); - this.attach(origin.attach); - this.outTradeNo(origin.outTradeNo); - this.feeType(origin.feeType); - this.totalFee(origin.totalFee); - this.spbillCreateIp(origin.spbillCreateIp); - this.timeStart(origin.timeStart); - this.timeExpire(origin.timeExpire); - this.goodsTag(origin.goodsTag); - this.notifyURL(origin.notifyURL); - this.tradeType(origin.tradeType); - this.productId(origin.productId); - this.limitPay(origin.limitPay); - this.openid(origin.openid); - return this; - } - public WxPayUnifiedOrderRequest build() { - WxPayUnifiedOrderRequest m = new WxPayUnifiedOrderRequest(); - m.appid = this.appid; - m.mchId = this.mchId; - m.deviceInfo = this.deviceInfo; - m.nonceStr = this.nonceStr; - m.sign = this.sign; - m.body = this.body; - m.detail = this.detail; - m.attach = this.attach; - m.outTradeNo = this.outTradeNo; - m.feeType = this.feeType; - m.totalFee = this.totalFee; - m.spbillCreateIp = this.spbillCreateIp; - m.timeStart = this.timeStart; - m.timeExpire = this.timeExpire; - m.goodsTag = this.goodsTag; - m.notifyURL = this.notifyURL; - m.tradeType = this.tradeType; - m.productId = this.productId; - m.limitPay = this.limitPay; - m.openid = this.openid; - return m; + return new WxPayUnifiedOrderRequest(this); } } - } diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImplTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImplTest.java index 685337c7..e40c6dc4 100644 --- a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImplTest.java +++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImplTest.java @@ -12,7 +12,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.annotations.*; -import java.io.File; import java.nio.file.Files; import java.nio.file.Path; import java.util.Map; @@ -35,7 +34,7 @@ public class WxPayServiceImplTest { @Test public void testGetPayInfo() throws Exception { - Map payInfo = this.payService.getPayInfo(WxPayUnifiedOrderRequest.builder() + Map payInfo = this.payService.getPayInfo(WxPayUnifiedOrderRequest.newBuilder() .body("我去") .totalFee(1) .spbillCreateIp("111111") @@ -136,7 +135,7 @@ public class WxPayServiceImplTest { @Test public void testUnifiedOrder() throws WxErrorException { WxPayUnifiedOrderResult result = this.payService - .unifiedOrder(WxPayUnifiedOrderRequest.builder() + .unifiedOrder(WxPayUnifiedOrderRequest.newBuilder() .body("我去") .totalFee(1) .spbillCreateIp("111111")