diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxEntPayRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxEntPayRequest.java index fd43fb1aa..7897ad02d 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxEntPayRequest.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxEntPayRequest.java @@ -1,18 +1,12 @@ package com.github.binarywang.wxpay.bean.request; import com.thoughtworks.xstream.annotations.XStreamAlias; +import me.chanjar.weixin.common.annotation.Required; import me.chanjar.weixin.common.util.ToStringUtils; /** *
* 企业付款请求对象 - * 注释中各行每个字段描述对应如下: - *
- * 公众账号appid
- * mch_appid
- * 是
- * wx8888888888888888
- * String
- * 微信分配的公众账号ID(企业号corpid即为此appId)
+ * 字段名:公众账号appid
+ * 变量名:mch_appid
+ * 是否必填:是
+ * 示例值:wx8888888888888888
+ * 类型:String
+ * 描述:微信分配的公众账号ID(企业号corpid即为此appId)
*
*/
@XStreamAlias("mch_appid")
@@ -35,12 +29,12 @@ public class WxEntPayRequest extends WxPayBaseRequest {
/**
*
- * 商户号
- * mchid
- * 是
- * 1900000109
- * String(32)
- * 微信支付分配的商户号
+ * 字段名:商户号
+ * 变量名:mchid
+ * 是否必填:是
+ * 示例值:1900000109
+ * 类型:String(32)
+ * 描述:微信支付分配的商户号
*
*/
@XStreamAlias("mchid")
@@ -48,12 +42,12 @@ public class WxEntPayRequest extends WxPayBaseRequest {
/**
*
- * 设备号
- * device_info
- * 否
- * 13467007045764
- * String(32)
- * 微信支付分配的终端设备号
+ * 字段名:设备号
+ * 变量名:device_info
+ * 是否必填:否
+ * 示例值:13467007045764
+ * 类型:String(32)
+ * 描述:微信支付分配的终端设备号
*
*/
@XStreamAlias("device_info")
@@ -61,53 +55,56 @@ public class WxEntPayRequest extends WxPayBaseRequest {
/**
*
- * 商户订单号
- * partner_trade_no
- * 是
- * 10000098201411111234567890
- * String
- * 商户订单号
+ * 字段名:商户订单号
+ * 变量名:partner_trade_no
+ * 是否必填:是
+ * 示例值:10000098201411111234567890
+ * 类型:String
+ * 描述:商户订单号
*
*/
+ @Required
@XStreamAlias("partner_trade_no")
private String partnerTradeNo;
/**
*
- * 需保持唯一性 用户openid
- * openid
- * 是
- * oxTWIuGaIt6gTKsQRLau2M0yL16E
- * String
- * 商户appid下,某用户的openid
+ * 字段名:需保持唯一性 用户openid
+ * 变量名:openid
+ * 是否必填:是
+ * 示例值:oxTWIuGaIt6gTKsQRLau2M0yL16E
+ * 类型:String
+ * 描述:商户appid下,某用户的openid
*
*/
+ @Required
@XStreamAlias("openid")
private String openid;
/**
*
- * 校验用户姓名选项
- * check_name
- * 是
- * OPTION_CHECK
- * String
- * NO_CHECK:不校验真实姓名
+ * 字段名:校验用户姓名选项
+ * 变量名:check_name
+ * 是否必填:是
+ * 示例值:OPTION_CHECK
+ * 类型:String
+ * 描述:NO_CHECK:不校验真实姓名
* FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账)
* OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)
*
*/
+ @Required
@XStreamAlias("check_name")
private String checkName;
/**
*
- * 收款用户姓名
- * re_user_name
- * 可选
- * 马花花
- * String
- * 收款用户真实姓名。
+ * 字段名:收款用户姓名
+ * 变量名:re_user_name
+ * 是否必填:可选
+ * 示例值:马花花
+ * 类型:String
+ * 描述:收款用户真实姓名。
* 如果check_name设置为FORCE_CHECK或OPTION_CHECK, 则必填用户真实姓名
*
*/
@@ -116,43 +113,71 @@ public class WxEntPayRequest extends WxPayBaseRequest {
/**
*
- * 金额
- * amount
- * 是
- * 10099
- * int
- * 企业付款金额, 单位为分
+ * 字段名:金额
+ * 变量名:amount
+ * 是否必填:是
+ * 示例值:10099
+ * 类型:int
+ * 描述:企业付款金额, 单位为分
*
*/
+ @Required
@XStreamAlias("amount")
private Integer amount;
/**
*
- * 企业付款描述信息
- * desc
- * 是
- * 理赔
- * String
- * 企业付款操作说明信息。必填。
+ * 字段名:企业付款描述信息
+ * 变量名:desc
+ * 是否必填:是
+ * 示例值:理赔
+ * 类型:String
+ * 描述:企业付款操作说明信息。必填。
*
*/
+ @Required
@XStreamAlias("desc")
private String description;
/**
*
- * Ip地址
- * spbill_create_ip
- * 是
- * 192.168.0.1
- * String(32)
- * 调用接口的机器Ip地址
+ * 字段名:Ip地址
+ * 变量名:spbill_create_ip
+ * 是否必填:是
+ * 示例值:192.168.0.1
+ * 类型:String(32)
+ * 描述:调用接口的机器Ip地址
*
*/
+ @Required
@XStreamAlias("spbill_create_ip")
private String spbillCreateIp;
+ public WxEntPayRequest() {
+ }
+
+ private WxEntPayRequest(Builder builder) {
+ setAppid(builder.appid);
+ setMchId(builder.mchId);
+ setSubAppId(builder.subAppId);
+ setSubMchId(builder.subMchId);
+ setNonceStr(builder.nonceStr);
+ setSign(builder.sign);
+ mchAppid = builder.mchAppid;
+ setMchId(builder.mchId);
+ setDeviceInfo(builder.deviceInfo);
+ setPartnerTradeNo(builder.partnerTradeNo);
+ setOpenid(builder.openid);
+ setCheckName(builder.checkName);
+ setReUserName(builder.reUserName);
+ setAmount(builder.amount);
+ setDescription(builder.description);
+ setSpbillCreateIp(builder.spbillCreateIp);
+ }
+
+ public static Builder newBuilder() {
+ return new Builder();
+ }
@Override
protected void checkConstraints() {
@@ -248,4 +273,103 @@ public class WxEntPayRequest extends WxPayBaseRequest {
return ToStringUtils.toSimpleString(this);
}
+ public static final class Builder {
+ private String appid;
+ private String mchId;
+ private String deviceInfo;
+ private String partnerTradeNo;
+ private String openid;
+ private String checkName;
+ private String reUserName;
+ private Integer amount;
+ private String description;
+ private String spbillCreateIp;
+ private String subAppId;
+ private String subMchId;
+ private String nonceStr;
+ private String sign;
+ private String mchAppid;
+
+ private Builder() {
+ }
+
+ public Builder appid(String appid) {
+ this.appid = appid;
+ return this;
+ }
+
+ public Builder mchId(String mchId) {
+ this.mchId = mchId;
+ return this;
+ }
+
+ public Builder deviceInfo(String deviceInfo) {
+ this.deviceInfo = deviceInfo;
+ return this;
+ }
+
+ public Builder partnerTradeNo(String partnerTradeNo) {
+ this.partnerTradeNo = partnerTradeNo;
+ return this;
+ }
+
+ public Builder openid(String openid) {
+ this.openid = openid;
+ return this;
+ }
+
+ public Builder checkName(String checkName) {
+ this.checkName = checkName;
+ return this;
+ }
+
+ public Builder reUserName(String reUserName) {
+ this.reUserName = reUserName;
+ return this;
+ }
+
+ public Builder amount(Integer amount) {
+ this.amount = amount;
+ return this;
+ }
+
+ public Builder description(String description) {
+ this.description = description;
+ return this;
+ }
+
+ public Builder spbillCreateIp(String spbillCreateIp) {
+ this.spbillCreateIp = spbillCreateIp;
+ return this;
+ }
+
+ public WxEntPayRequest build() {
+ return new WxEntPayRequest(this);
+ }
+
+ 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 mchAppid(String mchAppid) {
+ this.mchAppid = mchAppid;
+ return this;
+ }
+ }
}
diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImplTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImplTest.java
index bbf444d90..9b57d77b1 100644
--- a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImplTest.java
+++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImplTest.java
@@ -170,7 +170,15 @@ public class WxPayServiceAbstractImplTest {
*/
@Test
public void testEntPay() throws WxPayException {
- WxEntPayRequest request = new WxEntPayRequest();
+ WxEntPayRequest request = WxEntPayRequest.newBuilder()
+ .partnerTradeNo("Eb6Aep7uVTdbkJqrP4")
+ .openid("ojOQA0y9o-Eb6Aep7uVTdbkJqrP4")
+ .amount(1)
+ .spbillCreateIp("10.10.10.10")
+ .checkName("NO_CHECK")
+ .description("描述信息")
+ .build();
+
this.logger.info(this.payService.entPay(request).toString());
}