yujian
2020-06-29 ec60e757d358636dcac1589c44a66f3e276fe58c
fanli/src/main/java/com/yeshi/fanli/util/taobao/HaoDanKuApiUtil.java
@@ -11,6 +11,8 @@
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.dto.taobao.haodanku.HDKGoodsListResultDTO;
import com.yeshi.fanli.dto.taobao.haodanku.HDKSearchFilter;
import com.yeshi.fanli.dto.taobao.haodanku.HDKWXCircleContentDTO;
import com.yeshi.fanli.entity.taobao.haodanku.HDKGoodsDetail;
import com.yeshi.fanli.util.StringUtil;
@@ -126,6 +128,53 @@
      return null;
   }
   /**
    * 商品列表筛选
    * @param filter
    * @return
    */
   public HDKGoodsListResultDTO queryList(HDKSearchFilter filter) {
      List<ParamsKeyValue> params = new ArrayList<HaoDanKuApiUtil.ParamsKeyValue>();
      params.add(new ParamsKeyValue("back", filter.getBack() + ""));
      params.add(new ParamsKeyValue("min_id", filter.getMinId() + ""));
      params.add(new ParamsKeyValue("nav", filter.getNav() + ""));
      if (!StringUtil.isNullOrEmpty(filter.getCid()))
         params.add(new ParamsKeyValue("cid", filter.getCid()));
      if (filter.getPriceMin() != null)
         params.add(new ParamsKeyValue("price_min", filter.getPriceMin() + ""));
      if (filter.getPriceMax() != null)
         params.add(new ParamsKeyValue("price_max", filter.getPriceMax() + ""));
      if (filter.getSaleMin() != null)
         params.add(new ParamsKeyValue("sale_min", filter.getSaleMin() + ""));
      if (filter.getSaleMax() != null)
         params.add(new ParamsKeyValue("sale_max", filter.getSaleMax() + ""));
      if (filter.getCouponMin() != null)
         params.add(new ParamsKeyValue("coupon_min", filter.getCouponMin() + ""));
      if (filter.getCouponMax() != null)
         params.add(new ParamsKeyValue("coupon_max", filter.getCouponMax() + ""));
      if (filter.getTkratesMin()!= null)
         params.add(new ParamsKeyValue("tkrates_min", filter.getTkratesMin() + ""));
      if (filter.getTkratesMax() != null)
         params.add(new ParamsKeyValue("tkrates_max", filter.getTkratesMax() + ""));
      if (filter.getTkmoneyMin()!= null)
         params.add(new ParamsKeyValue("tkmoney_min", filter.getTkmoneyMin() + ""));
      if (filter.getItemType()!= null)
         params.add(new ParamsKeyValue("item_type", filter.getItemType() + ""));
      String result = baseGetRequest("itemlist", params);
      JSONObject resultData = JSONObject.fromObject(result);
      if (resultData.optInt("code") == 1) {
         Integer newMinId = resultData.optInt("min_id");
         Type type = new TypeToken<ArrayList<HDKGoodsDetail>>() {
         }.getType();
         List<HDKGoodsDetail> list = new Gson().fromJson(resultData.optJSONArray("data").toString(), type);
         return new HDKGoodsListResultDTO(list, newMinId);
      }
      return null;
   }
   
   
   /**
@@ -263,13 +312,122 @@
      }
   }
   public void getGoodsDetail(Long auctionId) {
   public HDKGoodsListResultDTO  listSelected(Integer minId) {
      if (minId == null)
         minId = 1;
      List<ParamsKeyValue> params = new ArrayList<HaoDanKuApiUtil.ParamsKeyValue>();
      params.add(new ParamsKeyValue("itemid", auctionId + ""));
      String result = baseGetRequest("item_detail", params);
      JSONObject resultJSON = JSONObject.fromObject(result);
      System.out.println(resultJSON.optJSONObject("data").optString("coupon_share_url"));
      System.out.println(resultJSON.optJSONObject("data").optString("couponurl"));
   }
      params.add(new ParamsKeyValue("min_id", minId + ""));
      String result = baseGetRequest("selected_item", params);
      JSONObject resultData = JSONObject.fromObject(result);
      if (resultData.optInt("code") == 1) {
         JSONArray array = resultData.optJSONArray("data");
         if (array != null) {
            List<HDKWXCircleContentDTO> list = new ArrayList<>();
            for (int i = 0; i <array.size(); i ++) {
                JSONObject item = array.optJSONObject(i);
                HDKWXCircleContentDTO dto = new HDKWXCircleContentDTO();
               dto.setTitle(item.optString("title"));
               dto.setItemid(item.optString("itemid"));
               dto.setItemtitle(item.optString("itemtitle"));
               dto.setContent(item.optString("content"));
               dto.setCopy_content(item.optString("copy_content"));
               dto.setShow_content(item.optString("show_content"));
               JSONArray imgArray = item.optJSONArray("itempic");
               if (imgArray != null) {
                  List<String> imgList = new ArrayList<>();
                  for (int n = 0; n < imgArray.size(); n++) {
                     imgList.add(imgArray.optString(n));
                  }
                  dto.setItempic(imgList);
               }
               list.add(dto);
            }
            HDKGoodsListResultDTO dto = new HDKGoodsListResultDTO();
            dto.setList(list);
            dto.setMinId(minId);
            return dto;
         }
      }
      return null;
   }
   /**
    * 单品详情API
    * @param itemid
    * @return
    */
   public HDKGoodsDetail getItemDetail(String itemid) {
      List<ParamsKeyValue> params = new ArrayList<HaoDanKuApiUtil.ParamsKeyValue>();
      params.add(new ParamsKeyValue("itemid", itemid));
      String result = baseGetRequest("item_detail", params);
      JSONObject resultData = JSONObject.fromObject(result);
      if (resultData.optInt("code") == 1) {
         Type type = new TypeToken<HDKGoodsDetail>() {}.getType();
         HDKGoodsDetail goodsDetail = new Gson().fromJson(resultData.optJSONObject("data").toString(), type);
         return goodsDetail;
      }
      return null;
   }
   /**
    * 精选低价包邮专区API
    * @param minId
    * @param pageSize
    * @return
    */
   public HDKGoodsListResultDTO getLowPricePinkageData(Integer minId, int pageSize, Integer typeNum) {
      if (minId == null)
         minId = 1;
      List<ParamsKeyValue> params = new ArrayList<HaoDanKuApiUtil.ParamsKeyValue>();
      params.add(new ParamsKeyValue("min_id", minId +""));
      params.add(new ParamsKeyValue("back", pageSize + ""));
      params.add(new ParamsKeyValue("type", typeNum + ""));
      String result = baseGetRequest("low_price_Pinkage_data", params);
      JSONObject resultData = JSONObject.fromObject(result);
      if (resultData.optInt("code") == 1) {
         Integer newMinId = resultData.optInt("min_id");
         Type type = new TypeToken<ArrayList<HDKGoodsDetail>>() {
         }.getType();
         List<HDKGoodsDetail> list = new Gson().fromJson(resultData.optJSONArray("data").toString(), type);
         return new HDKGoodsListResultDTO(list, newMinId);
      }
      return null;
   }
   /**
    * 高佣专场商品API
    * @param minId
    * @param pageSize
    * @return
    */
   public HDKGoodsListResultDTO getHighitems(Integer minId, int pageSize, Integer catId) {
      if (minId == null)
         minId = 1;
      List<ParamsKeyValue> params = new ArrayList<HaoDanKuApiUtil.ParamsKeyValue>();
      params.add(new ParamsKeyValue("min_id", minId +""));
      params.add(new ParamsKeyValue("back", pageSize + ""));
      if (catId != null)
         params.add(new ParamsKeyValue("cat_id", catId +""));
      String result = baseGetRequest("get_highitems", params);
      JSONObject resultData = JSONObject.fromObject(result);
      if (resultData.optInt("code") == 200) {
         Integer newMinId = resultData.optInt("min_id");
         Type type = new TypeToken<ArrayList<HDKGoodsDetail>>() {
         }.getType();
         List<HDKGoodsDetail> list = new Gson().fromJson(resultData.optJSONArray("data").toString(), type);
         return new HDKGoodsListResultDTO(list, newMinId);
      }
      return null;
   }
}