1 package com.foxinmy.weixin4j.api;
2
3 import com.alibaba.fastjson.JSON;
4 import com.alibaba.fastjson.JSONObject;
5 import com.alibaba.fastjson.TypeReference;
6 import com.foxinmy.weixin4j.exception.WeixinException;
7 import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
8 import com.foxinmy.weixin4j.model.WeixinPayAccount;
9 import com.foxinmy.weixin4j.payment.mch.CustomsOrder;
10 import com.foxinmy.weixin4j.payment.mch.CustomsOrderRecord;
11 import com.foxinmy.weixin4j.payment.mch.CustomsOrderResult;
12 import com.foxinmy.weixin4j.type.CustomsCity;
13 import com.foxinmy.weixin4j.type.IdQuery;
14 import com.foxinmy.weixin4j.xml.ListsuffixResultDeserializer;
15 import com.foxinmy.weixin4j.xml.XmlStream;
16
17
18
19
20
21
22
23
24
25
26
27 @Deprecated
28 public class CustomsApi extends MchApi {
29
30 public CustomsApi(WeixinPayAccount weixinAccount) {
31 super(weixinAccount);
32 }
33
34
35
36
37
38
39
40
41
42
43
44
45
46 public CustomsOrderResult declareCustomsOrder(CustomsOrder customsOrder)
47 throws WeixinException {
48 JSONObject para = (JSONObject) JSON.toJSON(customsOrder);
49 para.put("appid", weixinAccount.getId());
50 para.put("mch_id", weixinAccount.getMchId());
51 para.put("sign", weixinSignature.sign(para));
52 String param = XmlStream.map2xml(para);
53 WeixinResponse response = weixinExecutor.post(
54 getRequestUri("customsorder_declare_uri"), param);
55 return response.getAsObject(new TypeReference<CustomsOrderResult>() {
56 });
57 }
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 public CustomsOrderRecord queryCustomsOrder(IdQuery idQuery,
73 CustomsCity customsCity) throws WeixinException {
74 JSONObject para = new JSONObject();
75 para.put("appid", weixinAccount.getId());
76 para.put("mch_id", weixinAccount.getMchId());
77 para.put(idQuery.getType().getName(), idQuery.getId());
78 para.put("customs", customsCity.name());
79 para.put("sign", weixinSignature.sign(para));
80 String param = XmlStream.map2xml(para);
81 WeixinResponse response = weixinExecutor.post(
82 getRequestUri("customsorder_query_uri"), param);
83 return ListsuffixResultDeserializer.deserialize(response.getAsString(),
84 CustomsOrderRecord.class);
85 }
86 }