1 package com.foxinmy.weixin4j.payment.coupon;
2
3 import java.util.Date;
4
5 import javax.xml.bind.annotation.XmlAccessType;
6 import javax.xml.bind.annotation.XmlAccessorType;
7 import javax.xml.bind.annotation.XmlElement;
8 import javax.xml.bind.annotation.XmlRootElement;
9
10 import com.alibaba.fastjson.annotation.JSONField;
11 import com.foxinmy.weixin4j.payment.mch.MerchantResult;
12 import com.foxinmy.weixin4j.type.mch.CouponStatus;
13 import com.foxinmy.weixin4j.type.mch.CouponStockType;
14 import com.foxinmy.weixin4j.type.mch.CouponType;
15 import com.foxinmy.weixin4j.util.DateUtil;
16
17
18
19
20
21
22
23
24
25
26
27 @Deprecated
28 @XmlRootElement
29 @XmlAccessorType(XmlAccessType.FIELD)
30 public class CouponDetail extends MerchantResult {
31
32 private static final long serialVersionUID = -311265355895457070L;
33
34
35
36
37 @XmlElement(name = "coupon_stock_id")
38 @JSONField(name = "coupon_stock_id")
39 private String couponStockId;
40
41
42
43
44 @XmlElement(name = "coupon_stock_type")
45 @JSONField(name = "coupon_stock_type")
46 private int couponStockType;
47
48
49
50
51 @XmlElement(name = "coupon_id")
52 @JSONField(name = "coupon_id")
53 private String couponId;
54
55
56
57 @XmlElement(name = "coupon_value")
58 @JSONField(name = "coupon_value")
59 private int couponValue;
60
61
62
63
64 @XmlElement(name = "coupon_mininum")
65 @JSONField(name = "coupon_mininum")
66 private int couponMininum;
67
68
69
70 @XmlElement(name = "coupon_name")
71 @JSONField(name = "coupon_name")
72 private String couponName;
73
74
75
76 @XmlElement(name = "coupon_state")
77 @JSONField(name = "coupon_state")
78 private int couponStatus;
79
80
81
82 @XmlElement(name = "coupon_type")
83 @JSONField(name = "coupon_type")
84 private int couponType;
85
86
87
88 @XmlElement(name = "coupon_desc")
89 @JSONField(name = "coupon_desc")
90 private String couponDesc;
91
92
93
94
95 @XmlElement(name = "coupon_use_value")
96 @JSONField(name = "coupon_use_value")
97 private int couponUseValue;
98
99
100
101
102 @XmlElement(name = "coupon_remain_value")
103 @JSONField(name = "coupon_remain_value")
104 private int couponRemainValue;
105
106
107
108
109 @XmlElement(name = "begin_time")
110 @JSONField(name = "begin_time")
111 private String beginTime;
112
113
114
115
116 @XmlElement(name = "end_time")
117 @JSONField(name = "end_time")
118 private String endTime;
119
120
121
122
123 @XmlElement(name = "send_time")
124 @JSONField(name = "send_time")
125 private String sendTime;
126
127
128
129
130 @XmlElement(name = "use_time")
131 @JSONField(name = "use_time")
132 private String useTime;
133
134
135
136
137 @XmlElement(name = "trade_no")
138 @JSONField(name = "trade_no")
139 private String tradeNo;
140
141
142
143
144 @XmlElement(name = "consumer_mch_id")
145 @JSONField(name = "consumer_mch_id")
146 private String consumerMchId;
147
148
149
150
151 @XmlElement(name = "consumer_mch_name")
152 @JSONField(name = "consumer_mch_name")
153 private String consumerMchName;
154
155
156
157
158 @XmlElement(name = "consumer_mch_appid")
159 @JSONField(name = "consumer_mch_appid")
160 private String consumerMchAppid;
161
162
163
164
165 @XmlElement(name = "send_source")
166 @JSONField(name = "send_source")
167 private String sendSource;
168
169
170
171
172 @XmlElement(name = "is_partial_use")
173 @JSONField(name = "is_partial_use")
174 private int isPartialUse;
175
176 public CouponDetail() {
177
178 }
179
180 public String getCouponStockId() {
181 return couponStockId;
182 }
183
184 public int getCouponStockType() {
185 return couponStockType;
186 }
187
188 @JSONField(serialize = false)
189 public CouponStockType getFormatCouponStockType() {
190 for (CouponStockType couponStockType : CouponStockType.values()) {
191 if (couponStockType.getVal() == this.couponStockType) {
192 return couponStockType;
193 }
194 }
195 return null;
196 }
197
198 public String getCouponId() {
199 return couponId;
200 }
201
202 public int getCouponValue() {
203 return couponValue;
204 }
205
206
207
208
209
210
211 @JSONField(serialize = false)
212 public double getFormatCouponValue() {
213 return couponValue / 100d;
214 }
215
216 public int getCouponMininum() {
217 return couponMininum;
218 }
219
220
221
222
223
224
225 @JSONField(serialize = false)
226 public double getFormatCouponMininum() {
227 return couponMininum / 100d;
228 }
229
230 public String getCouponName() {
231 return couponName;
232 }
233
234 public int getCouponStatus() {
235 return couponStatus;
236 }
237
238 @JSONField(serialize = false)
239 public CouponStatus getFormatCouponStatus() {
240 for (CouponStatus couponStatus : CouponStatus.values()) {
241 if (couponStatus.getVal() == this.couponStatus) {
242 return couponStatus;
243 }
244 }
245 return null;
246 }
247
248 public int getCouponType() {
249 return couponType;
250 }
251
252 @JSONField(deserialize = false, serialize = false)
253 public CouponType getFormatCouponType() {
254 for (CouponType couponType : CouponType.values()) {
255 if (couponType.getVal() == this.couponType) {
256 return couponType;
257 }
258 }
259 return null;
260 }
261
262 public String getCouponDesc() {
263 return couponDesc;
264 }
265
266 public int getCouponUseValue() {
267 return couponUseValue;
268 }
269
270
271
272
273
274
275 @JSONField(serialize = false)
276 public double getFormatCouponUseValue() {
277 return couponUseValue / 100d;
278 }
279
280 public int getCouponRemainValue() {
281 return couponRemainValue;
282 }
283
284
285
286
287
288
289 @JSONField(serialize = false)
290 public double getFormatCouponRemainValue() {
291 return couponRemainValue / 100d;
292 }
293
294 public String getBeginTime() {
295 return beginTime;
296 }
297
298 @JSONField(serialize = false)
299 public Date getFormatBeginTime() {
300 return beginTime != null ? DateUtil.parse2yyyyMMddHHmmss(beginTime)
301 : null;
302 }
303
304 public String getEndTime() {
305 return endTime;
306 }
307
308 @JSONField(serialize = false)
309 public Date getFormatEndTime() {
310 return endTime != null ? DateUtil.parse2yyyyMMddHHmmss(endTime) : null;
311 }
312
313 public String getSendTime() {
314 return sendTime;
315 }
316
317 @JSONField(serialize = false)
318 public Date getFormatSendTime() {
319 return sendTime != null ? DateUtil.parse2yyyyMMddHHmmss(sendTime)
320 : null;
321 }
322
323 public String getUseTime() {
324 return useTime;
325 }
326
327 @JSONField(serialize = false)
328 public Date getFormatUseTime() {
329 return useTime != null ? DateUtil.parse2yyyyMMddHHmmss(useTime) : null;
330 }
331
332 public String getTradeNo() {
333 return tradeNo;
334 }
335
336 public String getConsumerMchId() {
337 return consumerMchId;
338 }
339
340 public String getConsumerMchName() {
341 return consumerMchName;
342 }
343
344 public String getConsumerMchAppid() {
345 return consumerMchAppid;
346 }
347
348 public String getSendSource() {
349 return sendSource;
350 }
351
352 public int getIsPartialUse() {
353 return isPartialUse;
354 }
355
356 @JSONField(serialize = false)
357 public boolean getFormatIsPartialUse() {
358 return isPartialUse == 1;
359 }
360
361 @Override
362 public String toString() {
363 return "CouponDetail [couponStockId=" + couponStockId
364 + ", couponStockType=" + getFormatCouponStockType()
365 + ", couponId=" + couponId + ", couponValue="
366 + getFormatCouponValue() + ", couponMininum="
367 + getFormatCouponMininum() + ", couponName=" + couponName
368 + ", couponStatus=" + getCouponStatus() + ", couponType="
369 + getFormatCouponType() + ", couponDesc=" + couponDesc
370 + ", couponUseValue=" + getFormatCouponUseValue()
371 + ", couponRemainValue=" + getFormatCouponRemainValue()
372 + ", beginTime=" + getFormatBeginTime() + ", endTime="
373 + getFormatEndTime() + ", sendTime=" + getFormatSendTime()
374 + ", useTime=" + getFormatUseTime() + ", tradeNo=" + tradeNo
375 + ", consumerMchId=" + consumerMchId + ", consumerMchName="
376 + consumerMchName + ", consumerMchAppid=" + consumerMchAppid
377 + ", sendSource=" + sendSource + ", isPartialUse="
378 + getFormatIsPartialUse() + ", " + super.toString() + "]";
379 }
380 }