yujian
2019-11-25 aa552facf6d833acab0d3e3e29bda2a0fb826ffe
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java
@@ -1,7 +1,9 @@
package com.yeshi.fanli.util.dataoke;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -213,7 +215,7 @@
      TaoKeAppInfo app = getRandomApp();
      DaTaoKeGoodsResult daTaoKeGoodsResult = new DaTaoKeGoodsResult();
      Map<String, String> params = new TreeMap<>();
      params.put("version", "v1.0.0");
      params.put("version", "v1.1.0");
      params.put("appKey", app.getAppKey());
      params.put("pageSize", 200 + "");
      // params.put("sort", "1");
@@ -246,7 +248,7 @@
      TaoKeAppInfo app = getRandomApp();
      DaTaoKeGoodsResult daTaoKeGoodsResult = new DaTaoKeGoodsResult();
      Map<String, String> params = new TreeMap<>();
      params.put("version", "v1.0.0");
      params.put("version", "v1.0.1");
      params.put("appKey", app.getAppKey());
      params.put("pageSize", 200 + "");
      if (!StringUtil.isNullOrEmpty(startTime))
@@ -280,7 +282,7 @@
      TaoKeAppInfo app = getRandomApp();
      DaTaoKeGoodsResult daTaoKeGoodsResult = new DaTaoKeGoodsResult();
      Map<String, String> params = new TreeMap<>();
      params.put("version", "v1.0.0");
      params.put("version", "v1.1.0");
      params.put("appKey", app.getAppKey());
      params.put("pageSize", 200 + "");
      if (!StringUtil.isNullOrEmpty(startTime))
@@ -314,7 +316,7 @@
      TaoKeAppInfo app = getRandomApp();
      DaTaoKeGoodsResult daTaoKeGoodsResult = new DaTaoKeGoodsResult();
      Map<String, String> params = new TreeMap<>();
      params.put("version", "v1.0.0");
      params.put("version", "v1.1.0");
      params.put("appKey", app.getAppKey());
      params.put("pageSize", 200 + "");
      if (!StringUtil.isNullOrEmpty(startTime))
@@ -345,7 +347,7 @@
   public static DaTaoKeDetailV2 getGoodsDetail(Long id) {
      TaoKeAppInfo app = getRandomApp();
      Map<String, String> params = new TreeMap<>();
      params.put("version", "v1.0.0");
      params.put("version", "v1.1.0");
      params.put("appKey", app.getAppKey());
      params.put("id", id + "");
      params.put("sign", getSign(params, app.getAppSecret()));
@@ -358,6 +360,38 @@
      }
      return null;
   }
   public static DaTaoKeDetailV2 getGoodsDetailByGoodsId(Long goodsId) {
      TaoKeAppInfo app = getRandomApp();
      Map<String, String> params = new TreeMap<>();
      params.put("version", "v1.1.1");
      params.put("appKey", app.getAppKey());
      params.put("goodsId", goodsId + "");
      params.put("sign", getSign(params, app.getAppSecret()));
      String result = HttpUtil.get("https://openapi.dataoke.com/api/goods/get-goods-details", params,
            new HashMap<>());
      System.out.println(result);
      JSONObject json = JSONObject.fromObject(result);
      JSONObject dataJson = json.optJSONObject("data");
      if (dataJson != null) {
         return parseDaTaoKeDetailV2(dataJson);
      }
      return null;
   }
   private static String requestGet(String url, Map<String, String> params) {
      Iterator<String> keys = params.keySet().iterator();
      url += "?";
      while (keys.hasNext()) {
         String key = keys.next();
         try {
            url += String.format("%s=%s&", key, URLEncoder.encode(params.get(key), "UTF-8"));
         } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
         }
      }
      return HttpUtil.get(url, 10000);
   }
   public static DaTaoKeGoodsResult search(String key, List<Integer> cidList, BigDecimal priceLowerLimit,
         BigDecimal priceUpperLimit, int page, int pageSize, Integer sort) {
@@ -365,7 +399,7 @@
      TaoKeAppInfo app = getRandomApp();
      DaTaoKeGoodsResult daTaoKeGoodsResult = new DaTaoKeGoodsResult();
      Map<String, String> params = new TreeMap<>();
      params.put("version", "v1.0.0");
      params.put("version", "v2.1.0");
      params.put("appKey", app.getAppKey());
      params.put("pageSize", pageSize + "");
      params.put("pageId", page + "");
@@ -388,8 +422,7 @@
      if (sort != null)
         params.put("sort", sort + "");
      params.put("sign", getSign(params, app.getAppSecret()));
      String result = HttpUtil.get("https://openapi.dataoke.com/api/goods/get-dtk-search-goods", params,
            new HashMap<>());
      String result = requestGet("https://openapi.dataoke.com/api/goods/get-dtk-search-goods", params);
      JSONObject json = JSONObject.fromObject(result);
      JSONObject dataJson = json.optJSONObject("data");
@@ -490,7 +523,7 @@
      TaoKeAppInfo app = getRandomApp();
      DaTaoKeGoodsResult daTaoKeGoodsResult = new DaTaoKeGoodsResult();
      Map<String, String> params = new TreeMap<>();
      params.put("version", "v1.0.0");
      params.put("version", "v1.1.0");
      params.put("appKey", app.getAppKey());
      params.put("rankType", type + "");
      if (cid != null)
@@ -511,16 +544,15 @@
         for (int i = 0; i < array.size(); i++) {
            JSONObject itemData = array.optJSONObject(i);
            DaTaoKeDetailV2 item = parseDaTaoKeDetailV2(itemData);
            item.setCouponConditions(itemData.optString("quanUsageCondition"));
            item.setShopType(itemData.optInt("istmall"));
            item.setOriginalPrice(new BigDecimal(itemData.optString("originPrice")));
            item.setMainPic(itemData.optString("pic"));
            item.setCouponConditions(itemData.optString("couponConditions"));
            item.setShopType(itemData.optInt("shopType"));
            item.setOriginalPrice(new BigDecimal(itemData.optString("originalPrice")));
            item.setMainPic(itemData.optString("mainPic"));
            list.add(item);
         }
         daTaoKeGoodsResult.setGoodsList(list);
      }
      return daTaoKeGoodsResult;
   }
   private static List<DaTaoKeDetailV2> parseDaTaoKeDetailV2List(JSONArray array) {