View Javadoc
1   package org.oxerr.youzan.dto.ump;
2   
3   import java.io.Serializable;
4   import java.math.BigDecimal;
5   import java.time.Instant;
6   
7   import org.oxerr.youzan.dto.deserializer.InstantDeserializer;
8   
9   import com.fasterxml.jackson.annotation.JsonProperty;
10  import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
11  
12  /**
13   * <a href="http://open.youzan.com/structparam?struct=UmpTradeCoupon">
14   * 订单中使用到的卡券的数据结构</a>.
15   */
16  public class UmpTradeCoupon implements Serializable {
17  
18  	private static final long serialVersionUID = 2016062001L;
19  
20  	/**
21  	 * 卡券的说明
22  	 */
23  	private String couponDescription;
24  
25  	/**
26  	 * 使用时间
27  	 */
28  	private Instant usedAt;
29  
30  	/**
31  	 * 卡券使用条件说明
32  	 */
33  	private String couponCondition;
34  
35  	/**
36  	 * 该组卡券的ID
37  	 */
38  	private Long couponId;
39  
40  	/**
41  	 * 卡券内容。当卡券类型为优惠码时,值为优惠码字符串
42  	 */
43  	private String couponContent;
44  
45  	/**
46  	 * 该组卡券的名称
47  	 */
48  	private String couponName;
49  
50  	/**
51  	 * 卡券的类型。可选值:PROMOCARD(优惠券)、PROMOCODE(优惠码)。
52  	 */
53  	private String couponType;
54  
55  	/**
56  	 * 优惠的金额,单位:元,精确到小数点后两位
57  	 */
58  	private BigDecimal discountFee;
59  
60  	public UmpTradeCoupon() {
61  	}
62  
63  	public UmpTradeCoupon(
64  		@JsonProperty("coupon_description") String couponDescription,
65  		@JsonProperty("used_at")
66  		@JsonDeserialize(using = InstantDeserializer.class)
67  		Instant usedAt,
68  		@JsonProperty("coupon_condition") String couponCondition,
69  		@JsonProperty("coupon_id") Long couponId,
70  		@JsonProperty("coupon_content") String couponContent,
71  		@JsonProperty("coupon_name") String couponName,
72  		@JsonProperty("coupon_type") String couponType,
73  		@JsonProperty("discount_fee") BigDecimal discountFee
74  	) {
75  		this.couponDescription = couponDescription;
76  		this.usedAt = usedAt;
77  		this.couponCondition = couponCondition;
78  		this.couponId = couponId;
79  		this.couponContent = couponContent;
80  		this.couponName = couponName;
81  		this.couponType = couponType;
82  		this.discountFee = discountFee;
83  	}
84  
85  	public String getCouponDescription() {
86  		return couponDescription;
87  	}
88  
89  	public void setCouponDescription(String couponDescription) {
90  		this.couponDescription = couponDescription;
91  	}
92  
93  	public Instant getUsedAt() {
94  		return usedAt;
95  	}
96  
97  	public void setUsedAt(Instant usedAt) {
98  		this.usedAt = usedAt;
99  	}
100 
101 	public String getCouponCondition() {
102 		return couponCondition;
103 	}
104 
105 	public void setCouponCondition(String couponCondition) {
106 		this.couponCondition = couponCondition;
107 	}
108 
109 	public Long getCouponId() {
110 		return couponId;
111 	}
112 
113 	public void setCouponId(Long couponId) {
114 		this.couponId = couponId;
115 	}
116 
117 	public String getCouponContent() {
118 		return couponContent;
119 	}
120 
121 	public void setCouponContent(String couponContent) {
122 		this.couponContent = couponContent;
123 	}
124 
125 	public String getCouponName() {
126 		return couponName;
127 	}
128 
129 	public void setCouponName(String couponName) {
130 		this.couponName = couponName;
131 	}
132 
133 	public String getCouponType() {
134 		return couponType;
135 	}
136 
137 	public void setCouponType(String couponType) {
138 		this.couponType = couponType;
139 	}
140 
141 	public BigDecimal getDiscountFee() {
142 		return discountFee;
143 	}
144 
145 	public void setDiscountFee(BigDecimal discountFee) {
146 		this.discountFee = discountFee;
147 	}
148 
149 }