From f71ae35c5b20e51c5fba91284cc436076c9c73df Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 03 十一月 2020 19:28:19 +0800
Subject: [PATCH] 淘宝订单备份

---
 fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java | 1263 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 666 insertions(+), 597 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java
index d1a08c9..b51a949 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java
@@ -13,6 +13,7 @@
 import java.util.List;
 import java.util.Map;
 
+import com.sun.istack.NotNull;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.methods.PostMethod;
 
@@ -40,691 +41,759 @@
 import net.sf.json.JSONObject;
 
 public class JDApiUtil {
-	public static String APP_ID = "1864778416";
-	public static String APP_KEY = "388f5133d13a5ea290aa5c44f3ebcc00";
-	public static String SECRET_KEY = "e22367fc866746d98b50d47b4c521781";
-	private static String SERVER_URL = "https://router.jd.com/api";
+    public static String APP_ID = "1864778416";
+    public static String APP_KEY = "388f5133d13a5ea290aa5c44f3ebcc00";
+    public static String SECRET_KEY = "e22367fc866746d98b50d47b4c521781";
+    private static String SERVER_URL = "https://router.jd.com/api";
 
-	public static long POSITION_FANLI = 1869704794L;
-	public static long POSITION_SHARE = 1869542990L;
-	public static long POSITION_COUPON = 1869704796L;
+    public static long POSITION_FANLI = 1869704794L;
+    public static long POSITION_SHARE = 1869542990L;
+    public static long POSITION_COUPON = 1869704796L;
 
-	// 璁㈠崟鏌ヨ绫诲瀷
-	public static int ORDER_TYPE_CREATETIME = 1;// 涓嬪崟鏃堕棿
-	public static int ORDER_TYPE_FINISHTIME = 2;// 瀹屾垚鏃堕棿
-	public static int ORDER_TYPE_UPDATETIME = 3;// 鏇存柊鏃堕棿
+    // 璁㈠崟鏌ヨ绫诲瀷
+    public static int ORDER_TYPE_CREATETIME = 1;// 涓嬪崟鏃堕棿
+    public static int ORDER_TYPE_FINISHTIME = 2;// 瀹屾垚鏃堕棿
+    public static int ORDER_TYPE_UPDATETIME = 3;// 鏇存柊鏃堕棿
 
-	private static String post2(String url, Map<String, String> params) {
-		String baseUrl = url;
-		List<String> paramsList = new ArrayList<>();
-		if (params != null)
-			for (Iterator<String> its = params.keySet().iterator(); its.hasNext();) {
-				String key = its.next();
-				try {
-					paramsList.add(key + "=" + URLEncoder.encode(params.get(key), "UTF-8"));
-				} catch (UnsupportedEncodingException e) {
-					e.printStackTrace();
-				}
-			}
-		baseUrl += "?" + StringUtil.concat(paramsList, "&");
-		HttpClient client = new HttpClient();
-		PostMethod pm = new PostMethod(baseUrl);
-		try {
-			client.executeMethod(pm);
-			String result = pm.getResponseBodyAsString();
-			return result;
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
+    private static String post2(String url, Map<String, String> params) {
+        String baseUrl = url;
+        List<String> paramsList = new ArrayList<>();
+        if (params != null)
+            for (Iterator<String> its = params.keySet().iterator(); its.hasNext(); ) {
+                String key = its.next();
+                try {
+                    paramsList.add(key + "=" + URLEncoder.encode(params.get(key), "UTF-8"));
+                } catch (UnsupportedEncodingException e) {
+                    e.printStackTrace();
+                }
+            }
+        baseUrl += "?" + StringUtil.concat(paramsList, "&");
+        HttpClient client = new HttpClient();
+        PostMethod pm = new PostMethod(baseUrl);
+        try {
+            client.executeMethod(pm);
+            String result = pm.getResponseBodyAsString();
+            return result;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 
-	private static String getSign(Map<String, String> params) {
-		List<String> list = new ArrayList<>();
-		Iterator<String> its = params.keySet().iterator();
-		while (its.hasNext()) {
-			String key = its.next();
-			list.add(key + params.get(key));
-		}
-		String str = "";
-		Collections.sort(list);
-		for (String st : list) {
-			str += st;
-		}
-		return StringUtil.Md5(SECRET_KEY + str + SECRET_KEY).toUpperCase();
-	}
+    private static String getSign(Map<String, String> params) {
+        List<String> list = new ArrayList<>();
+        Iterator<String> its = params.keySet().iterator();
+        while (its.hasNext()) {
+            String key = its.next();
+            list.add(key + params.get(key));
+        }
+        String str = "";
+        Collections.sort(list);
+        for (String st : list) {
+            str += st;
+        }
+        return StringUtil.Md5(SECRET_KEY + str + SECRET_KEY).toUpperCase();
+    }
 
-	private static String baseRequest2(String method, String accessToken, JSONObject params) {
-		Map<String, String> baseMap = new HashMap<String, String>();
-		baseMap.put("param_json", params.toString());
-		baseMap.put("app_key", APP_KEY);
-		baseMap.put("method", method);
-		if (accessToken != null)
-			baseMap.put("access_token", accessToken);
-		baseMap.put("timestamp", TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
-		baseMap.put("format", "json");
-		baseMap.put("v", "1.0");
-		baseMap.put("sign_method", "md5");
-		baseMap.put("sign", getSign(baseMap));
-		String result = post2(SERVER_URL, baseMap);
-		return result;
-	}
+    private static String baseRequest2(String method, String accessToken, JSONObject params) {
+        Map<String, String> baseMap = new HashMap<String, String>();
+        baseMap.put("param_json", params.toString());
+        baseMap.put("app_key", APP_KEY);
+        baseMap.put("method", method);
+        if (accessToken != null)
+            baseMap.put("access_token", accessToken);
+        baseMap.put("timestamp", TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
+        baseMap.put("format", "json");
+        baseMap.put("v", "1.0");
+        baseMap.put("sign_method", "md5");
+        baseMap.put("sign", getSign(baseMap));
+        String result = post2(SERVER_URL, baseMap);
+        return result;
+    }
 
-	/**
-	 * 杞摼
-	 * 
-	 * @return
-	 */
-	public static String convertLink1(String materialId, String couponUrl, String positionId, String ext1) {
-		JSONObject json = new JSONObject();
-		json.put("materialId", materialId);
-		json.put("siteId", APP_ID);
-		json.put("positionId", positionId);
+    /**
+     * 杞摼
+     *
+     * @return
+     */
+    public static String convertLink1(String materialId, String couponUrl, String positionId, String ext1) {
+        JSONObject json = new JSONObject();
+        json.put("materialId", materialId);
+        json.put("siteId", APP_ID);
+        json.put("positionId", positionId);
 
-		if (!StringUtil.isNullOrEmpty(couponUrl))
-			json.put("couponUrl", couponUrl);
+        if (!StringUtil.isNullOrEmpty(couponUrl))
+            json.put("couponUrl", couponUrl);
 
-		if (!StringUtil.isNullOrEmpty(ext1))
-			json.put("ext1", ext1);
+        if (!StringUtil.isNullOrEmpty(ext1))
+            json.put("ext1", ext1);
 
-		JSONObject root = new JSONObject();
-		root.put("promotionCodeReq", json);
+        JSONObject root = new JSONObject();
+        root.put("promotionCodeReq", json);
 
-		String result = baseRequest2("jd.union.open.promotion.common.get", null, root);
+        String result = baseRequest2("jd.union.open.promotion.common.get", null, root);
 
-		JSONObject resultJson = JSONObject.fromObject(result);
-		result = resultJson.optJSONObject("jd_union_open_promotion_common_get_response").optString("result");
-		System.out.println(result);
-		if (result == null) {
-			return null;
-		}
+        JSONObject resultJson = JSONObject.fromObject(result);
+        result = resultJson.optJSONObject("jd_union_open_promotion_common_get_response").optString("result");
+        System.out.println(result);
+        if (result == null) {
+            return null;
+        }
 
-		resultJson = JSONObject.fromObject(result);
-		return resultJson.optJSONObject("data").optString("clickURL");
-	}
+        resultJson = JSONObject.fromObject(result);
+        return resultJson.optJSONObject("data").optString("clickURL");
+    }
 
-	public static String convertLinkWithSubUnionId(String materialId, String couponUrl, String positionId,
-			String subUnionId) {
-		String log = "浜笢杞摼鍑洪敊:";
-		try {
-			JSONObject json = new JSONObject();
-			json.put("materialId", materialId);
-			json.put("siteId", APP_ID);
-			json.put("positionId", positionId);
+    public static String convertLinkWithSubUnionId(@NotNull String materialId, String couponUrl, String giftCouponKey, @NotNull String positionId,
+                                                   String subUnionId) {
+        String log = "浜笢杞摼鍑洪敊:";
+        try {
+            JSONObject json = new JSONObject();
 
-			if (!StringUtil.isNullOrEmpty(couponUrl))
-				json.put("couponUrl", couponUrl);
+            json.put("siteId", APP_ID);
+            json.put("positionId", positionId);
+            json.put("materialId", materialId);
 
-			if (!StringUtil.isNullOrEmpty(subUnionId))
-				json.put("subUnionId", subUnionId);
+            if (!StringUtil.isNullOrEmpty(giftCouponKey)) {
+                json.put("giftCouponKey", giftCouponKey);
+            }
+            if (!StringUtil.isNullOrEmpty(couponUrl))
+                json.put("couponUrl", couponUrl);
 
-			// 1锛氶暱閾撅紝 2 锛氱煭閾� 锛�3锛� 闀块摼+鐭摼
-			json.put("chainType", 3);
-			JSONObject root = new JSONObject();
-			root.put("promotionCodeReq", json);
+            if (!StringUtil.isNullOrEmpty(subUnionId))
+                json.put("subUnionId", subUnionId);
 
-			String result = baseRequest2("jd.union.open.promotion.bysubunionid.get", null, root);
+            // 1锛氶暱閾撅紝 2 锛氱煭閾� 锛�3锛� 闀块摼+鐭摼
+            json.put("chainType", 3);
+            JSONObject root = new JSONObject();
+            root.put("promotionCodeReq", json);
 
-			log += json.toString() + "####" + result;
-			JSONObject resultJson = JSONObject.fromObject(result);
-			result = resultJson.optJSONObject("jd_union_open_promotion_bysubunionid_get_response").optString("result");
-			System.out.println(result);
-			if (result == null) {
-				return null;
-			}
+            String result = baseRequest2("jd.union.open.promotion.bysubunionid.get", null, root);
 
-			resultJson = JSONObject.fromObject(result);
-			return resultJson.optJSONObject("data").optString("shortURL");
-		} catch (Exception e) {
-			LogHelper.error(log);
-		}
+            log += json.toString() + "####" + result;
+            JSONObject resultJson = JSONObject.fromObject(result);
+            result = resultJson.optJSONObject("jd_union_open_promotion_bysubunionid_get_response").optString("result");
+            System.out.println(result);
+            if (result == null) {
+                return null;
+            }
 
-		return null;
-	}
+            resultJson = JSONObject.fromObject(result);
+            return resultJson.optJSONObject("data").optString("shortURL");
+        } catch (Exception e) {
+            LogHelper.error(log);
+        }
 
-	public static JDGoods queryGoodsDetail(Long skuId) {
-		List<Long> skuIdList = new ArrayList<>();
-		skuIdList.add(skuId);
-		JDFilter filter = new JDFilter();
-		filter.setPageIndex(1);
-		filter.setPageSize(20);
-		filter.setListId(skuIdList);
-		JDSearchResult searchResult = queryByKey(filter);
-		if (searchResult != null) {
-			List<JDGoods> list = searchResult.getGoodsList();
-			if (list != null && list.size() > 0)
-				return list.get(0);
-		}
-		return null;
-	}
+        return null;
+    }
 
-	public static List<JDGoods> queryGoodsDetail(List<Long> skuIdList) {
-		JDFilter filter = new JDFilter();
-		filter.setPageIndex(1);
-		filter.setPageSize(20);
-		filter.setListId(skuIdList);
-		JDSearchResult searchResult = queryByKey(filter);
-		if (searchResult != null) {
-			List<JDGoods> list = searchResult.getGoodsList();
-			if (list != null && list.size() > 0)
-				return list;
-		}
-		return null;
-	}
+    public static JDGoods queryGoodsDetail(Long skuId) {
+        List<Long> skuIdList = new ArrayList<>();
+        skuIdList.add(skuId);
+        JDFilter filter = new JDFilter();
+        filter.setPageIndex(1);
+        filter.setPageSize(20);
+        filter.setListId(skuIdList);
+        JDSearchResult searchResult = queryByKey(filter);
+        if (searchResult != null) {
+            List<JDGoods> list = searchResult.getGoodsList();
+            if (list != null && list.size() > 0)
+                return list.get(0);
+        }
+        return null;
+    }
 
-	/**
-	 * 閫氳繃鍟嗗搧鎼滅储鎺ュ彛鎵归噺鑾峰彇璇︽儏
-	 * 
-	 * @param skuIds
-	 * @return
-	 */
-	public static List<JDGoods> listGoodsDetail(List<Long> skuIds) {
-		JDFilter filter = new JDFilter();
-		filter.setListId(skuIds);
-		JDSearchResult result = queryByKey(filter);
-		return result.getGoodsList();
-	}
+    public static List<JDGoods> queryGoodsDetail(List<Long> skuIdList) {
+        JDFilter filter = new JDFilter();
+        filter.setPageIndex(1);
+        filter.setPageSize(20);
+        filter.setListId(skuIdList);
+        JDSearchResult searchResult = queryByKey(filter);
+        if (searchResult != null) {
+            List<JDGoods> list = searchResult.getGoodsList();
+            if (list != null && list.size() > 0)
+                return list;
+        }
+        return null;
+    }
 
-	/**
-	 * 鍏抽敭璇嶅晢鍝佹煡璇㈡帴鍙c�愮敵璇枫��
-	 * 
-	 * @param skuIdList
-	 * @return
-	 */
-	public static JDSearchResult queryByKey(JDFilter filter) {
-		JDSearchResult searchResult = new JDSearchResult();
+    /**
+     * 閫氳繃鍟嗗搧鎼滅储鎺ュ彛鎵归噺鑾峰彇璇︽儏
+     *
+     * @param skuIds
+     * @return
+     */
+    public static List<JDGoods> listGoodsDetail(List<Long> skuIds) {
+        JDFilter filter = new JDFilter();
+        filter.setListId(skuIds);
+        JDSearchResult result = queryByKey(filter);
+        return result.getGoodsList();
+    }
 
-		List<JDGoods> list = new ArrayList<>();
-		JSONObject json = new JSONObject();
-		json.put("pageIndex", filter.getPageIndex());
-		json.put("pageSize", filter.getPageSize());
+    /**
+     * 鍏抽敭璇嶅晢鍝佹煡璇㈡帴鍙c�愮敵璇枫��
+     *
+     * @param filter
+     * @return
+     */
+    public static JDSearchResult queryByKey(JDFilter filter) {
+        JDSearchResult searchResult = new JDSearchResult();
 
-		if (filter.getCid1() != null)
-			json.put("cid1", filter.getCid1());
+        List<JDGoods> list = new ArrayList<>();
+        JSONObject json = new JSONObject();
+        json.put("pageIndex", filter.getPageIndex());
+        json.put("pageSize", filter.getPageSize());
 
-		if (filter.getCid2() != null)
-			json.put("cid2", filter.getCid2());
+        if (filter.getCid1() != null)
+            json.put("cid1", filter.getCid1());
 
-		if (filter.getCid3() != null)
-			json.put("cid3", filter.getCid3());
+        if (filter.getCid2() != null)
+            json.put("cid2", filter.getCid2());
 
-		if (filter.getKeyword() != null)
-			json.put("keyword", filter.getKeyword());
+        if (filter.getCid3() != null)
+            json.put("cid3", filter.getCid3());
 
-		if (filter.getPricefrom() != null)
-			json.put("pricefrom", filter.getPricefrom());
+        if (filter.getKeyword() != null)
+            json.put("keyword", filter.getKeyword());
 
-		if (filter.getPriceto() != null)
-			json.put("priceto", filter.getPriceto());
+        if (filter.getPricefrom() != null)
+            json.put("pricefrom", filter.getPricefrom());
 
-		if (filter.getCommissionShareStart() != null)
-			json.put("commissionShareStart", filter.getCommissionShareStart());
+        if (filter.getPriceto() != null)
+            json.put("priceto", filter.getPriceto());
 
-		if (filter.getCommissionShareEnd() != null)
-			json.put("commissionShareEnd", filter.getCommissionShareEnd());
+        if (filter.getCommissionShareStart() != null)
+            json.put("commissionShareStart", filter.getCommissionShareStart());
 
-		if (filter.getSortName() != null)
-			json.put("sortName", filter.getSortName());
+        if (filter.getCommissionShareEnd() != null)
+            json.put("commissionShareEnd", filter.getCommissionShareEnd());
 
-		if (filter.getSort() != null)
-			json.put("sort", filter.getSort());
+        if (filter.getSortName() != null)
+            json.put("sortName", filter.getSortName());
 
-		if (filter.getIsCoupon() != null)
-			json.put("isCoupon", filter.getIsCoupon());
+        if (filter.getSort() != null)
+            json.put("sort", filter.getSort());
 
-		if (filter.getListId() != null)
-			json.put("skuIds", "[" + StringUtil.concat(filter.getListId(), ",") + "]");
+        if (filter.getIsCoupon() != null)
+            json.put("isCoupon", filter.getIsCoupon());
 
-		if (filter.getIsPG() != null)
-			json.put("isPG", filter.getIsPG());
+        if (filter.getListId() != null)
+            json.put("skuIds", "[" + StringUtil.concat(filter.getListId(), ",") + "]");
 
-		if (filter.getPingouPriceStart() != null)
-			json.put("pingouPriceStart", filter.getPingouPriceStart());
+        if (filter.getIsPG() != null)
+            json.put("isPG", filter.getIsPG());
 
-		if (filter.getPingouPriceEnd() != null)
-			json.put("pingouPriceEnd", filter.getPingouPriceEnd());
+        if (filter.getPingouPriceStart() != null)
+            json.put("pingouPriceStart", filter.getPingouPriceStart());
 
-		if (filter.getIsHot() != null)
-			json.put("isHot", filter.getIsHot());
+        if (filter.getPingouPriceEnd() != null)
+            json.put("pingouPriceEnd", filter.getPingouPriceEnd());
 
-		if (filter.getBrandCode() != null)
-			json.put("brandCode", filter.getBrandCode());
+        if (filter.getIsHot() != null)
+            json.put("isHot", filter.getIsHot());
 
-		if (filter.getShopId() != null)
-			json.put("shopId", filter.getShopId());
+        if (filter.getBrandCode() != null)
+            json.put("brandCode", filter.getBrandCode());
 
-		if (filter.getOwner() != null)
-			json.put("owner", filter.getOwner());
+        if (filter.getShopId() != null)
+            json.put("shopId", filter.getShopId());
 
-		System.out.println(json.toString());
+        if (filter.getOwner() != null)
+            json.put("owner", filter.getOwner());
 
-		JSONObject jsonDTO = new JSONObject();
-		jsonDTO.put("goodsReqDTO", json);
+        System.out.println(json.toString());
 
-		String result = baseRequest2("jd.union.open.goods.query", null, jsonDTO);
-		System.out.println(result);
-		JSONObject resultJson = JSONObject.fromObject(result);
-		resultJson = resultJson.optJSONObject("jd_union_open_goods_query_response");
-		if (resultJson.optInt("code") == 0) {
-			result = resultJson.optString("result");
-			resultJson = JSONObject.fromObject(result);
-			String message = resultJson.optString("message");
-			if ("SUCCESS".equalsIgnoreCase(message)) {
-				JSONArray array = resultJson.optJSONArray("data");
-				if (array != null) {
-					for (int i = 0; i < array.size(); i++) {
-						JDGoods goods = parseJDGoods(array.optJSONObject(i));
-						if (goods != null)
-							list.add(goods);
-					}
-				}
-			}
+        JSONObject jsonDTO = new JSONObject();
+        jsonDTO.put("goodsReqDTO", json);
 
-			long totalCount = resultJson.optLong("totalCount");
-			PageEntity pageEntity = new PageEntity();
-			pageEntity.setTotalCount(totalCount);
+        String result = baseRequest2("jd.union.open.goods.query", null, jsonDTO);
+        System.out.println(result);
+        JSONObject resultJson = JSONObject.fromObject(result);
+        resultJson = resultJson.optJSONObject("jd_union_open_goods_query_response");
+        if (resultJson.optInt("code") == 0) {
+            result = resultJson.optString("result");
+            resultJson = JSONObject.fromObject(result);
+            String message = resultJson.optString("message");
+            if ("SUCCESS".equalsIgnoreCase(message)) {
+                JSONArray array = resultJson.optJSONArray("data");
+                if (array != null) {
+                    for (int i = 0; i < array.size(); i++) {
+                        JDGoods goods = parseJDGoods(array.optJSONObject(i));
+                        if (goods != null)
+                            list.add(goods);
+                    }
+                }
+            }
 
-			searchResult.setPageEntity(pageEntity);
-		}
-		searchResult.setGoodsList(list);
-		return searchResult;
-	}
+            long totalCount = resultJson.optLong("totalCount");
+            PageEntity pageEntity = new PageEntity();
+            pageEntity.setTotalCount(totalCount);
 
-	/**
-	 * 瑙f瀽浜笢鐨勫埜淇℃伅
-	 * 
-	 * @param json
-	 * @return
-	 */
-	private static JDCouponInfo parseJDCouponInfo(JSONObject json) {
-		JDCouponInfo couponInfo = new Gson().fromJson(json.toString(), JDCouponInfo.class);
-		return couponInfo;
-	}
+            searchResult.setPageEntity(pageEntity);
+        }
+        searchResult.setGoodsList(list);
+        return searchResult;
+    }
 
-	/**
-	 * 瑙f瀽浜笢鍟嗗搧淇℃伅
-	 * 
-	 * @param json
-	 * @return
-	 */
+    /**
+     * 瑙f瀽浜笢鐨勫埜淇℃伅
+     *
+     * @param json
+     * @return
+     */
+    private static JDCouponInfo parseJDCouponInfo(JSONObject json) {
+        JDCouponInfo couponInfo = new Gson().fromJson(json.toString(), JDCouponInfo.class);
+        return couponInfo;
+    }
 
-	private static JDGoods parseJDGoods(JSONObject json) {
-		JDGoods goods = new JDGoods();
+    /**
+     * 瑙f瀽浜笢鍟嗗搧淇℃伅
+     *
+     * @param json
+     * @return
+     */
 
-		// 浣i噾淇℃伅
-		Object commission = json.get("commissionInfo");
-		JSONObject commissionJson = JSONObject.fromObject(commission);
-		BigDecimal commissionShare = new BigDecimal(commissionJson.optString("commissionShare"));
-		if (commissionShare.compareTo(new BigDecimal(0)) > 0) {
-			JDCommissionInfo commissionInfo = new JDCommissionInfo();
-			commissionInfo.setCommission(new BigDecimal(commissionJson.optString("commission")));
-			commissionInfo.setCommissionShare(commissionShare);
-			goods.setCommissionInfo(commissionInfo);
-		} else {
-			return null;
-		}
+    private static JDGoods parseJDGoods(JSONObject json) {
+        JDGoods goods = new JDGoods();
+
+        // 浣i噾淇℃伅
+        Object commission = json.get("commissionInfo");
+        JSONObject commissionJson = JSONObject.fromObject(commission);
+        BigDecimal commissionShare = new BigDecimal(commissionJson.optString("commissionShare"));
+        if (commissionShare.compareTo(new BigDecimal(0)) > 0) {
+            JDCommissionInfo commissionInfo = new JDCommissionInfo();
+            commissionInfo.setCommission(new BigDecimal(commissionJson.optString("commission")));
+            commissionInfo.setCommissionShare(commissionShare);
+            goods.setCommissionInfo(commissionInfo);
+        } else {
+            return null;
+        }
+
+        goods.setComments(json.optLong("comments"));
+        goods.setBrandCode(json.optString("brandCode"));
+        goods.setBrandName(json.optString("brandName"));
+        goods.setGoodCommentsShare(new BigDecimal(json.optString("goodCommentsShare")));
+        goods.setInOrderCount30Days(json.optLong("inOrderCount30Days"));
+        goods.setOwner(json.optString("owner"));
+        goods.setMaterialUrl(json.optString("materialUrl"));
+        goods.setSkuId(json.optLong("skuId"));
+        goods.setSkuName(json.optString("skuName"));
+        goods.setIsHot(json.optInt("isHot"));
+
+        // 浠锋牸淇℃伅
+        Object priceInfo = json.get("priceInfo");
+        JSONObject priceInfoJson = JSONObject.fromObject(priceInfo);
+        goods.setPrice(new BigDecimal(priceInfoJson.optString("price")));
+
+        // 搴楅摵淇℃伅
+        Object shopInfo = json.get("shopInfo");
+        JSONObject shopInfoJson = JSONObject.fromObject(shopInfo);
+        JDShopInfo jdshopInfo = new JDShopInfo();
+        jdshopInfo.setShopId(shopInfoJson.optInt("shopId"));
+        jdshopInfo.setShopName(shopInfoJson.optString("shopName"));
+        goods.setShopInfo(jdshopInfo);
+
+        // 鍒嗙被淇℃伅
+        Object category = json.get("categoryInfo");
+        JSONObject categoryJson = JSONObject.fromObject(category);
+        JDCategoryInfo categoryInfo = new JDCategoryInfo();
+        categoryInfo.setCid1(categoryJson.optLong("cid1"));
+        categoryInfo.setCid1Name(categoryJson.optString("cid1Name"));
+        categoryInfo.setCid2(categoryJson.optLong("cid2"));
+        categoryInfo.setCid2Name(categoryJson.optString("cid2Name"));
+        categoryInfo.setCid3(categoryJson.optLong("cid3"));
+        categoryInfo.setCid3Name(categoryJson.optString("cid3Name"));
+        goods.setCategoryInfo(categoryInfo);
+
+        // 鍥剧墖淇℃伅
+        List<String> imageList = new ArrayList<String>();
+        Object images = json.get("imageInfo");
+        JSONObject imagesJson = JSONObject.fromObject(images);
+        JSONArray imagesArray = imagesJson.optJSONArray("imageList");
+        for (int i = 0; i < imagesArray.size(); i++) {
+            imageList.add(imagesArray.optJSONObject(i).optString("url"));
+        }
+        goods.setImageList(imageList);
+
+        if (imageList.size() > 0) {
+            goods.setPicUrl(imageList.get(0));
+        }
+
+        BigDecimal price = new BigDecimal(priceInfoJson.optString("price"));
+        // 鎷艰喘淇℃伅
+        Object pinGouInfo = json.get("pinGouInfo");
+        if (pinGouInfo != null) {
+            JSONObject pinGouInfoJson = JSONObject.fromObject(pinGouInfo);
+            if (!pinGouInfoJson.isEmpty()) {
+                JDPingouInfo jdPinGouInfo = new JDPingouInfo();
+                price = new BigDecimal(pinGouInfoJson.optString("pingouPrice"));
+                jdPinGouInfo.setPingouPrice(price);
+                jdPinGouInfo.setPingouTmCount(pinGouInfoJson.optLong("pingouTmCount"));
+                jdPinGouInfo.setPingouUrl(pinGouInfoJson.optString("pingouUrl"));
+                jdPinGouInfo.setTotalCount(pinGouInfoJson.optLong("totalCount"));
+                jdPinGouInfo.setPingouEndTime(pinGouInfoJson.optLong("pingouEndTime"));
+                jdPinGouInfo.setPingouStartTime(pinGouInfoJson.optLong("pingouStartTime"));
+                goods.setPinGouInfo(jdPinGouInfo);
+            }
+        }
+
+        // 鍒镐俊鎭�
+        Object coupon = json.get("couponInfo");
+        if (coupon != null) {
+            JSONObject couponJson = JSONObject.fromObject(coupon);
+            JSONArray couponArray = couponJson.optJSONArray("couponList");
+            if (couponArray != null) {
+                List<JDCouponInfo> couponInfoList = new ArrayList<>();
+                for (int i = 0; i < couponArray.size(); i++) {
+                    JDCouponInfo couponInfo = parseJDCouponInfo(couponArray.optJSONObject(i));
+                    if (couponInfo != null)
+                        couponInfoList.add(couponInfo);
+                }
+
+                // 鏍规嵁娑堣垂鏉′欢鎺掑簭
+                Comparator<JDCouponInfo> cm = new Comparator<JDCouponInfo>() {
+                    @Override
+                    public int compare(JDCouponInfo o1, JDCouponInfo o2) {
+                        return o1.getQuota().compareTo(o2.getQuota());
+                    }
+                };
+                Collections.sort(couponInfoList, cm);
+                // if (couponInfoList.size() > 0) {
+                // // 璁剧疆鍒镐俊鎭负鏈�鎺ヨ繎鐨勪竴涓�
+                // for (int i = couponInfoList.size() - 1; i >= 0; i--) {
+                // if
+                // (couponInfoList.get(i).getQuota().compareTo(goods.getPrice())
+                // <= 0) {
+                // goods.setCouponInfo(couponInfoList.get(i));
+                // break;
+                // }
+                // }
+                // if (goods.getCouponInfo() == null)
+                // goods.setCouponInfo(couponInfoList.get(0));
+                // }
+                //
+                goods.setCouponInfoList(couponInfoList);
 
-		goods.setComments(json.optLong("comments"));
-		goods.setBrandCode(json.optString("brandCode"));
-		goods.setBrandName(json.optString("brandName"));
-		goods.setGoodCommentsShare(new BigDecimal(json.optString("goodCommentsShare")));
-		goods.setInOrderCount30Days(json.optLong("inOrderCount30Days"));
-		goods.setOwner(json.optString("owner"));
-		goods.setMaterialUrl(json.optString("materialUrl"));
-		goods.setSkuId(json.optLong("skuId"));
-		goods.setSkuName(json.optString("skuName"));
-		goods.setIsHot(json.optInt("isHot"));
+            }
+        }
 
-		// 浠锋牸淇℃伅
-		Object priceInfo = json.get("priceInfo");
-		JSONObject priceInfoJson = JSONObject.fromObject(priceInfo);
-		goods.setPrice(new BigDecimal(priceInfoJson.optString("price")));
+        return goods;
+    }
 
-		// 搴楅摵淇℃伅
-		Object shopInfo = json.get("shopInfo");
-		JSONObject shopInfoJson = JSONObject.fromObject(shopInfo);
-		JDShopInfo jdshopInfo = new JDShopInfo();
-		jdshopInfo.setShopId(shopInfoJson.optInt("shopId"));
-		jdshopInfo.setShopName(shopInfoJson.optString("shopName"));
-		goods.setShopInfo(jdshopInfo);
+    /**
+     * 鑾峰彇鎺ㄥ箍鍟嗗搧淇℃伅鎺ュ彛
+     *
+     * @param skuIdList
+     * @return
+     */
+    public static List<JDGoods> getGoodsDetail(List<Long> skuIdList) {
+        List<JDGoods> list = new ArrayList<>();
+        JSONObject json = new JSONObject();
+        json.put("skuIds", StringUtil.concat(skuIdList, ","));
+        String result = baseRequest2("jd.union.open.goods.promotiongoodsinfo.query", null, json);
+        JSONObject resultJson = JSONObject.fromObject(result);
+        resultJson = resultJson.optJSONObject("jd_union_open_goods_promotiongoodsinfo_query_response");
+        if (resultJson.optInt("code") == 0) {
+            result = resultJson.optString("result");
+            resultJson = JSONObject.fromObject(result);
+            JSONArray array = resultJson.optJSONArray("data");
+            if (array != null)
+                for (int i = 0; i < array.size(); i++) {
+                    JDGoods goods = parseSimpleJDGoods(array.optJSONObject(i));
+                    if (goods != null)
+                        list.add(goods);
+                }
+        }
+        return list;
+    }
 
-		// 鍒嗙被淇℃伅
-		Object category = json.get("categoryInfo");
-		JSONObject categoryJson = JSONObject.fromObject(category);
-		JDCategoryInfo categoryInfo = new JDCategoryInfo();
-		categoryInfo.setCid1(categoryJson.optLong("cid1"));
-		categoryInfo.setCid1Name(categoryJson.optString("cid1Name"));
-		categoryInfo.setCid2(categoryJson.optLong("cid2"));
-		categoryInfo.setCid2Name(categoryJson.optString("cid2Name"));
-		categoryInfo.setCid3(categoryJson.optLong("cid3"));
-		categoryInfo.setCid3Name(categoryJson.optString("cid3Name"));
-		goods.setCategoryInfo(categoryInfo);
+    private static JDGoods parseSimpleJDGoods(JSONObject json) {
+        JDGoods goods = new JDGoods();
+        goods.setPrice(StringUtil.isNullOrEmpty(json.optString("wlUnitPrice"))
+                ? new BigDecimal(json.optString("unitPrice")) : new BigDecimal(json.optString("wlUnitPrice")));
 
-		// 鍥剧墖淇℃伅
-		List<String> imageList = new ArrayList<String>();
-		Object images = json.get("imageInfo");
-		JSONObject imagesJson = JSONObject.fromObject(images);
-		JSONArray imagesArray = imagesJson.optJSONArray("imageList");
-		for (int i = 0; i < imagesArray.size(); i++) {
-			imageList.add(imagesArray.optJSONObject(i).optString("url"));
-		}
-		goods.setImageList(imageList);
+        BigDecimal commisionRatioWl = new BigDecimal(json.optString("commisionRatioWl"));
+        if (commisionRatioWl.compareTo(new BigDecimal(0)) > 0) {
+            JDCommissionInfo commissionInfo = new JDCommissionInfo();
+            commissionInfo.setCommissionShare(new BigDecimal(json.optString("commisionRatioWl")));
+            commissionInfo.setCommission(MoneyBigDecimalUtil
+                    .div(goods.getPrice().multiply(commissionInfo.getCommissionShare()), new BigDecimal(100)));
+            goods.setCommissionInfo(commissionInfo);
+        } else {
+            return null;
+        }
 
-		if (imageList.size() > 0) {
-			goods.setPicUrl(imageList.get(0));
-		}
+        JDCategoryInfo categoryInfo = new JDCategoryInfo();
+        categoryInfo.setCid1(json.optLong("cid1"));
+        categoryInfo.setCid1Name(json.optString("cid1Name"));
+        categoryInfo.setCid2(json.optLong("cid2"));
+        categoryInfo.setCid2Name(json.optString("cid2Name"));
+        categoryInfo.setCid3(json.optLong("cid3"));
+        categoryInfo.setCid3Name(json.optString("cid3Name"));
 
-		BigDecimal price = new BigDecimal(priceInfoJson.optString("price"));
-		// 鎷艰喘淇℃伅
-		Object pinGouInfo = json.get("pinGouInfo");
-		if (pinGouInfo != null) {
-			JSONObject pinGouInfoJson = JSONObject.fromObject(pinGouInfo);
-			if (!pinGouInfoJson.isEmpty()) {
-				JDPingouInfo jdPinGouInfo = new JDPingouInfo();
-				price = new BigDecimal(pinGouInfoJson.optString("pingouPrice"));
-				jdPinGouInfo.setPingouPrice(price);
-				jdPinGouInfo.setPingouTmCount(pinGouInfoJson.optLong("pingouTmCount"));
-				jdPinGouInfo.setPingouUrl(pinGouInfoJson.optString("pingouUrl"));
-				jdPinGouInfo.setTotalCount(pinGouInfoJson.optLong("totalCount"));
-				jdPinGouInfo.setPingouEndTime(pinGouInfoJson.optLong("pingouEndTime"));
-				jdPinGouInfo.setPingouStartTime(pinGouInfoJson.optLong("pingouStartTime"));
-				goods.setPinGouInfo(jdPinGouInfo);
-			}
-		}
+        goods.setCategoryInfo(categoryInfo);
+        goods.setComments(null);
 
-		// 鍒镐俊鎭�
-		Object coupon = json.get("couponInfo");
-		if (coupon != null) {
-			JSONObject couponJson = JSONObject.fromObject(coupon);
-			JSONArray couponArray = couponJson.optJSONArray("couponList");
-			if (couponArray != null) {
-				List<JDCouponInfo> couponInfoList = new ArrayList<>();
-				for (int i = 0; i < couponArray.size(); i++) {
-					JDCouponInfo couponInfo = parseJDCouponInfo(couponArray.optJSONObject(i));
-					if (couponInfo != null)
-						couponInfoList.add(couponInfo);
-				}
+        String isFreeShipping = json.optString("isFreeShipping");
+        if (!StringUtil.isNullOrEmpty(isFreeShipping)) {
+            goods.setIsFreeShipping(Integer.parseInt(isFreeShipping));
+        }
+        String inOrderCount = json.optString("inOrderCount");
+        if (!StringUtil.isNullOrEmpty(isFreeShipping)) {
+            goods.setInOrderCount30Days(Long.parseLong(inOrderCount));
+        }
 
-				// 鏍规嵁娑堣垂鏉′欢鎺掑簭
-				Comparator<JDCouponInfo> cm = new Comparator<JDCouponInfo>() {
-					@Override
-					public int compare(JDCouponInfo o1, JDCouponInfo o2) {
-						return o1.getQuota().compareTo(o2.getQuota());
-					}
-				};
-				Collections.sort(couponInfoList, cm);
-				// if (couponInfoList.size() > 0) {
-				// // 璁剧疆鍒镐俊鎭负鏈�鎺ヨ繎鐨勪竴涓�
-				// for (int i = couponInfoList.size() - 1; i >= 0; i--) {
-				// if
-				// (couponInfoList.get(i).getQuota().compareTo(goods.getPrice())
-				// <= 0) {
-				// goods.setCouponInfo(couponInfoList.get(i));
-				// break;
-				// }
-				// }
-				// if (goods.getCouponInfo() == null)
-				// goods.setCouponInfo(couponInfoList.get(0));
-				// }
-				//
-				goods.setCouponInfoList(couponInfoList);
+        goods.setGoodCommentsShare(null);
+        List<String> imageList = new ArrayList<>();
+        imageList.add(json.optString("imgUrl"));
+        goods.setPicUrl(json.optString("imgUrl"));
+        goods.setImageList(imageList);
+        goods.setIsHot(null);
+        goods.setMaterialUrl(json.optString("materialUrl"));
+        goods.setOwner(null);
+        goods.setPinGouInfo(null);
 
-			}
-		}
+        JDShopInfo shopInfo = new JDShopInfo();
+        shopInfo.setShopId(json.optInt("shopId"));
+        shopInfo.setShopName(null);
+        goods.setShopInfo(shopInfo);
+        goods.setSkuId(json.optLong("skuId"));
+        goods.setSkuName(json.optString("goodsName"));
+        goods.setTotalCount(null);
 
-		return goods;
-	}
+        return goods;
+    }
 
-	/**
-	 * 鑾峰彇鎺ㄥ箍鍟嗗搧淇℃伅鎺ュ彛
-	 * 
-	 * @param skuIdList
-	 * @return
-	 */
-	public static List<JDGoods> getGoodsDetail(List<Long> skuIdList) {
-		List<JDGoods> list = new ArrayList<>();
-		JSONObject json = new JSONObject();
-		json.put("skuIds", StringUtil.concat(skuIdList, ","));
-		String result = baseRequest2("jd.union.open.goods.promotiongoodsinfo.query", null, json);
-		JSONObject resultJson = JSONObject.fromObject(result);
-		resultJson = resultJson.optJSONObject("jd_union_open_goods_promotiongoodsinfo_query_response");
-		if (resultJson.optInt("code") == 0) {
-			result = resultJson.optString("result");
-			resultJson = JSONObject.fromObject(result);
-			JSONArray array = resultJson.optJSONArray("data");
-			if (array != null)
-				for (int i = 0; i < array.size(); i++) {
-					JDGoods goods = parseSimpleJDGoods(array.optJSONObject(i));
-					if (goods != null)
-						list.add(goods);
-				}
-		}
-		return list;
-	}
+    public static JDSearchResult getJingFenGoods(int pageIndex, int eliteId) {
+        JDSearchResult searchResult = new JDSearchResult();
+        List<JDGoods> list = new ArrayList<>();
+        JSONObject json = new JSONObject();
+        json.put("pageIndex", pageIndex);
+        json.put("pageSize", 20);
+        json.put("sortName", "inOrderCount30DaysSku");
+        json.put("sort", "desc");
+        json.put("eliteId", eliteId);
 
-	private static JDGoods parseSimpleJDGoods(JSONObject json) {
-		JDGoods goods = new JDGoods();
-		goods.setPrice(StringUtil.isNullOrEmpty(json.optString("wlUnitPrice"))
-				? new BigDecimal(json.optString("unitPrice")) : new BigDecimal(json.optString("wlUnitPrice")));
+        JSONObject jsonDTO = new JSONObject();
+        jsonDTO.put("goodsReq", json);
 
-		BigDecimal commisionRatioWl = new BigDecimal(json.optString("commisionRatioWl"));
-		if (commisionRatioWl.compareTo(new BigDecimal(0)) > 0) {
-			JDCommissionInfo commissionInfo = new JDCommissionInfo();
-			commissionInfo.setCommissionShare(new BigDecimal(json.optString("commisionRatioWl")));
-			commissionInfo.setCommission(MoneyBigDecimalUtil
-					.div(goods.getPrice().multiply(commissionInfo.getCommissionShare()), new BigDecimal(100)));
-			goods.setCommissionInfo(commissionInfo);
-		} else {
-			return null;
-		}
+        String result = baseRequest2("jd.union.open.goods.jingfen.query", null, jsonDTO);
+        LogHelper.test(result);
+        System.out.println(result);
+        JSONObject resultJson = JSONObject.fromObject(result);
+        resultJson = resultJson.optJSONObject("jd_union_open_goods_jingfen_query_response");
+        if (resultJson.optInt("code") == 0) {
+            result = resultJson.optString("result");
+            resultJson = JSONObject.fromObject(result);
+            String message = resultJson.optString("message");
+            if ("SUCCESS".equalsIgnoreCase(message)) {
+                JSONArray array = resultJson.optJSONArray("data");
+                if (array != null) {
+                    for (int i = 0; i < array.size(); i++) {
+                        JDGoods goods = parseJDGoods(array.optJSONObject(i));
+                        if (goods != null)
+                            list.add(goods);
+                    }
+                }
+            }
 
-		JDCategoryInfo categoryInfo = new JDCategoryInfo();
-		categoryInfo.setCid1(json.optLong("cid1"));
-		categoryInfo.setCid1Name(json.optString("cid1Name"));
-		categoryInfo.setCid2(json.optLong("cid2"));
-		categoryInfo.setCid2Name(json.optString("cid2Name"));
-		categoryInfo.setCid3(json.optLong("cid3"));
-		categoryInfo.setCid3Name(json.optString("cid3Name"));
+            long totalCount = resultJson.optLong("totalCount");
+            PageEntity pageEntity = new PageEntity();
+            pageEntity.setTotalCount(totalCount);
 
-		goods.setCategoryInfo(categoryInfo);
-		goods.setComments(null);
+            searchResult.setPageEntity(pageEntity);
+        }
+        searchResult.setGoodsList(list);
+        return searchResult;
+    }
 
-		String isFreeShipping = json.optString("isFreeShipping");
-		if (!StringUtil.isNullOrEmpty(isFreeShipping)) {
-			goods.setIsFreeShipping(Integer.parseInt(isFreeShipping));
-		}
-		String inOrderCount = json.optString("inOrderCount");
-		if (!StringUtil.isNullOrEmpty(isFreeShipping)) {
-			goods.setInOrderCount30Days(Long.parseLong(inOrderCount));
-		}
+    public static List<GoodsClass> getGoodsClass(int parentId, int grade) {
+        JDSearchResult searchResult = new JDSearchResult();
+        List<GoodsClass> list = new ArrayList<>();
+        JSONObject json = new JSONObject();
+        json.put("parentId", parentId);
+        json.put("grade", grade);
 
-		goods.setGoodCommentsShare(null);
-		List<String> imageList = new ArrayList<>();
-		imageList.add(json.optString("imgUrl"));
-		goods.setPicUrl(json.optString("imgUrl"));
-		goods.setImageList(imageList);
-		goods.setIsHot(null);
-		goods.setMaterialUrl(json.optString("materialUrl"));
-		goods.setOwner(null);
-		goods.setPinGouInfo(null);
+        JSONObject jsonDTO = new JSONObject();
+        jsonDTO.put("req", json);
 
-		JDShopInfo shopInfo = new JDShopInfo();
-		shopInfo.setShopId(json.optInt("shopId"));
-		shopInfo.setShopName(null);
-		goods.setShopInfo(shopInfo);
-		goods.setSkuId(json.optLong("skuId"));
-		goods.setSkuName(json.optString("goodsName"));
-		goods.setTotalCount(null);
+        String result = baseRequest2("jd.union.open.category.goods.get", null, jsonDTO);
+        System.out.println(result);
+        JSONObject resultJson = JSONObject.fromObject(result);
+        resultJson = resultJson.optJSONObject("jd_union_open_category_goods_get_response");
+        if (resultJson.optInt("code") == 0) {
+            result = resultJson.optString("result");
+            resultJson = JSONObject.fromObject(result);
+            String message = resultJson.optString("message");
+            if ("SUCCESS".equalsIgnoreCase(message)) {
+                JSONArray array = resultJson.optJSONArray("data");
+                if (array != null) {
+                    for (int i = 0; i < array.size(); i++) {
+                        GoodsClass gc = new GoodsClass();
+                        JSONObject item = array.optJSONObject(i);
+                        gc.setName(item.optString("name"));
+                        gc.setId(item.optLong("id"));
+                        list.add(gc);
+                    }
+                }
+            }
 
-		return goods;
-	}
+            long totalCount = resultJson.optLong("totalCount");
+            PageEntity pageEntity = new PageEntity();
+            pageEntity.setTotalCount(totalCount);
+            searchResult.setPageEntity(pageEntity);
+        }
+        return list;
+    }
 
-	public static JDSearchResult getJingFenGoods(int pageIndex, int eliteId) {
-		JDSearchResult searchResult = new JDSearchResult();
-		List<JDGoods> list = new ArrayList<>();
-		JSONObject json = new JSONObject();
-		json.put("pageIndex", pageIndex);
-		json.put("pageSize", 20);
-		json.put("sortName", "inOrderCount30DaysSku");
-		json.put("sort", "desc");
-		json.put("eliteId", eliteId);
+    public static JDGoods getGoodsDetail(Long skuId) {
+        List<Long> skuIdList = new ArrayList<>();
+        skuIdList.add(skuId);
+        List<JDGoods> list = getGoodsDetail(skuIdList);
+        if (list != null && list.size() > 0)
+            return list.get(0);
+        return null;
+    }
 
-		JSONObject jsonDTO = new JSONObject();
-		jsonDTO.put("goodsReq", json);
+    /**
+     * 鑾峰彇璁㈠崟鍒楄〃
+     *
+     * @param page
+     * @param pageSize
+     * @param time
+     * @param type     鏃堕棿绫诲瀷 1-涓嬪崟鏃堕棿 2-瀹屾垚鏃堕棿 3-鏇存柊鏃堕棿
+     * @return
+     */
+    public static JDOrderResult getOrderList(int page, int pageSize, Date time, int type) {
+        JSONObject json = new JSONObject();
+        JSONObject orderReq = new JSONObject();
+        orderReq.put("pageNo", page);
+        orderReq.put("pageSize", pageSize);
+        orderReq.put("type", type);
+        orderReq.put("time", TimeUtil.getGernalTime(time.getTime(), "yyyyMMddHH"));
 
-		String result = baseRequest2("jd.union.open.goods.jingfen.query", null, jsonDTO);
-		LogHelper.test(result);
-		System.out.println(result);
-		JSONObject resultJson = JSONObject.fromObject(result);
-		resultJson = resultJson.optJSONObject("jd_union_open_goods_jingfen_query_response");
-		if (resultJson.optInt("code") == 0) {
-			result = resultJson.optString("result");
-			resultJson = JSONObject.fromObject(result);
-			String message = resultJson.optString("message");
-			if ("SUCCESS".equalsIgnoreCase(message)) {
-				JSONArray array = resultJson.optJSONArray("data");
-				if (array != null) {
-					for (int i = 0; i < array.size(); i++) {
-						JDGoods goods = parseJDGoods(array.optJSONObject(i));
-						if (goods != null)
-							list.add(goods);
-					}
-				}
-			}
+        json.put("orderReq", orderReq);
+        String result = baseRequest2("jd.union.open.order.query", null, json);
+        System.out.println(result);
+        JSONObject root = JSONObject.fromObject(result).optJSONObject("jd_union_open_order_query_response");
+        if (root.optInt("code") == 0) {
+            boolean hasMore = root.optBoolean("hasMore");
+            root = JSONObject.fromObject(root.optString("result"));
+            if (root.optInt("code") == 200 && root.optJSONArray("data") != null) {
 
-			long totalCount = resultJson.optLong("totalCount");
-			PageEntity pageEntity = new PageEntity();
-			pageEntity.setTotalCount(totalCount);
+                String date = root.optJSONArray("data").toString();
+                Type typeToken = new TypeToken<List<JDOrder>>() {
+                }.getType();
+                List<JDOrder> orderList = new Gson().fromJson(date, typeToken);
+                if (orderList != null)
+                    for (JDOrder order : orderList) {
+                        Map<Long, List<JDOrderItem>> map = new HashMap<>();
+                        for (int i = 0; i < order.getOrderItemList().size(); i++) {
+                            JDOrderItem orderItem = order.getOrderItemList().get(i);
+                            if (map.get(orderItem.getSkuId()) == null)
+                                map.put(orderItem.getSkuId(), new ArrayList<>());
+                            map.get(orderItem.getSkuId()).add(orderItem);
 
-			searchResult.setPageEntity(pageEntity);
-		}
-		searchResult.setGoodsList(list);
-		return searchResult;
-	}
+                            order.getOrderItemList().get(i)
+                                    .setTradeId(order.getOrderId() + "-" + order.getOrderItemList().get(i).getSkuId());
+                            order.getOrderItemList().get(i).setOrderId(order.getOrderId());
+                            order.getOrderItemList().get(i).setOrderBy(i + 1);
+                        }
+                        // 鏌ヨ鍟嗗搧ID鐩稿悓鐨勫瓙璁㈠崟
+                        for (Iterator<Long> its = map.keySet().iterator(); its.hasNext(); ) {
+                            Long skuId = its.next();
+                            if (map.get(skuId).size() > 1) {
+                                int skuOrderBy = 1;
+                                for (int i = 0; i < order.getOrderItemList().size(); i++) {
+                                    JDOrderItem orderItem = order.getOrderItemList().get(i);
+                                    if (orderItem.getSkuId().longValue() == skuId) {
+                                        order.getOrderItemList().get(i).setTradeId(order.getOrderId() + "-"
+                                                + order.getOrderItemList().get(i).getSkuId() + "-" + skuOrderBy++);
+                                    }
+                                }
+                            }
+                        }
 
-	public static List<GoodsClass> getGoodsClass(int parentId, int grade) {
-		JDSearchResult searchResult = new JDSearchResult();
-		List<GoodsClass> list = new ArrayList<>();
-		JSONObject json = new JSONObject();
-		json.put("parentId", parentId);
-		json.put("grade", grade);
+                    }
+                return new JDOrderResult(hasMore, orderList);
+            }
+        }
+        return null;
+    }
 
-		JSONObject jsonDTO = new JSONObject();
-		jsonDTO.put("req", json);
 
-		String result = baseRequest2("jd.union.open.category.goods.get", null, jsonDTO);
-		System.out.println(result);
-		JSONObject resultJson = JSONObject.fromObject(result);
-		resultJson = resultJson.optJSONObject("jd_union_open_category_goods_get_response");
-		if (resultJson.optInt("code") == 0) {
-			result = resultJson.optString("result");
-			resultJson = JSONObject.fromObject(result);
-			String message = resultJson.optString("message");
-			if ("SUCCESS".equalsIgnoreCase(message)) {
-				JSONArray array = resultJson.optJSONArray("data");
-				if (array != null) {
-					for (int i = 0; i < array.size(); i++) {
-						GoodsClass gc = new GoodsClass();
-						JSONObject item = array.optJSONObject(i);
-						gc.setName(item.optString("name"));
-						gc.setId(item.optLong("id"));
-						list.add(gc);
-					}
-				}
-			}
+    public static String createLiJin(String sku) {
+        JSONObject json = new JSONObject();
+        JSONObject couponReq = new JSONObject();
+        couponReq.put("skuMaterialId", sku);
+        couponReq.put("discount", 10);
+        couponReq.put("amount", 5);
+        couponReq.put("receiveStartTime", TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH"));
+        couponReq.put("receiveEndTime", TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 2, "yyyy-MM-dd HH"));
+        couponReq.put("isSpu", 0);
+        couponReq.put("expireType", 2);
+        couponReq.put("useStartTime", TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd"));
+        couponReq.put("useEndTime", TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60L * 24, "yyyy-MM-dd"));
+        couponReq.put("share", 1);
+        couponReq.put("contentMatch", 0);
 
-			long totalCount = resultJson.optLong("totalCount");
-			PageEntity pageEntity = new PageEntity();
-			pageEntity.setTotalCount(totalCount);
-			searchResult.setPageEntity(pageEntity);
-		}
-		return list;
-	}
+        json.put("couponReq", couponReq);
+        String result = baseRequest2("jd.union.open.coupon.gift.get", null, json);
+        System.out.println(result);
+        JSONObject root = JSONObject.fromObject(result).optJSONObject("jd_union_open_coupon_gift_get_response");
+        if (root.optInt("code") == 0) {
+            boolean hasMore = root.optBoolean("hasMore");
+            root = JSONObject.fromObject(root.optString("result"));
+            if (root.optInt("code") == 200 && root.optJSONObject("data") != null) {
+                JSONObject data = root.optJSONObject("data");
+                String giftCouponKey = data.optString("giftCouponKey");
+                return giftCouponKey;
+            }
+        }
+        return null;
+    }
 
-	public static JDGoods getGoodsDetail(Long skuId) {
-		List<Long> skuIdList = new ArrayList<>();
-		skuIdList.add(skuId);
-		List<JDGoods> list = getGoodsDetail(skuIdList);
-		if (list != null && list.size() > 0)
-			return list.get(0);
-		return null;
-	}
 
-	/**
-	 * 鑾峰彇璁㈠崟鍒楄〃
-	 * 
-	 * @param page
-	 * @param pageSize
-	 * @param time
-	 * @param type
-	 *            鏃堕棿绫诲瀷 1-涓嬪崟鏃堕棿 2-瀹屾垚鏃堕棿 3-鏇存柊鏃堕棿
-	 * @return
-	 */
-	public static JDOrderResult getOrderList(int page, int pageSize, Date time, int type) {
-		JSONObject json = new JSONObject();
-		JSONObject orderReq = new JSONObject();
-		orderReq.put("pageNo", page);
-		orderReq.put("pageSize", pageSize);
-		orderReq.put("type", type);
-		orderReq.put("time", TimeUtil.getGernalTime(time.getTime(), "yyyyMMddHH"));
+    public static void toolConvert() {
+        JSONObject json = new JSONObject();
+        JSONObject couponReq = new JSONObject();
+        couponReq.put("materialId", "https://item.jd.com/71751967284.html");
+        couponReq.put("unionId", "2011217145");
+//        couponReq.put("pid", "2011217145_4100059717_3003005722");
+        couponReq.put("subUnionId", "123_437032");
+        couponReq.put("giftCouponKey","123123123123");
+        json.put("promotionCodeReq", couponReq);
+        String result = baseRequest2("jd.union.open.promotion.byunionid.get", null, json);
+        System.out.println(result);
+    }
 
-		json.put("orderReq", orderReq);
-		String result = baseRequest2("jd.union.open.order.query", null, json);
-		System.out.println(result);
-		JSONObject root = JSONObject.fromObject(result).optJSONObject("jd_union_open_order_query_response");
-		if (root.optInt("code") == 0) {
-			boolean hasMore = root.optBoolean("hasMore");
-			root = JSONObject.fromObject(root.optString("result"));
-			if (root.optInt("code") == 200 && root.optJSONArray("data") != null) {
+    public static void toolOrder() {
+        JSONObject json = new JSONObject();
+        JSONObject couponReq = new JSONObject();
+        couponReq.put("pageIndex", 1);
+        couponReq.put("pageSize", 20);
+        couponReq.put("type", 3);
+        couponReq.put("startTime", "2020-10-31 16:00:00");
+        couponReq.put("endTime", "2020-10-31 16:55:00");
+//        couponReq.put("key", "026eea846250e0dcbcacd750faf07de0");
 
-				String date = root.optJSONArray("data").toString();
-				Type typeToken = new TypeToken<List<JDOrder>>() {
-				}.getType();
-				List<JDOrder> orderList = new Gson().fromJson(date, typeToken);
-				if (orderList != null)
-					for (JDOrder order : orderList) {
-						Map<Long, List<JDOrderItem>> map = new HashMap<>();
-						for (int i = 0; i < order.getOrderItemList().size(); i++) {
-							JDOrderItem orderItem = order.getOrderItemList().get(i);
-							if (map.get(orderItem.getSkuId()) == null)
-								map.put(orderItem.getSkuId(), new ArrayList<>());
-							map.get(orderItem.getSkuId()).add(orderItem);
 
-							order.getOrderItemList().get(i)
-									.setTradeId(order.getOrderId() + "-" + order.getOrderItemList().get(i).getSkuId());
-							order.getOrderItemList().get(i).setOrderId(order.getOrderId());
-							order.getOrderItemList().get(i).setOrderBy(i + 1);
-						}
-						// 鏌ヨ鍟嗗搧ID鐩稿悓鐨勫瓙璁㈠崟
-						for (Iterator<Long> its = map.keySet().iterator(); its.hasNext();) {
-							Long skuId = its.next();
-							if (map.get(skuId).size() > 1) {
-								int skuOrderBy = 1;
-								for (int i = 0; i < order.getOrderItemList().size(); i++) {
-									JDOrderItem orderItem = order.getOrderItemList().get(i);
-									if (orderItem.getSkuId().longValue() == skuId) {
-										order.getOrderItemList().get(i).setTradeId(order.getOrderId() + "-"
-												+ order.getOrderItemList().get(i).getSkuId() + "-" + skuOrderBy++);
-									}
-								}
-							}
-						}
+//        couponReq.put("pid", "2011217145_4100059717_3003005722");
+        couponReq.put("childUnionId", "2011217145");
+        json.put("orderReq", couponReq);
+        String result = baseRequest2("jd.union.open.order.row.query", null, json);
+        System.out.println(result);
+    }
 
-					}
-				return new JDOrderResult(hasMore, orderList);
-			}
-		}
-		return null;
-	}
 
-	public static void test() {
-		JSONObject json = new JSONObject();
-		json.put("materialId", "https://item.jd.com/32376790478.html");
-		json.put("ext1", "437032");
-		JSONObject root = new JSONObject();
-		root.put("promotionCodeReq", json);
-		String result = baseRequest2("jd.union.open.promotion.bysubunionid.get", null, root);
-		System.out.println(result);
-	}
+    public static void test() {
+        JSONObject json = new JSONObject();
+        json.put("materialId", "https://item.jd.com/32376790478.html");
+        json.put("ext1", "437032");
+        JSONObject root = new JSONObject();
+        root.put("promotionCodeReq", json);
+        String result = baseRequest2("jd.union.open.promotion.bysubunionid.get", null, root);
+        System.out.println(result);
+    }
 
 }

--
Gitblit v1.8.0