View Javadoc
1   package com.foxinmy.weixin4j.payment.mch;
2   
3   import javax.xml.bind.annotation.XmlElement;
4   
5   import com.alibaba.fastjson.annotation.JSONField;
6   import com.foxinmy.weixin4j.type.CredentialType;
7   import com.foxinmy.weixin4j.type.CurrencyType;
8   import com.foxinmy.weixin4j.type.CustomsCity;
9   
10  /**
11   * 报关对象
12   * 
13   * @className CustomsOrder
14   * @author jinyu(foxinmy@gmail.com)
15   * @date 2016年3月27日
16   * @since JDK 1.6
17   * @see
18   * @deprecated 迁移到子模块weixin4j-pay
19   */
20  @Deprecated
21  public class CustomsOrder extends MerchantResult {
22  
23  	private static final long serialVersionUID = 799510373861612386L;
24  	/**
25  	 * 微信支付订单号
26  	 */
27  	@XmlElement(name = "transaction_id")
28  	@JSONField(name = "transaction_id")
29  	private String transactionId;
30  	/**
31  	 * 商户订单号
32  	 */
33  	@XmlElement(name = "out_trade_no")
34  	@JSONField(name = "out_trade_no")
35  	private String outTradeNo;
36  	/**
37  	 * 商户子订单号,如有拆单则必传
38  	 */
39  	@XmlElement(name = "sub_order_no")
40  	@JSONField(name = "sub_order_no")
41  	private String subOrderNo;
42  	/**
43  	 * 货币类型,符合 ISO 4217 标准的三位字母代码,默认人民币:CNY
44  	 * 
45  	 * @see com.foxinmy.weixin4j.mp.type.CurrencyType
46  	 */
47  	@XmlElement(name = "fee_type")
48  	@JSONField(name = "fee_type")
49  	private CurrencyType feeType;
50  	/**
51  	 * 子订单金额,以分为单位,不能超过原订单金额,order_fee=transport_fee+product_fee(应付金额=物流费+商品价格),
52  	 * 如有拆单则必传。
53  	 */
54  	@XmlElement(name = "order_fee")
55  	@JSONField(name = "order_fee")
56  	private String orderFee;
57  	/**
58  	 * 物流费用,以分为单位,如有拆单则必传。
59  	 */
60  	@XmlElement(name = "transport_fee")
61  	@JSONField(name = "transport_fee")
62  	private String transportFee;
63  	/**
64  	 * 商品费用,以分为单位,如有拆单则必传。
65  	 */
66  	@XmlElement(name = "product_fee")
67  	@JSONField(name = "product_fee")
68  	private String productFee;
69  	/**
70  	 * 关税,以分为单位
71  	 */
72  	@XmlElement(name = "duty")
73  	@JSONField(name = "duty")
74  	private String dutyFee;
75  	/**
76  	 * 海关
77  	 */
78  	@XmlElement(name = "customs")
79  	@JSONField(name = "customs")
80  	private CustomsCity customsCity;
81  	/**
82  	 * 商户在海关登记的备案号,customsCity非NO,此参数必填
83  	 */
84  	@XmlElement(name = "mch_customs_no")
85  	@JSONField(name = "mch_customs_no")
86  	private String customsNo;
87  	/**
88  	 * 证件类型:暂只支持身份证,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备
89  	 */
90  	@XmlElement(name = "cert_type")
91  	@JSONField(name = "cert_type")
92  	private CredentialType credentialType;
93  	/**
94  	 * 证件号码:身份证号,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备;
95  	 */
96  	@XmlElement(name = "cert_id")
97  	@JSONField(name = "cert_id")
98  	private String credentialId;
99  	/**
100 	 * 用户姓名,该参数是指用户信息,商户若有用户信息,可上送,系统将以商户上传的数据为准,进行海关通关报备;
101 	 */
102 	@XmlElement(name = "name")
103 	@JSONField(name = "name")
104 	private String uname;
105 
106 	public CustomsOrder(String transactionId, String outTradeNo) {
107 		this.transactionId = transactionId;
108 		this.outTradeNo = outTradeNo;
109 		this.customsCity = CustomsCity.NO;
110 	}
111 
112 	public String getSubOrderNo() {
113 		return subOrderNo;
114 	}
115 
116 	public void setSubOrderNo(String subOrderNo) {
117 		this.subOrderNo = subOrderNo;
118 	}
119 
120 	public CurrencyType getFeeType() {
121 		return feeType;
122 	}
123 
124 	public void setFeeType(CurrencyType feeType) {
125 		this.feeType = feeType;
126 	}
127 
128 	public String getOrderFee() {
129 		return orderFee;
130 	}
131 
132 	public void setOrderFee(String orderFee) {
133 		this.orderFee = orderFee;
134 	}
135 
136 	public String getTransportFee() {
137 		return transportFee;
138 	}
139 
140 	public void setTransportFee(String transportFee) {
141 		this.transportFee = transportFee;
142 	}
143 
144 	public String getProductFee() {
145 		return productFee;
146 	}
147 
148 	public void setProductFee(String productFee) {
149 		this.productFee = productFee;
150 	}
151 
152 	public String getDutyFee() {
153 		return dutyFee;
154 	}
155 
156 	public void setDutyFee(String dutyFee) {
157 		this.dutyFee = dutyFee;
158 	}
159 
160 	public CustomsCity getCustomsCity() {
161 		return customsCity;
162 	}
163 
164 	public void setCustomsCity(CustomsCity customsCity) {
165 		this.customsCity = customsCity;
166 	}
167 
168 	public String getCustomsNo() {
169 		return customsNo;
170 	}
171 
172 	public void setCustomsNo(String customsNo) {
173 		this.customsNo = customsNo;
174 	}
175 
176 	public CredentialType getCredentialType() {
177 		return credentialType;
178 	}
179 
180 	public void setCredentialType(CredentialType credentialType) {
181 		this.credentialType = credentialType;
182 	}
183 
184 	public String getCredentialId() {
185 		return credentialId;
186 	}
187 
188 	public void setCredentialId(String credentialId) {
189 		this.credentialId = credentialId;
190 	}
191 
192 	public String getUname() {
193 		return uname;
194 	}
195 
196 	public void setUname(String uname) {
197 		this.uname = uname;
198 	}
199 
200 	public String getTransactionId() {
201 		return transactionId;
202 	}
203 
204 	public String getOutTradeNo() {
205 		return outTradeNo;
206 	}
207 
208 	@Override
209 	public String toString() {
210 		return "CustomsOrder [transactionId=" + transactionId + ", outTradeNo="
211 				+ outTradeNo + ", subOrderNo=" + subOrderNo + ", feeType="
212 				+ feeType + ", orderFee=" + orderFee + ", transportFee="
213 				+ transportFee + ", productFee=" + productFee + ", dutyFee="
214 				+ dutyFee + ", customsCity=" + customsCity + ", customsNo="
215 				+ customsNo + ", credentialType=" + credentialType
216 				+ ", credentialId=" + credentialId + ", uname=" + uname + ", "
217 				+ super.toString() + "]";
218 	}
219 }