admin
2019-01-23 e179d8660bf4837455a38c24e74320143e0d2e17
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -7,6 +7,8 @@
import java.util.List;
import java.util.Map;
import org.yeshi.utils.taobao.TbImgUtil;
import com.taobao.api.ApiException;
import com.yeshi.fanli.entity.taobao.RelateGoods;
import com.yeshi.fanli.entity.taobao.SearchFilter;
@@ -24,8 +26,6 @@
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import org.yeshi.utils.taobao.TbImgUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -158,6 +158,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
@@ -220,29 +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 {
   public static List<TaoBaoGoodsBrief> getBatchGoodsInfo(List<Long> listId)
         throws TaoKeApiException, TaobaoGoodsDownException {
      if (listId == null || listId.size() == 0) {
         throw new TaobaoGoodsDownException(1,"淘宝商品ID不能为空");
         throw new TaobaoGoodsDownException(1, "淘宝商品ID不能为空");
      }
      if ( listId.size() > 40) {
         throw new TaobaoGoodsDownException(1,"淘宝商品ID不能超过40个");
      if (listId.size() > 40) {
         throw new TaobaoGoodsDownException(1, "淘宝商品ID不能超过40个");
      }
      StringBuffer ids = new StringBuffer();
      for (Long id: listId) {
      for (Long id : listId) {
         ids.append(id + ",");
      }
      return getBatchGoodsInfos(ids.substring(0, ids.length() -1));
      return getBatchGoodsInfos(ids.substring(0, ids.length() - 1));
   }
   /**
    * 获取商品详情,简版
@@ -324,6 +326,8 @@
            if (item.optBoolean("free_shipment"))
               goods.setFreeShipment(1);
            if ("1".equalsIgnoreCase(item.optString("material_lib_type")))
               ;
            goodsList.add(goods);
         }
      }
@@ -1436,6 +1440,95 @@
      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;
   }
   public static String getAccessToken(String code, String appKey, String appSecret) {
      Map<String, String> map = new HashMap<>();
      map.put("method", "taobao.top.auth.token.create");
      map.put("code", code);
      TaoKeAppInfo app = new TaoKeAppInfo();
      app.setAppKey(appKey);
      app.setAppSecret(appSecret);
      try {
         JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
         if (json != null)
            return json.toString();
      } catch (TaoKeApiException e) {
         e.printStackTrace();
      }
      return null;
   }
   /**
    * 渠道邀请码
    *
    * @param relationId
    * @return
    */
   public static String getInviteCode(Long relationId, String accessToken, String appKey, String appSecret) {
      Map<String, String> map = new HashMap<>();
      map.put("method", "taobao.tbk.sc.invitecode.get");
      map.put("session", accessToken);
      map.put("code_type", "1");
      map.put("relation_app", "common");
      JSONObject resultJSON = null;
      try {
         TaoKeAppInfo app = new TaoKeAppInfo();
         app.setAppKey(appKey);
         app.setAppSecret(appSecret);
         resultJSON = TaoKeBaseUtil.baseRequest(map, app);
      } catch (TaoKeApiException e) {
         e.printStackTrace();
      }
      if (resultJSON == null)
         return null;
      return null;
   }
   public static String beiAnQuDao(Long relationId, String accessToken, String appKey, String appSecret) {
      Map<String, String> map = new HashMap<>();
      map.put("method", "taobao.tbk.sc.publisher.info.save");
      map.put("session", accessToken);
      map.put("inviter_code", "A2QnGL");
      map.put("info_type", "1");
      JSONObject resultJSON = null;
      try {
         TaoKeAppInfo app = new TaoKeAppInfo();
         app.setAppKey(appKey);
         app.setAppSecret(appSecret);
         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的图片尺寸