Skip to content

Commit ff2caf7

Browse files
committed
WxPayUnifiedOrderRequest里的builder类添加新增加的两个子服务商的属性
1 parent 3b7c0a7 commit ff2caf7

File tree

2 files changed

+72
-79
lines changed

2 files changed

+72
-79
lines changed

weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java

Lines changed: 70 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -274,8 +274,33 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest {
274274
@XStreamAlias("openid")
275275
private String openid;
276276

277-
public static WxUnifiedOrderRequestBuilder builder() {
278-
return new WxUnifiedOrderRequestBuilder();
277+
private WxPayUnifiedOrderRequest(Builder builder) {
278+
setAppid(builder.appid);
279+
setDeviceInfo(builder.deviceInfo);
280+
setMchId(builder.mchId);
281+
setBody(builder.body);
282+
setSubAppId(builder.subAppId);
283+
setSubMchId(builder.subMchId);
284+
setNonceStr(builder.nonceStr);
285+
setSign(builder.sign);
286+
setDetail(builder.detail);
287+
setAttach(builder.attach);
288+
setOutTradeNo(builder.outTradeNo);
289+
setFeeType(builder.feeType);
290+
setTotalFee(builder.totalFee);
291+
setSpbillCreateIp(builder.spbillCreateIp);
292+
setTimeStart(builder.timeStart);
293+
setTimeExpire(builder.timeExpire);
294+
setGoodsTag(builder.goodsTag);
295+
setNotifyURL(builder.notifyURL);
296+
setTradeType(builder.tradeType);
297+
setProductId(builder.productId);
298+
setLimitPay(builder.limitPay);
299+
setOpenid(builder.openid);
300+
}
301+
302+
public static Builder newBuilder() {
303+
return new Builder();
279304
}
280305

281306
public String getDeviceInfo() {
@@ -445,13 +470,15 @@ public void checkAndSign(WxPayConfig config) throws WxErrorException {
445470
super.checkAndSign(config);
446471
}
447472

448-
public static class WxUnifiedOrderRequestBuilder {
473+
public static final class Builder {
449474
private String appid;
450-
private String mchId;
451475
private String deviceInfo;
476+
private String mchId;
477+
private String body;
478+
private String subAppId;
479+
private String subMchId;
452480
private String nonceStr;
453481
private String sign;
454-
private String body;
455482
private String detail;
456483
private String attach;
457484
private String outTradeNo;
@@ -467,154 +494,121 @@ public static class WxUnifiedOrderRequestBuilder {
467494
private String limitPay;
468495
private String openid;
469496

470-
public WxUnifiedOrderRequestBuilder appid(String appid) {
497+
private Builder() {
498+
}
499+
500+
public Builder appid(String appid) {
471501
this.appid = appid;
472502
return this;
473503
}
474504

475-
public WxUnifiedOrderRequestBuilder mchId(String mchId) {
505+
public Builder deviceInfo(String deviceInfo) {
506+
this.deviceInfo = deviceInfo;
507+
return this;
508+
}
509+
510+
public Builder mchId(String mchId) {
476511
this.mchId = mchId;
477512
return this;
478513
}
479514

480-
public WxUnifiedOrderRequestBuilder deviceInfo(String deviceInfo) {
481-
this.deviceInfo = deviceInfo;
515+
public Builder body(String body) {
516+
this.body = body;
482517
return this;
483518
}
484519

485-
public WxUnifiedOrderRequestBuilder nonceStr(String nonceStr) {
486-
this.nonceStr = nonceStr;
520+
public Builder subAppId(String subAppId) {
521+
this.subAppId = subAppId;
487522
return this;
488523
}
489524

490-
public WxUnifiedOrderRequestBuilder sign(String sign) {
491-
this.sign = sign;
525+
public Builder subMchId(String subMchId) {
526+
this.subMchId = subMchId;
492527
return this;
493528
}
494529

495-
public WxUnifiedOrderRequestBuilder body(String body) {
496-
this.body = body;
530+
public Builder nonceStr(String nonceStr) {
531+
this.nonceStr = nonceStr;
532+
return this;
533+
}
534+
535+
public Builder sign(String sign) {
536+
this.sign = sign;
497537
return this;
498538
}
499539

500-
public WxUnifiedOrderRequestBuilder detail(String detail) {
540+
public Builder detail(String detail) {
501541
this.detail = detail;
502542
return this;
503543
}
504544

505-
public WxUnifiedOrderRequestBuilder attach(String attach) {
545+
public Builder attach(String attach) {
506546
this.attach = attach;
507547
return this;
508548
}
509549

510-
public WxUnifiedOrderRequestBuilder outTradeNo(String outTradeNo) {
550+
public Builder outTradeNo(String outTradeNo) {
511551
this.outTradeNo = outTradeNo;
512552
return this;
513553
}
514554

515-
public WxUnifiedOrderRequestBuilder feeType(String feeType) {
555+
public Builder feeType(String feeType) {
516556
this.feeType = feeType;
517557
return this;
518558
}
519559

520-
public WxUnifiedOrderRequestBuilder totalFee(Integer totalFee) {
560+
public Builder totalFee(Integer totalFee) {
521561
this.totalFee = totalFee;
522562
return this;
523563
}
524564

525-
public WxUnifiedOrderRequestBuilder spbillCreateIp(String spbillCreateIp) {
565+
public Builder spbillCreateIp(String spbillCreateIp) {
526566
this.spbillCreateIp = spbillCreateIp;
527567
return this;
528568
}
529569

530-
public WxUnifiedOrderRequestBuilder timeStart(String timeStart) {
570+
public Builder timeStart(String timeStart) {
531571
this.timeStart = timeStart;
532572
return this;
533573
}
534574

535-
public WxUnifiedOrderRequestBuilder timeExpire(String timeExpire) {
575+
public Builder timeExpire(String timeExpire) {
536576
this.timeExpire = timeExpire;
537577
return this;
538578
}
539579

540-
public WxUnifiedOrderRequestBuilder goodsTag(String goodsTag) {
580+
public Builder goodsTag(String goodsTag) {
541581
this.goodsTag = goodsTag;
542582
return this;
543583
}
544584

545-
public WxUnifiedOrderRequestBuilder notifyURL(String notifyURL) {
585+
public Builder notifyURL(String notifyURL) {
546586
this.notifyURL = notifyURL;
547587
return this;
548588
}
549589

550-
public WxUnifiedOrderRequestBuilder tradeType(String tradeType) {
590+
public Builder tradeType(String tradeType) {
551591
this.tradeType = tradeType;
552592
return this;
553593
}
554594

555-
public WxUnifiedOrderRequestBuilder productId(String productId) {
595+
public Builder productId(String productId) {
556596
this.productId = productId;
557597
return this;
558598
}
559599

560-
public WxUnifiedOrderRequestBuilder limitPay(String limitPay) {
600+
public Builder limitPay(String limitPay) {
561601
this.limitPay = limitPay;
562602
return this;
563603
}
564604

565-
public WxUnifiedOrderRequestBuilder openid(String openid) {
605+
public Builder openid(String openid) {
566606
this.openid = openid;
567607
return this;
568608
}
569609

570-
public WxUnifiedOrderRequestBuilder from(WxPayUnifiedOrderRequest origin) {
571-
this.appid(origin.appid);
572-
this.mchId(origin.mchId);
573-
this.deviceInfo(origin.deviceInfo);
574-
this.nonceStr(origin.nonceStr);
575-
this.sign(origin.sign);
576-
this.body(origin.body);
577-
this.detail(origin.detail);
578-
this.attach(origin.attach);
579-
this.outTradeNo(origin.outTradeNo);
580-
this.feeType(origin.feeType);
581-
this.totalFee(origin.totalFee);
582-
this.spbillCreateIp(origin.spbillCreateIp);
583-
this.timeStart(origin.timeStart);
584-
this.timeExpire(origin.timeExpire);
585-
this.goodsTag(origin.goodsTag);
586-
this.notifyURL(origin.notifyURL);
587-
this.tradeType(origin.tradeType);
588-
this.productId(origin.productId);
589-
this.limitPay(origin.limitPay);
590-
this.openid(origin.openid);
591-
return this;
592-
}
593-
594610
public WxPayUnifiedOrderRequest build() {
595-
WxPayUnifiedOrderRequest m = new WxPayUnifiedOrderRequest();
596-
m.appid = this.appid;
597-
m.mchId = this.mchId;
598-
m.deviceInfo = this.deviceInfo;
599-
m.nonceStr = this.nonceStr;
600-
m.sign = this.sign;
601-
m.body = this.body;
602-
m.detail = this.detail;
603-
m.attach = this.attach;
604-
m.outTradeNo = this.outTradeNo;
605-
m.feeType = this.feeType;
606-
m.totalFee = this.totalFee;
607-
m.spbillCreateIp = this.spbillCreateIp;
608-
m.timeStart = this.timeStart;
609-
m.timeExpire = this.timeExpire;
610-
m.goodsTag = this.goodsTag;
611-
m.notifyURL = this.notifyURL;
612-
m.tradeType = this.tradeType;
613-
m.productId = this.productId;
614-
m.limitPay = this.limitPay;
615-
m.openid = this.openid;
616-
return m;
611+
return new WxPayUnifiedOrderRequest(this);
617612
}
618613
}
619-
620614
}

weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImplTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.slf4j.LoggerFactory;
1313
import org.testng.annotations.*;
1414

15-
import java.io.File;
1615
import java.nio.file.Files;
1716
import java.nio.file.Path;
1817
import java.util.Map;
@@ -35,7 +34,7 @@ public class WxPayServiceImplTest {
3534

3635
@Test
3736
public void testGetPayInfo() throws Exception {
38-
Map<String, String> payInfo = this.payService.getPayInfo(WxPayUnifiedOrderRequest.builder()
37+
Map<String, String> payInfo = this.payService.getPayInfo(WxPayUnifiedOrderRequest.newBuilder()
3938
.body("我去")
4039
.totalFee(1)
4140
.spbillCreateIp("111111")
@@ -136,7 +135,7 @@ public void testQueryRedpack() throws Exception {
136135
@Test
137136
public void testUnifiedOrder() throws WxErrorException {
138137
WxPayUnifiedOrderResult result = this.payService
139-
.unifiedOrder(WxPayUnifiedOrderRequest.builder()
138+
.unifiedOrder(WxPayUnifiedOrderRequest.newBuilder()
140139
.body("我去")
141140
.totalFee(1)
142141
.spbillCreateIp("111111")

0 commit comments

Comments
 (0)