WxPayUnifiedOrderRequest里的builder类添加新增加的两个子服务商的属性

This commit is contained in:
Binary Wang 2017-06-05 17:06:01 +08:00
parent 3b7c0a7064
commit ff2caf76db
2 changed files with 77 additions and 84 deletions

View File

@ -274,8 +274,33 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest {
@XStreamAlias("openid") @XStreamAlias("openid")
private String openid; private String openid;
public static WxUnifiedOrderRequestBuilder builder() { private WxPayUnifiedOrderRequest(Builder builder) {
return new WxUnifiedOrderRequestBuilder(); 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() { public String getDeviceInfo() {
@ -445,13 +470,15 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest {
super.checkAndSign(config); super.checkAndSign(config);
} }
public static class WxUnifiedOrderRequestBuilder { public static final class Builder {
private String appid; private String appid;
private String mchId;
private String deviceInfo; private String deviceInfo;
private String mchId;
private String body;
private String subAppId;
private String subMchId;
private String nonceStr; private String nonceStr;
private String sign; private String sign;
private String body;
private String detail; private String detail;
private String attach; private String attach;
private String outTradeNo; private String outTradeNo;
@ -467,154 +494,121 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest {
private String limitPay; private String limitPay;
private String openid; private String openid;
public WxUnifiedOrderRequestBuilder appid(String appid) { private Builder() {
}
public Builder appid(String appid) {
this.appid = appid; this.appid = appid;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder mchId(String mchId) { public Builder deviceInfo(String deviceInfo) {
this.mchId = mchId;
return this;
}
public WxUnifiedOrderRequestBuilder deviceInfo(String deviceInfo) {
this.deviceInfo = deviceInfo; this.deviceInfo = deviceInfo;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder nonceStr(String nonceStr) { public Builder mchId(String mchId) {
this.nonceStr = nonceStr; this.mchId = mchId;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder sign(String sign) { public Builder body(String body) {
this.sign = sign;
return this;
}
public WxUnifiedOrderRequestBuilder body(String body) {
this.body = body; this.body = body;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder detail(String detail) { public Builder subAppId(String subAppId) {
this.subAppId = subAppId;
return this;
}
public Builder subMchId(String subMchId) {
this.subMchId = subMchId;
return this;
}
public Builder nonceStr(String nonceStr) {
this.nonceStr = nonceStr;
return this;
}
public Builder sign(String sign) {
this.sign = sign;
return this;
}
public Builder detail(String detail) {
this.detail = detail; this.detail = detail;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder attach(String attach) { public Builder attach(String attach) {
this.attach = attach; this.attach = attach;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder outTradeNo(String outTradeNo) { public Builder outTradeNo(String outTradeNo) {
this.outTradeNo = outTradeNo; this.outTradeNo = outTradeNo;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder feeType(String feeType) { public Builder feeType(String feeType) {
this.feeType = feeType; this.feeType = feeType;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder totalFee(Integer totalFee) { public Builder totalFee(Integer totalFee) {
this.totalFee = totalFee; this.totalFee = totalFee;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder spbillCreateIp(String spbillCreateIp) { public Builder spbillCreateIp(String spbillCreateIp) {
this.spbillCreateIp = spbillCreateIp; this.spbillCreateIp = spbillCreateIp;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder timeStart(String timeStart) { public Builder timeStart(String timeStart) {
this.timeStart = timeStart; this.timeStart = timeStart;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder timeExpire(String timeExpire) { public Builder timeExpire(String timeExpire) {
this.timeExpire = timeExpire; this.timeExpire = timeExpire;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder goodsTag(String goodsTag) { public Builder goodsTag(String goodsTag) {
this.goodsTag = goodsTag; this.goodsTag = goodsTag;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder notifyURL(String notifyURL) { public Builder notifyURL(String notifyURL) {
this.notifyURL = notifyURL; this.notifyURL = notifyURL;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder tradeType(String tradeType) { public Builder tradeType(String tradeType) {
this.tradeType = tradeType; this.tradeType = tradeType;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder productId(String productId) { public Builder productId(String productId) {
this.productId = productId; this.productId = productId;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder limitPay(String limitPay) { public Builder limitPay(String limitPay) {
this.limitPay = limitPay; this.limitPay = limitPay;
return this; return this;
} }
public WxUnifiedOrderRequestBuilder openid(String openid) { public Builder openid(String openid) {
this.openid = openid; this.openid = openid;
return this; 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() { public WxPayUnifiedOrderRequest build() {
WxPayUnifiedOrderRequest m = new WxPayUnifiedOrderRequest(); return new WxPayUnifiedOrderRequest(this);
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;
} }
} }
} }

View File

@ -12,7 +12,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.testng.annotations.*; import org.testng.annotations.*;
import java.io.File;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.Map; import java.util.Map;
@ -35,7 +34,7 @@ public class WxPayServiceImplTest {
@Test @Test
public void testGetPayInfo() throws Exception { public void testGetPayInfo() throws Exception {
Map<String, String> payInfo = this.payService.getPayInfo(WxPayUnifiedOrderRequest.builder() Map<String, String> payInfo = this.payService.getPayInfo(WxPayUnifiedOrderRequest.newBuilder()
.body("我去") .body("我去")
.totalFee(1) .totalFee(1)
.spbillCreateIp("111111") .spbillCreateIp("111111")
@ -136,7 +135,7 @@ public class WxPayServiceImplTest {
@Test @Test
public void testUnifiedOrder() throws WxErrorException { public void testUnifiedOrder() throws WxErrorException {
WxPayUnifiedOrderResult result = this.payService WxPayUnifiedOrderResult result = this.payService
.unifiedOrder(WxPayUnifiedOrderRequest.builder() .unifiedOrder(WxPayUnifiedOrderRequest.newBuilder()
.body("我去") .body("我去")
.totalFee(1) .totalFee(1)
.spbillCreateIp("111111") .spbillCreateIp("111111")