1
1
package com .github .binarywang .wxpay .bean .request ;
2
2
3
3
import com .thoughtworks .xstream .annotations .XStreamAlias ;
4
+ import me .chanjar .weixin .common .annotation .Required ;
4
5
import me .chanjar .weixin .common .util .ToStringUtils ;
5
6
6
7
/**
7
8
* <pre>
8
9
* 企业付款请求对象
9
- * 注释中各行每个字段描述对应如下:
10
- * <li>字段名
11
- * <li>变量名
12
- * <li>是否必填
13
- * <li>类型
14
- * <li>示例值
15
- * <li>描述
16
10
* </pre>
17
11
* Created by Binary Wang on 2016/10/02.
18
12
*
22
16
public class WxEntPayRequest extends WxPayBaseRequest {
23
17
/**
24
18
* <pre>
25
- * 公众账号appid
26
- * mch_appid
27
- * 是
28
- * wx8888888888888888
29
- * String
30
- * 微信分配的公众账号ID(企业号corpid即为此appId)
19
+ * 字段名: 公众账号appid
20
+ * 变量名: mch_appid
21
+ * 是否必填: 是
22
+ * 示例值: wx8888888888888888
23
+ * 类型: String
24
+ * 描述: 微信分配的公众账号ID(企业号corpid即为此appId)
31
25
* </pre>
32
26
*/
33
27
@ XStreamAlias ("mch_appid" )
34
28
private String mchAppid ;
35
29
36
30
/**
37
31
* <pre>
38
- * 商户号
39
- * mchid
40
- * 是
41
- * 1900000109
42
- * String(32)
43
- * 微信支付分配的商户号
32
+ * 字段名: 商户号
33
+ * 变量名: mchid
34
+ * 是否必填: 是
35
+ * 示例值: 1900000109
36
+ * 类型: String(32)
37
+ * 描述: 微信支付分配的商户号
44
38
* </pre>
45
39
*/
46
40
@ XStreamAlias ("mchid" )
47
41
private String mchId ;
48
42
49
43
/**
50
44
* <pre>
51
- * 设备号
52
- * device_info
53
- * 否
54
- * 13467007045764
55
- * String(32)
56
- * 微信支付分配的终端设备号
45
+ * 字段名: 设备号
46
+ * 变量名: device_info
47
+ * 是否必填: 否
48
+ * 示例值: 13467007045764
49
+ * 类型: String(32)
50
+ * 描述: 微信支付分配的终端设备号
57
51
* </pre>
58
52
*/
59
53
@ XStreamAlias ("device_info" )
60
54
private String deviceInfo ;
61
55
62
56
/**
63
57
* <pre>
64
- * 商户订单号
65
- * partner_trade_no
66
- * 是
67
- * 10000098201411111234567890
68
- * String
69
- * 商户订单号
58
+ * 字段名: 商户订单号
59
+ * 变量名: partner_trade_no
60
+ * 是否必填: 是
61
+ * 示例值: 10000098201411111234567890
62
+ * 类型: String
63
+ * 描述: 商户订单号
70
64
* </pre>
71
65
*/
66
+ @ Required
72
67
@ XStreamAlias ("partner_trade_no" )
73
68
private String partnerTradeNo ;
74
69
75
70
/**
76
71
* <pre>
77
- * 需保持唯一性 用户openid
78
- * openid
79
- * 是
80
- * oxTWIuGaIt6gTKsQRLau2M0yL16E
81
- * String
82
- * 商户appid下,某用户的openid
72
+ * 字段名: 需保持唯一性 用户openid
73
+ * 变量名: openid
74
+ * 是否必填: 是
75
+ * 示例值: oxTWIuGaIt6gTKsQRLau2M0yL16E
76
+ * 类型: String
77
+ * 描述: 商户appid下,某用户的openid
83
78
* </pre>
84
79
*/
80
+ @ Required
85
81
@ XStreamAlias ("openid" )
86
82
private String openid ;
87
83
88
84
/**
89
85
* <pre>
90
- * 校验用户姓名选项
91
- * check_name
92
- * 是
93
- * OPTION_CHECK
94
- * String
95
- * NO_CHECK:不校验真实姓名
86
+ * 字段名: 校验用户姓名选项
87
+ * 变量名: check_name
88
+ * 是否必填: 是
89
+ * 示例值: OPTION_CHECK
90
+ * 类型: String
91
+ * 描述: NO_CHECK:不校验真实姓名
96
92
* FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账)
97
93
* OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)
98
94
* </pre>
99
95
*/
96
+ @ Required
100
97
@ XStreamAlias ("check_name" )
101
98
private String checkName ;
102
99
103
100
/**
104
101
* <pre>
105
- * 收款用户姓名
106
- * re_user_name
107
- * 可选
108
- * 马花花
109
- * String
110
- * 收款用户真实姓名。
102
+ * 字段名: 收款用户姓名
103
+ * 变量名: re_user_name
104
+ * 是否必填: 可选
105
+ * 示例值: 马花花
106
+ * 类型: String
107
+ * 描述: 收款用户真实姓名。
111
108
* 如果check_name设置为FORCE_CHECK或OPTION_CHECK, 则必填用户真实姓名
112
109
* </pre>
113
110
*/
@@ -116,43 +113,71 @@ public class WxEntPayRequest extends WxPayBaseRequest {
116
113
117
114
/**
118
115
* <pre>
119
- * 金额
120
- * amount
121
- * 是
122
- * 10099
123
- * int
124
- * 企业付款金额, 单位为分
116
+ * 字段名: 金额
117
+ * 变量名: amount
118
+ * 是否必填: 是
119
+ * 示例值: 10099
120
+ * 类型: int
121
+ * 描述: 企业付款金额, 单位为分
125
122
* </pre>
126
123
*/
124
+ @ Required
127
125
@ XStreamAlias ("amount" )
128
126
private Integer amount ;
129
127
130
128
/**
131
129
* <pre>
132
- * 企业付款描述信息
133
- * desc
134
- * 是
135
- * 理赔
136
- * String
137
- * 企业付款操作说明信息。必填。
130
+ * 字段名: 企业付款描述信息
131
+ * 变量名: desc
132
+ * 是否必填: 是
133
+ * 示例值: 理赔
134
+ * 类型: String
135
+ * 描述: 企业付款操作说明信息。必填。
138
136
* </pre>
139
137
*/
138
+ @ Required
140
139
@ XStreamAlias ("desc" )
141
140
private String description ;
142
141
143
142
/**
144
143
* <pre>
145
- * Ip地址
146
- * spbill_create_ip
147
- * 是
148
- * 192.168.0.1
149
- * String(32)
150
- * 调用接口的机器Ip地址
144
+ * 字段名: Ip地址
145
+ * 变量名: spbill_create_ip
146
+ * 是否必填: 是
147
+ * 示例值: 192.168.0.1
148
+ * 类型: String(32)
149
+ * 描述: 调用接口的机器Ip地址
151
150
* </pre>
152
151
*/
152
+ @ Required
153
153
@ XStreamAlias ("spbill_create_ip" )
154
154
private String spbillCreateIp ;
155
155
156
+ public WxEntPayRequest () {
157
+ }
158
+
159
+ private WxEntPayRequest (Builder builder ) {
160
+ setAppid (builder .appid );
161
+ setMchId (builder .mchId );
162
+ setSubAppId (builder .subAppId );
163
+ setSubMchId (builder .subMchId );
164
+ setNonceStr (builder .nonceStr );
165
+ setSign (builder .sign );
166
+ mchAppid = builder .mchAppid ;
167
+ setMchId (builder .mchId );
168
+ setDeviceInfo (builder .deviceInfo );
169
+ setPartnerTradeNo (builder .partnerTradeNo );
170
+ setOpenid (builder .openid );
171
+ setCheckName (builder .checkName );
172
+ setReUserName (builder .reUserName );
173
+ setAmount (builder .amount );
174
+ setDescription (builder .description );
175
+ setSpbillCreateIp (builder .spbillCreateIp );
176
+ }
177
+
178
+ public static Builder newBuilder () {
179
+ return new Builder ();
180
+ }
156
181
157
182
@ Override
158
183
protected void checkConstraints () {
@@ -248,4 +273,103 @@ public String toString() {
248
273
return ToStringUtils .toSimpleString (this );
249
274
}
250
275
276
+ public static final class Builder {
277
+ private String appid ;
278
+ private String mchId ;
279
+ private String deviceInfo ;
280
+ private String partnerTradeNo ;
281
+ private String openid ;
282
+ private String checkName ;
283
+ private String reUserName ;
284
+ private Integer amount ;
285
+ private String description ;
286
+ private String spbillCreateIp ;
287
+ private String subAppId ;
288
+ private String subMchId ;
289
+ private String nonceStr ;
290
+ private String sign ;
291
+ private String mchAppid ;
292
+
293
+ private Builder () {
294
+ }
295
+
296
+ public Builder appid (String appid ) {
297
+ this .appid = appid ;
298
+ return this ;
299
+ }
300
+
301
+ public Builder mchId (String mchId ) {
302
+ this .mchId = mchId ;
303
+ return this ;
304
+ }
305
+
306
+ public Builder deviceInfo (String deviceInfo ) {
307
+ this .deviceInfo = deviceInfo ;
308
+ return this ;
309
+ }
310
+
311
+ public Builder partnerTradeNo (String partnerTradeNo ) {
312
+ this .partnerTradeNo = partnerTradeNo ;
313
+ return this ;
314
+ }
315
+
316
+ public Builder openid (String openid ) {
317
+ this .openid = openid ;
318
+ return this ;
319
+ }
320
+
321
+ public Builder checkName (String checkName ) {
322
+ this .checkName = checkName ;
323
+ return this ;
324
+ }
325
+
326
+ public Builder reUserName (String reUserName ) {
327
+ this .reUserName = reUserName ;
328
+ return this ;
329
+ }
330
+
331
+ public Builder amount (Integer amount ) {
332
+ this .amount = amount ;
333
+ return this ;
334
+ }
335
+
336
+ public Builder description (String description ) {
337
+ this .description = description ;
338
+ return this ;
339
+ }
340
+
341
+ public Builder spbillCreateIp (String spbillCreateIp ) {
342
+ this .spbillCreateIp = spbillCreateIp ;
343
+ return this ;
344
+ }
345
+
346
+ public WxEntPayRequest build () {
347
+ return new WxEntPayRequest (this );
348
+ }
349
+
350
+ public Builder subAppId (String subAppId ) {
351
+ this .subAppId = subAppId ;
352
+ return this ;
353
+ }
354
+
355
+ public Builder subMchId (String subMchId ) {
356
+ this .subMchId = subMchId ;
357
+ return this ;
358
+ }
359
+
360
+ public Builder nonceStr (String nonceStr ) {
361
+ this .nonceStr = nonceStr ;
362
+ return this ;
363
+ }
364
+
365
+ public Builder sign (String sign ) {
366
+ this .sign = sign ;
367
+ return this ;
368
+ }
369
+
370
+ public Builder mchAppid (String mchAppid ) {
371
+ this .mchAppid = mchAppid ;
372
+ return this ;
373
+ }
374
+ }
251
375
}
0 commit comments