1 package com.foxinmy.weixin4j.payment.mch;
2
3 import java.io.Serializable;
4 import java.util.Date;
5 import java.util.List;
6
7 import javax.xml.bind.annotation.XmlAccessType;
8 import javax.xml.bind.annotation.XmlAccessorType;
9 import javax.xml.bind.annotation.XmlElement;
10 import javax.xml.bind.annotation.XmlRootElement;
11
12 import com.alibaba.fastjson.annotation.JSONField;
13 import com.foxinmy.weixin4j.payment.coupon.RefundCouponInfo;
14 import com.foxinmy.weixin4j.type.mch.CouponType;
15 import com.foxinmy.weixin4j.type.mch.RefundChannel;
16 import com.foxinmy.weixin4j.type.mch.RefundStatus;
17 import com.foxinmy.weixin4j.util.DateUtil;
18 import com.foxinmy.weixin4j.xml.ListsuffixResult;
19
20
21
22
23
24
25
26
27
28
29 @Deprecated
30 @XmlRootElement
31 @XmlAccessorType(XmlAccessType.FIELD)
32 public class RefundDetail implements Serializable {
33 private static final long serialVersionUID = 1402738803019986864L;
34
35 protected RefundDetail() {
36
37 }
38
39
40
41
42 @XmlElement(name = "out_refund_no")
43 @JSONField(name = "out_refund_no")
44 private String outRefundNo;
45
46
47
48 @XmlElement(name = "refund_id")
49 @JSONField(name = "refund_id")
50 private String refundId;
51
52
53
54 @XmlElement(name = "refund_channel")
55 @JSONField(name = "refund_channel")
56 private String refundChannel;
57
58
59
60 @XmlElement(name = "refund_fee")
61 @JSONField(name = "refund_fee")
62 private int refundFee;
63
64
65
66 @XmlElement(name = "refund_status")
67 @JSONField(name = "refund_status")
68 private String refundStatus;
69
70
71
72 @XmlElement(name = "settlement_refund_fee")
73 @JSONField(name = "settlement_refund_fee")
74 private Integer settlementRefundFee;
75
76
77
78 @XmlElement(name = "coupon_refund_fee")
79 @JSONField(name = "coupon_refund_fee")
80 private Integer couponRefundFee;
81
82
83
84 @XmlElement(name = "coupon_refund_count")
85 @JSONField(name = "coupon_refund_count")
86 private Integer couponRefundCount;
87
88
89
90
91
92 @XmlElement(name = "coupon_type")
93 @JSONField(name = "coupon_type")
94 private String couponType;
95
96
97
98 @XmlElement(name = "refund_recv_accout")
99 @JSONField(name = "refund_recv_accout")
100 private String refundRecvAccout;
101
102
103
104 @XmlElement(name = "refund_success_time")
105 @JSONField(name = "refund_success_time")
106 private String refundSuccessTime;
107
108
109
110
111
112 @ListsuffixResult
113 private List<RefundCouponInfo> couponList;
114
115 public String getOutRefundNo() {
116 return outRefundNo;
117 }
118
119 public String getRefundId() {
120 return refundId;
121 }
122
123 public String getRefundChannel() {
124 return refundChannel;
125 }
126
127 @JSONField(serialize = false)
128 public RefundChannel getFormatRefundChannel() {
129 return refundChannel != null ? RefundChannel.valueOf(refundChannel
130 .toUpperCase()) : null;
131 }
132
133 public int getRefundFee() {
134 return refundFee;
135 }
136
137 public String getRefundStatus() {
138 return refundStatus;
139 }
140
141 @JSONField(serialize = false)
142 public RefundStatus getFormatRefundStatus() {
143 return refundStatus != null ? RefundStatus.valueOf(refundStatus
144 .toUpperCase()) : null;
145 }
146
147 public List<RefundCouponInfo> getCouponList() {
148 return couponList;
149 }
150
151 public void setCouponList(List<RefundCouponInfo> couponList) {
152 this.couponList = couponList;
153 }
154
155 public Integer getSettlementRefundFee() {
156 return settlementRefundFee;
157 }
158
159
160
161
162
163
164 @JSONField(serialize = false)
165 public double getFormatSettlementRefundFee() {
166 return settlementRefundFee != null ? settlementRefundFee / 100d : 0d;
167 }
168
169 public Integer getCouponRefundFee() {
170 return couponRefundFee;
171 }
172
173
174
175
176
177
178 @JSONField(serialize = false)
179 public double getFormatCouponRefundFee() {
180 return couponRefundFee != null ? couponRefundFee / 100d : 0d;
181 }
182
183 public Integer getCouponRefundCount() {
184 return couponRefundCount;
185 }
186
187 public String getCouponType() {
188 return couponType;
189 }
190
191 @JSONField(serialize = false)
192 public CouponType getFormatCouponType() {
193 return couponType != null ? CouponType
194 .valueOf(couponType.toUpperCase()) : null;
195 }
196
197 public String getRefundRecvAccout() {
198 return refundRecvAccout;
199 }
200
201 public String getRefundSuccessTime() {
202 return refundSuccessTime;
203 }
204
205 @JSONField(serialize = false)
206 public Date getFormatRefundSuccessTime() {
207 return refundSuccessTime != null ? DateUtil.parse2yyyyMMddHHmmss(refundSuccessTime) : null;
208 }
209
210 @Override
211 public String toString() {
212 return "RefundDetail [outRefundNo=" + outRefundNo + ", refundId="
213 + refundId + ", refundChannel=" + refundChannel
214 + ", refundFee=" + refundFee + ", refundStatus=" + refundStatus
215 + ", settlementRefundFee=" + settlementRefundFee
216 + ", couponRefundFee=" + couponRefundFee
217 + ", couponRefundCount=" + couponRefundCount + ", couponType="
218 + couponType + ", refundRecvAccout=" + refundRecvAccout
219 + ", couponList=" + couponList + "]";
220 }
221 }