yujian
2019-01-22 2366d2ada9e67f915a06b51b3c5be08a00847f0c
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -24,6 +24,8 @@
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import org.fanli.TaoKeTest;
import org.yeshi.utils.taobao.TbImgUtil;
import net.sf.json.JSONArray;
@@ -157,6 +159,7 @@
      map.put("method", "taobao.tbk.item.info.get");
      map.put("num_iids", id + "");
      String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
//      System.out.println(resultStr);
      JSONObject data = JSONObject.fromObject(resultStr);
      // 商品下架
      if (data.optJSONObject("error_response") != null && data.optJSONObject("error_response").optInt("code") == 15
@@ -192,6 +195,7 @@
         goods.setProvcity(item.optString("provcity"));
         goods.setPictUrl(item.optString("pict_url"));
         goods.setShopTitle(item.optString("nick"));
         goods.setSellerId(item.optLong("seller_id"));
         String optString = item.optString("shop_dsr");
         if (!StringUtil.isNullOrEmpty(optString)) {
@@ -217,10 +221,30 @@
         if (item.optBoolean("free_shipment"))
            goods.setFreeShipment(1);
         System.out.println(item.optString("material_lib_type"));
         return goods;
      }
      return null;
   }
   public static List<TaoBaoGoodsBrief> getBatchGoodsInfo(List<Long> listId)
         throws TaoKeApiException, TaobaoGoodsDownException {
      if (listId == null || listId.size() == 0) {
         throw new TaobaoGoodsDownException(1, "淘宝商品ID不能为空");
      }
      if (listId.size() > 40) {
         throw new TaobaoGoodsDownException(1, "淘宝商品ID不能超过40个");
      }
      StringBuffer ids = new StringBuffer();
      for (Long id : listId) {
         ids.append(id + ",");
      }
      return getBatchGoodsInfos(ids.substring(0, ids.length() - 1));
   }
   /**
@@ -302,7 +326,9 @@
            if (item.optBoolean("free_shipment"))
               goods.setFreeShipment(1);
            if("1".equalsIgnoreCase(item.optString("material_lib_type")))
               TaoKeTest.count++;
            goodsList.add(goods);
         }
      }
@@ -627,6 +653,12 @@
      if (filter.getEndTkRate() > 0)
         map.put("end_tk_rate", filter.getEndTkRate() + "");
      if (filter.getStartKaTkRate() > 0)
         map.put("start_ka_tk_rate", filter.getStartKaTkRate() + "");
      if (filter.getEndKaTkRate() > 0)
         map.put("end_ka_tk_rate", filter.getEndKaTkRate() + "");
      if (filter.isTmall())
         map.put("is_tmall", filter.isTmall() + "");
@@ -729,7 +761,7 @@
      // 设置发货地址
      TaoBaoSearchNav nav = new TaoBaoSearchNav();
      nav.setName("发货地");
      nav.setName("发货地选择");
      nav.setFlag("address");
      nav.setId(11110);
      nav.setType("fahuodi");
@@ -953,6 +985,11 @@
    * @return
    */
   public static String getTKToken(String logo, String text, String url) {
      if (text == null)
         return null;
      if (text.length() < 5)
         text = "好货:" + text;
      Map<String, String> map = new HashMap<>();
      map.put("method", "taobao.tbk.tpwd.create");
      map.put("url", url);
@@ -1033,16 +1070,17 @@
            return list;
         JSONArray array = data.optJSONObject("tbk_item_recommend_get_response").optJSONObject("results")
               .optJSONArray("n_tbk_item");
         for (int i = 0; i < array.size(); i++) {
            JSONObject item = array.optJSONObject(i);
            TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
            goods.setAuctionId(item.optLong("num_iid"));
            goods.setTitle(item.optString("title"));
            goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
            goods.setAuctionUrl(item.optString("item_url"));
            goods.setPictUrl(item.optString("pict_url"));
            list.add(goods);
         }
         if (array != null)
            for (int i = 0; i < array.size(); i++) {
               JSONObject item = array.optJSONObject(i);
               TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
               goods.setAuctionId(item.optLong("num_iid"));
               goods.setTitle(item.optString("title"));
               goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
               goods.setAuctionUrl(item.optString("item_url"));
               goods.setPictUrl(item.optString("pict_url"));
               list.add(goods);
            }
      }
      return list;
   }
@@ -1403,6 +1441,59 @@
      return result;
   }
   /**
    * 从淘宝链接中解析商品ID(高级接口)
    *
    * @param link
    * @return
    */
   public static String parseAuctionIdFromLink(String link) {
      Map<String, String> map = new HashMap<>();
      map.put("method", "taobao.tbk.item.click.extract");
      map.put("click_url", link + "");
      JSONObject resultJSON = null;
      try {
         resultJSON = TaoKeBaseUtil.baseRequest(map, true);
      } catch (TaoKeApiException e) {
         e.printStackTrace();
      }
      if (resultJSON == null)
         return null;
      return null;
   }
   /**
    * 渠道邀请码
    *
    * @param relationId
    * @return
    */
   public static String getInviteCode(Long relationId, String accessToken) {
      Map<String, String> map = new HashMap<>();
      map.put("method", "taobao.tbk.sc.invitecode.get");
      map.put("session", accessToken);
      map.put("relation_id", relationId + "");
      map.put("code_type", "2");
      map.put("relation_app", "返利券");
      JSONObject resultJSON = null;
      try {
         TaoKeAppInfo app=new TaoKeAppInfo();
         app.setAppKey("24567001");
         app.setAppSecret("e26a8d0f8726883d44bf04742829b533");
         app.setAdzoneId("123123");
         resultJSON = TaoKeBaseUtil.baseRequest(map, app);
      } catch (TaoKeApiException e) {
         e.printStackTrace();
      }
      if (resultJSON == null)
         return null;
      return null;
   }
   private static TaoBaoGoodsBrief parseWuLiaoItemFromMaterialId(JSONObject item) {
      TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
      // 设置成320*320的图片尺寸