From 1dc1b5e88283c2ea8cf53c9f014300b3ad0f53de Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 02 四月 2020 11:20:43 +0800
Subject: [PATCH] vip消息
---
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 634 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 404 insertions(+), 230 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
index f881d10..22d4cbf 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -9,12 +9,11 @@
import org.yeshi.utils.taobao.TbImgUtil;
-import com.taobao.api.ApiException;
import com.yeshi.fanli.dto.taobao.TaoBaoShopInfoDTO;
import com.yeshi.fanli.dto.taobao.TaoLiJinDTO;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinReport;
-import com.yeshi.fanli.entity.taobao.RelateGoods;
import com.yeshi.fanli.entity.taobao.SearchFilter;
+import com.yeshi.fanli.entity.taobao.SearchShopFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoHead;
import com.yeshi.fanli.entity.taobao.TaoBaoProvince;
@@ -23,6 +22,7 @@
import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
import com.yeshi.fanli.exception.taobao.TaoBaoAuthException;
+import com.yeshi.fanli.exception.taobao.TaoBaoTokenParseException;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.tlj.TaoLiJinCreateException;
@@ -126,7 +126,7 @@
map.put("method", "taobao.tbk.item.info.get");
map.put("num_iids", id + "");
String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
- // System.out.println(resultStr);
+ System.out.println(resultStr);
JSONObject data = JSONObject.fromObject(resultStr);
// 鍟嗗搧涓嬫灦
if (data.optJSONObject("error_response") != null && data.optJSONObject("error_response").optInt("code") == 15
@@ -140,71 +140,102 @@
.optJSONArray("n_tbk_item");
if (array != null && array.size() > 0) {
JSONObject item = array.optJSONObject(0);
- TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
- goods.setAuctionId(item.optLong("num_iid"));
- goods.setAuctionUrl(item.optString("item_url"));
- goods.setBiz30day(item.optInt("volume"));
- if (item.optJSONObject("small_images") != null) {
- JSONArray imgArray = item.optJSONObject("small_images").optJSONArray("string");
- if (imgArray != null) {
- List<String> imgList = new ArrayList<>();
- for (int n = 0; n < imgArray.size(); n++) {
- imgList.add(imgArray.optString(n));
- }
- goods.setImgList(imgList);
- }
- }
- goods.setTitle(item.optString("title"));
- goods.setUserType(item.optInt("user_type"));
- goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
- goods.setReservePrice(new BigDecimal(item.optString("zk_final_price")));
- goods.setAuctionUrl(item.optString("item_url"));
- 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)) {
- goods.setShopDsr(new Integer(optString));
- }
-
- String ratesum = item.optString("ratesum");
- if (!StringUtil.isNullOrEmpty(ratesum)) {
- goods.setRatesum(new Integer(ratesum));
- }
-
- if (item.optBoolean("is_prepay"))
- goods.setIsPrepay(1);
-
- if (item.optBoolean("i_rfd_rate"))
- goods.setRfdRate(1);
-
- if (item.optBoolean("h_good_rate"))
- goods.setGoodRate(1);
-
- if (item.optBoolean("h_pay_rate30"))
- goods.setPayRate30(1);
-
- if (item.optBoolean("free_shipment"))
- goods.setFreeShipment(1);
-
- if (!StringUtil.isNullOrEmpty(item.optString("material_lib_type")))
- goods.setMaterialLibType(item.optInt("material_lib_type"));
- else
- goods.setMaterialLibType(0);
-
- return goods;
+ return parseSimpleGoodsInfo(item);
}
return null;
}
- public String convertSpecialGoodsLink(Long auctionId, TaoKeAppInfo app) {
- Map<String, String> map = new HashMap<>();
- map.put("method", "taobao.tbk.coupon.convert");
- map.put("item_id", auctionId + "");
- String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
- return resultStr;
+ private static TaoBaoGoodsBrief parseSimpleGoodsInfo(JSONObject item) {
+ TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
+ goods.setAuctionId(item.optLong("num_iid"));
+ goods.setAuctionUrl(item.optString("item_url"));
+ goods.setBiz30day(item.optInt("volume"));
+ if (item.optJSONObject("small_images") != null) {
+ JSONArray imgArray = item.optJSONObject("small_images").optJSONArray("string");
+ if (imgArray != null) {
+ List<String> imgList = new ArrayList<>();
+ for (int n = 0; n < imgArray.size(); n++) {
+ imgList.add(imgArray.optString(n));
+ }
+ goods.setImgList(imgList);
+ }
+ }
+ goods.setTitle(item.optString("title"));
+ goods.setUserType(item.optInt("user_type"));
+ goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
+ goods.setReservePrice(new BigDecimal(item.optString("zk_final_price")));
+ goods.setAuctionUrl(item.optString("item_url"));
+ goods.setProvcity(item.optString("provcity"));
+ goods.setPictUrl(item.optString("pict_url"));
+ goods.setShopTitle(item.optString("nick"));
+ goods.setSellerId(item.optLong("seller_id"));
+ goods.setRootCategoryName(item.optString("cat_name"));
+ goods.setLeafName(item.optString("cat_leaf_name"));
+
+ String optString = item.optString("shop_dsr");
+ if (!StringUtil.isNullOrEmpty(optString)) {
+ goods.setShopDsr(new Integer(optString));
+ }
+
+ String ratesum = item.optString("ratesum");
+ if (!StringUtil.isNullOrEmpty(ratesum)) {
+ goods.setRatesum(new Integer(ratesum));
+ }
+
+ if (item.optBoolean("is_prepay"))
+ goods.setIsPrepay(1);
+
+ if (item.optBoolean("i_rfd_rate"))
+ goods.setRfdRate(1);
+
+ if (item.optBoolean("h_good_rate"))
+ goods.setGoodRate(1);
+
+ if (item.optBoolean("h_pay_rate30"))
+ goods.setPayRate30(1);
+
+ if (item.optBoolean("free_shipment"))
+ goods.setFreeShipment(1);
+
+ if (!StringUtil.isNullOrEmpty(item.optString("material_lib_type"))) {
+ try {
+ String materialLibType = item.optString("material_lib_type");
+ goods.setMaterialLibType(Integer.parseInt(materialLibType.split(",")[0]));
+ } catch (Exception e) {
+ goods.setMaterialLibType(0);
+ }
+
+ } else
+ goods.setMaterialLibType(0);
+
+ goods.setRootCategoryName(item.optString("cat_name"));
+ goods.setLeafName(item.optString("cat_leaf_name"));
+
+ goods = loadYuShouInfo(goods, item);
+ return goods;
+ }
+
+ private static TaoBaoGoodsBrief loadYuShouInfo(TaoBaoGoodsBrief goods, JSONObject item) {
+ if (goods != null && item != null) {
+ // 棰勫敭鐩稿叧瑙f瀽
+ goods.setYsylClickUrl(item.optString("ysyl_click_url"));
+ if (!StringUtil.isNullOrEmpty(item.optString("ysyl_commission_rate")))
+ goods.setYsylCommissionRate(new BigDecimal(item.optString("ysyl_commission_rate")));
+ goods.setYsylTljFace(item.optString("ysyl_tlj_face"));
+ goods.setYsylTljSendTime(item.optString("ysyl_tlj_send_time"));
+ goods.setYsylTljUseEndTime(item.optString("ysyl_tlj_use_end_time"));
+ goods.setYsylTljUseStartTime(item.optString("ysyl_tlj_use_start_time"));
+
+ goods.setPresaleDeposit(item.optString("presale_deposit"));
+ goods.setPresaleDiscountFeeText(item.optString("presale_discount_fee_text"));
+ goods.setPresaleEndTime(item.optString("presale_end_time"));
+ goods.setPresaleStartTime(item.optString("presale_start_time"));
+ goods.setPresaleTailEndTime(item.optString("presale_tail_end_time"));
+ goods.setPresaleTailStartTime(item.optString("presale_tail_start_time"));
+
+ return goods;
+ }
+ return goods;
}
public static List<TaoBaoGoodsBrief> getBatchGoodsInfo(List<Long> listId)
@@ -253,67 +284,10 @@
if (array != null && array.size() > 0) {
for (int i = 0; i < array.size(); i++) {
-
- TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
-
JSONObject item = array.optJSONObject(i);
-
- goods.setAuctionId(item.optLong("num_iid"));
- goods.setAuctionUrl(item.optString("item_url"));
- goods.setBiz30day(item.optInt("volume"));
- if (item.optJSONObject("small_images") != null) {
- JSONArray imgArray = item.optJSONObject("small_images").optJSONArray("string");
- if (imgArray != null) {
- List<String> imgList = new ArrayList<>();
- for (int n = 0; n < imgArray.size(); n++) {
- imgList.add(imgArray.optString(n));
- }
- goods.setImgList(imgList);
- }
- }
- goods.setTitle(item.optString("title"));
- goods.setUserType(item.optInt("user_type"));
- goods.setZkPrice(new BigDecimal(item.optString("zk_final_price")));
- goods.setReservePrice(new BigDecimal(item.optString("zk_final_price")));
- goods.setAuctionUrl(item.optString("item_url"));
- goods.setProvcity(item.optString("provcity"));
- goods.setPictUrl(item.optString("pict_url"));
- goods.setShopTitle(item.optString("nick"));
-
- String optString = item.optString("shop_dsr");
- if (!StringUtil.isNullOrEmpty(optString)) {
- goods.setShopDsr(new Integer(optString));
- }
-
- String ratesum = item.optString("ratesum");
- if (!StringUtil.isNullOrEmpty(ratesum)) {
- goods.setRatesum(new Integer(ratesum));
- }
-
- if (item.optBoolean("is_prepay"))
- goods.setIsPrepay(1);
-
- if (item.optBoolean("i_rfd_rate"))
- goods.setRfdRate(1);
-
- if (item.optBoolean("h_good_rate"))
- goods.setGoodRate(1);
-
- if (item.optBoolean("h_pay_rate30"))
- goods.setPayRate30(1);
-
- if (item.optBoolean("free_shipment"))
- goods.setFreeShipment(1);
-
- if ("1".equalsIgnoreCase(item.optString("material_lib_type")))
- goods.setMaterialLibType(1);
- else
- goods.setMaterialLibType(0);
-
- goodsList.add(goods);
+ goodsList.add(parseSimpleGoodsInfo(item));
}
}
-
return goodsList;
}
@@ -341,33 +315,42 @@
g.setId(goods.getAuctionId());
g.setCreatetime(new Date());
g.setMaterialLibType(goods.getMaterialLibType());
+ g.setProvcity(goods.getProvcity());
return g;
}
}
- // 鍐嶄粠娣樺疂鑱旂洘缃戦〉鎼滅储
- filter.setKey(goods.getAuctionUrl());
- TaoBaoSearchResult searchResult = TaoBaoUtil.searchFromAlimamaWeb(filter, null);
- if (searchResult != null && searchResult.getTaoBaoGoodsBriefs() != null
- && searchResult.getTaoBaoGoodsBriefs().size() > 0) {
- for (TaoBaoGoodsBrief g : searchResult.getTaoBaoGoodsBriefs()) {
- if (g.getAuctionId().longValue() == goods.getAuctionId()) {
- g.setImgList(goods.getImgList());
- goods = g;
- if ("鏃�".equalsIgnoreCase(goods.getCouponInfo()))
- goods.setCouponInfo(null);
- return goods;
+ // 浠庤浆閾炬悳绱�
+ TaoBaoGoodsBrief newGoods = specialConvertCoupon(goods.getAuctionId(),
+ new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
+ TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT));
+
+ if (newGoods != null) {
+ goods.setTkRate(newGoods.getTkRate());
+ if (!StringUtil.isNullOrEmpty(newGoods.getCouponInfo())) {
+ List<BigDecimal> couponInfo = TaoBaoCouponUtil.getCouponInfo(newGoods.getCouponInfo());
+ if (couponInfo != null && couponInfo.size() > 1) {
+ goods.setCouponStartFee(couponInfo.get(0));
+ goods.setCouponAmount(couponInfo.get(1));
+ goods.setCouponEffectiveStartTime(newGoods.getCouponEffectiveStartTime());
+ goods.setCouponEffectiveEndTime(newGoods.getCouponEffectiveEndTime());
+ goods.setCouponLeftCount(newGoods.getCouponLeftCount());
+ goods.setCouponTotalCount(newGoods.getCouponTotalCount());
+ goods.setCouponInfo(newGoods.getCouponInfo());
}
}
+
+ return goods;
+
+ } else {
+ goods.setCouponAmount(new BigDecimal("0"));
+ goods.setTkMktStatus("1");
+ goods.setTkRate(new BigDecimal("0"));
+ goods.setReservePrice(new BigDecimal(0));
+ goods.setTkCommFee(new BigDecimal(0));
+ return goods;
}
- TaoKeLogHelper.error(null, "娌℃湁鎼滅储鍒拌鎯�:" + id);
- goods.setCouponAmount(new BigDecimal("0"));
- goods.setTkMktStatus("1");
- goods.setTkRate(new BigDecimal("0"));
- goods.setReservePrice(new BigDecimal(0));
- goods.setTkCommFee(new BigDecimal(0));
- return goods;
}
/**
@@ -409,33 +392,41 @@
}
g.setCreatetime(new Date());
g.setMaterialLibType(goods.getMaterialLibType());
+ g.setProvcity(goods.getProvcity());
return g;
}
}
- // 鍐嶄粠娣樺疂鑱旂洘缃戦〉鎼滅储
- filter.setKey(goods.getAuctionUrl());
- TaoBaoSearchResult searchResult = TaoBaoUtil.searchFromAlimamaWeb(filter, null);
- if (searchResult != null && searchResult.getTaoBaoGoodsBriefs() != null
- && searchResult.getTaoBaoGoodsBriefs().size() > 0) {
- for (TaoBaoGoodsBrief g : searchResult.getTaoBaoGoodsBriefs()) {
- if (g.getAuctionId().longValue() == goods.getAuctionId()) {
- g.setImgList(goods.getImgList());
- goods = g;
- if ("鏃�".equalsIgnoreCase(goods.getCouponInfo()))
- goods.setCouponInfo(null);
- return goods;
+ // 浠庤浆閾炬悳绱�
+ TaoBaoGoodsBrief newGoods = specialConvertCoupon(goods.getAuctionId(),
+ new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
+ TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT));
+
+ if (newGoods != null) {
+ goods.setTkRate(newGoods.getTkRate());
+ if (!StringUtil.isNullOrEmpty(newGoods.getCouponInfo())) {
+ List<BigDecimal> couponInfo = TaoBaoCouponUtil.getCouponInfo(newGoods.getCouponInfo());
+ if (couponInfo != null && couponInfo.size() > 1) {
+ goods.setCouponStartFee(couponInfo.get(0));
+ goods.setCouponAmount(couponInfo.get(1));
+ goods.setCouponEffectiveStartTime(newGoods.getCouponEffectiveStartTime());
+ goods.setCouponEffectiveEndTime(newGoods.getCouponEffectiveEndTime());
+ goods.setCouponLeftCount(newGoods.getCouponLeftCount());
+ goods.setCouponTotalCount(newGoods.getCouponTotalCount());
+ goods.setCouponInfo(newGoods.getCouponInfo());
}
}
- }
- TaoKeLogHelper.error(null, "娌℃湁鎼滅储鍒拌鎯�:" + id);
- goods.setCouponAmount(new BigDecimal("0"));
- goods.setTkMktStatus("1");
- goods.setTkRate(new BigDecimal("0"));
- goods.setReservePrice(new BigDecimal(0));
- goods.setTkCommFee(new BigDecimal(0));
- return goods;
+ return goods;
+
+ } else {
+ goods.setCouponAmount(new BigDecimal("0"));
+ goods.setTkMktStatus("1");
+ goods.setTkRate(new BigDecimal("0"));
+ goods.setReservePrice(new BigDecimal(0));
+ goods.setTkCommFee(new BigDecimal(0));
+ return goods;
+ }
}
/**
@@ -910,6 +901,7 @@
goods.setSellerId(item.optLong("seller_id"));
goods.setShopTitle(item.optString("shop_title"));
goods.setTitle(item.optString("title"));
+ goods.setProvcity(item.optString("provcity"));
if (!StringUtil.isNullOrEmpty(item.optString("level_one_category_id"))) {
goods.setRootCatId(item.optInt("level_one_category_id"));
@@ -943,6 +935,10 @@
if (!StringUtil.isNullOrEmpty(item.optString("reserve_price")))
goods.setReservePrice(new BigDecimal(item.optString("reserve_price")));
goods.setTotalFee(new BigDecimal("0"));
+ // 鎺ㄨ崘璇�
+ goods.setDescription(item.optString("item_description"));
+
+ goods = loadYuShouInfo(goods, item);
return goods;
}
@@ -976,23 +972,6 @@
return null;
}
- public static List<RelateGoods> getRelateGoodsList(long auctionId) throws ApiException {
- List<RelateGoods> resultList = new ArrayList<>();
- List<TaoBaoGoodsBrief> list = getRelationGoodsRecommend(auctionId, 9);
- for (TaoBaoGoodsBrief goods : list) {
- if (goods != null) {
- RelateGoods rg = new RelateGoods();
- rg.setId(goods.getAuctionId() + "");
- rg.setPicUrl(goods.getPictUrl());
- rg.setTitle(goods.getTitle());
- rg.setZkPrice(goods.getZkPrice().toString());
- rg.setUrl(goods.getAuctionUrl());
- resultList.add(rg);
- }
- }
- return resultList;
- }
-
/**
* 鑾峰彇鍒歌缁嗕俊鎭�
*
@@ -1019,45 +998,6 @@
} else
return null;
return info;
- }
-
- /**
- * 鑾峰彇鍏宠仈鍟嗗搧鎺ㄨ崘
- *
- * @param auctionId
- * @return
- */
- public static List<TaoBaoGoodsBrief> getRelationGoodsRecommend(long auctionId, int count) {
- List<TaoBaoGoodsBrief> list = new ArrayList<>();
- Map<String, String> map = new HashMap<>();
- map.put("method", "taobao.tbk.item.recommend.get");
- map.put("num_iid", auctionId + "");
- map.put("count", count + "");
- map.put("platform", 2 + "");
- map.put("fields",
- "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url");
- String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
- JSONObject data = JSONObject.fromObject(resultStr);
- if (data.optJSONObject("tbk_item_recommend_get_response") != null) {
- if (data.optJSONObject("tbk_item_recommend_get_response").optJSONObject("results") == null)
- return list;
- JSONArray array = data.optJSONObject("tbk_item_recommend_get_response").optJSONObject("results")
- .optJSONArray("n_tbk_item");
- 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"));
- goods.setSalesCount(item.optString("volume"));
- goods.setUserType(item.optInt("user_type"));
- list.add(goods);
- }
- }
- return list;
}
public static void taoQiangGou() {
@@ -1243,6 +1183,54 @@
}
/**
+ * 搴楅摵鎼滅储
+ *
+ * @param key
+ * -搴楅摵鍚嶇О
+ * @param page
+ * -椤电爜
+ * @return
+ */
+ public static List<TaoBaoShopInfo> searchShop(SearchShopFilter filter) {
+ if (StringUtil.isNullOrEmpty(filter.getKey()))
+ return new ArrayList<>();
+ List<TaoBaoShopInfo> list = new ArrayList<>();
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.shop.get");
+ map.put("fields", "user_id,shop_title,shop_type,seller_nick,pict_url,shop_url");
+ map.put("q", filter.getKey());
+ map.put("page_size", filter.getPageSize() + "");
+ map.put("page_no", filter.getPage() + "");
+
+ if (!StringUtil.isNullOrEmpty(filter.getSort()))
+ map.put("sort", filter.getSort());
+
+ if (filter.getTmall() != null)
+ map.put("is_tmall", filter.getTmall() + "");
+
+ String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
+ JSONObject resultDate = JSONObject.fromObject(resultStr);
+ if (resultDate.optJSONObject("tbk_shop_get_response") != null
+ && resultDate.optJSONObject("tbk_shop_get_response").optJSONObject("results") != null) {
+ JSONArray array = resultDate.optJSONObject("tbk_shop_get_response").optJSONObject("results")
+ .optJSONArray("n_tbk_shop");
+ if (array != null)
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject item = array.optJSONObject(i);
+ TaoBaoShopInfo info = new TaoBaoShopInfo();
+ info.setPictureUrl(item.optString("pict_url"));
+ info.setSellerNick(item.optString("seller_nick"));
+ info.setShopTitle(item.optString("shop_title"));
+ info.setShopType(item.optString("shop_type"));
+ info.setShopUrl(item.optString("shop_url"));
+ info.setUserId(item.optLong("user_id"));
+ list.add(info);
+ }
+ }
+ return list;
+ }
+
+ /**
* 鍝佺墝鍒歌幏鍙�
*
* @param pageNo
@@ -1312,14 +1300,12 @@
if (response != null && response.optJSONObject("result_list") != null) {
JSONArray array = response.optJSONObject("result_list").optJSONArray("map_data");
if (array != null) {
-
for (int i = 0; i < array.size(); i++) {
JSONObject item = array.optJSONObject(i);
TaoBaoGoodsBrief goods = parseWuLiaoItemFromMaterialId(item);
if (goods != null)
goodsList.add(goods);
}
-
pageSize = array.size();
}
}
@@ -1381,23 +1367,27 @@
* @param idfa
* @return
*/
- public static TaoBaoSearchResult guessDeviceLike(int page, int pageSize, String imei, String idfa) {
+ public static TaoBaoSearchResult guessDeviceLike(int page, int pageSize, String imei, String idfa, String utdid) {
List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
Map<String, String> map = new HashMap<>();
map.put("method", "taobao.tbk.dg.optimus.material");
map.put("page_no", page + "");
map.put("page_size", pageSize + "");
map.put("material_id", "6708");
- if (StringUtil.isNullOrEmpty(imei) && StringUtil.isNullOrEmpty(idfa))
+ if (StringUtil.isNullOrEmpty(imei) && StringUtil.isNullOrEmpty(idfa) && StringUtil.isNullOrEmpty(utdid))
return null;
- map.put("device_encrypt", "MD5");
if (!StringUtil.isNullOrEmpty(imei)) {
+ map.put("device_encrypt", "MD5");
map.put("device_value", StringUtil.Md5(imei));
map.put("device_type", "IMEI");
- } else {
+ } else if (!StringUtil.isNullOrEmpty(idfa)) {
+ map.put("device_encrypt", "MD5");
map.put("device_value", StringUtil.Md5(idfa));
map.put("device_type", "IDFA");
+ } else if (!StringUtil.isNullOrEmpty(utdid)) {
+ map.put("device_value", utdid);
+ map.put("device_type", "UTDID");
}
JSONObject resultJSON = null;
@@ -1447,9 +1437,13 @@
Map<String, String> map = new HashMap<>();
map.put("method", "taobao.tbk.item.click.extract");
map.put("click_url", link + "");
+
+ TaoKeAppInfo app = new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
+ TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID);
JSONObject resultJSON = null;
try {
- resultJSON = TaoKeBaseUtil.baseRequest(map, true);
+ resultJSON = TaoKeBaseUtil.baseRequest(map, app);
+ System.out.println(resultJSON);
} catch (TaoKeApiException e) {
e.printStackTrace();
}
@@ -1570,6 +1564,7 @@
app.setAppKey(appKey);
app.setAppSecret(appSecret);
resultJSON = TaoKeBaseUtil.baseRequest(map, app);
+ System.out.println(resultJSON.toString());
return resultJSON.optJSONObject("tbk_sc_publisher_info_save_response").optJSONObject("data")
.optString("relation_id");
} catch (TaoKeApiException e) {
@@ -1645,7 +1640,9 @@
map.put("item_id", auctionId + "");
map.put("adzone_id", sts[3]);
try {
- JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+ String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
+ System.out.println(result);
+ JSONObject json = JSONObject.fromObject(result);
JSONObject resultJSON = json.optJSONObject("tbk_coupon_convert_response").optJSONObject("result")
.optJSONObject("results");
String couponLink = resultJSON.optString("coupon_click_url");
@@ -1655,13 +1652,25 @@
if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_info"))) {
goods.setCouponLink(couponLink);
goods.setCouponInfo(resultJSON.optString("coupon_info"));
+ if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_total_count"))) {
+ goods.setCouponTotalCount(Integer.parseInt(resultJSON.optString("coupon_total_count")));
+ }
+
+ if (!StringUtil.isNullOrEmpty(resultJSON.optString("coupon_remain_count"))) {
+ goods.setCouponLeftCount(Integer.parseInt(resultJSON.optString("coupon_remain_count")));
+ }
+
+ goods.setCouponEffectiveStartTime(resultJSON.optString("coupon_start_time"));
+ goods.setCouponEffectiveEndTime(resultJSON.optString("coupon_end_time"));
+
}
String tkRate = resultJSON.optString("max_commission_rate");
if (!StringUtil.isNullOrEmpty(tkRate)) {
goods.setTkRate(new BigDecimal(tkRate));
}
+ goods = loadYuShouInfo(goods, resultJSON);
return goods;
- } catch (TaoKeApiException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
@@ -1777,8 +1786,9 @@
goods.setIncludeDxjh(0);
goods.setSellerId(item.optLong("seller_id"));
- goods.setShopTitle(item.optString("shop_title"));
+ goods.setShopTitle(item.optString("nick"));
goods.setTitle(item.optString("title"));
+ goods.setProvcity(item.optString("provcity"));
if (!StringUtil.isNullOrEmpty(item.optString("level_one_category_id"))) {
goods.setRootCatId(item.optInt("level_one_category_id"));
@@ -1818,6 +1828,7 @@
goods.setReservePrice(new BigDecimal(0));
goods.setTotalFee(new BigDecimal("0"));
goods.setPictUrlWhite(item.optString("white_image"));
+ goods = loadYuShouInfo(goods, item);
return goods;
}
@@ -1880,7 +1891,7 @@
* @param token
* @return
*/
- public static Long tokenConvertAuctionId(String token) {
+ public static Long tokenConvertAuctionId(String token) throws TaoBaoTokenParseException {
Map<String, String> map = new HashMap<>();
map.put("method", "taobao.tbk.tpwd.convert");
map.put("password_content", token);
@@ -1890,14 +1901,24 @@
app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
try {
JSONObject json = TaoKeBaseUtil.baseRequest(map, app);
+
try {
return json.optJSONObject("tbk_tpwd_convert_response").optJSONObject("data").optLong("num_iid");
} catch (Exception e) {
+
return null;
}
} catch (TaoKeApiException e) {
- e.printStackTrace();
+ JSONObject msg = null;
+ try {
+ msg = JSONObject.fromObject(e.getMsg());
+ } catch (Exception e2) {
+ }
+ if (msg != null && msg.optJSONObject("error_response") != null) {
+ throw new TaoBaoTokenParseException(msg.optJSONObject("error_response").optInt("sub_code"),
+ msg.optJSONObject("error_response").optString("sub_msg"));
+ }
}
return null;
}
@@ -1905,7 +1926,7 @@
// 娣樼ぜ閲戝垱寤�
public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum,
Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app)
- throws TaoLiJinCreateException,TaoKeApiException {
+ throws TaoLiJinCreateException, TaoKeApiException {
Map<String, String> map = new HashMap<>();
map.put("method", "taobao.tbk.dg.vegas.tlj.create");
map.put("adzone_id", app.getPid().split("_")[3]);
@@ -2026,6 +2047,159 @@
e.printStackTrace();
}
}
+
+ /**
+ * 鑾峰彇娣樺疂绯荤粺鏃堕棿
+ *
+ * @return
+ */
+ public static Date getTaoBaoSystemTime() {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.time.get");
+ try {
+ JSONObject json = TaoKeBaseUtil.baseRequest(map, false);
+ String time = json.optJSONObject("time_get_response").optString("time");
+ return new Date(TimeUtil.convertToTimeTemp(time, "yyyy-MM-dd HH:mm:ss"));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * 瀹樻柟娲诲姩鎺ㄥ箍
+ *
+ * @param adZoneId
+ * -骞垮憡浣�
+ * @param promotionSceneId-娲诲姩ID
+ * @param relationId
+ * -娓犻亾ID
+ * @return
+ */
+ public static String officialActivityConvert(String adZoneId, String promotionSceneId, String relationId) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.activitylink.get");
+ map.put("adzone_id", adZoneId);
+ map.put("promotion_scene_id", promotionSceneId);
+ if (relationId != null)
+ map.put("relation_id", relationId);
+ TaoKeAppInfo app = new TaoKeAppInfo();
+ app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
+ app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+ try {
+ String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
+ JSONObject json = JSONObject.fromObject(result);
+ if (json != null) {
+ json = json.optJSONObject("tbk_activitylink_get_response");
+ if (json.optInt("result_code") == 200) {
+ return json.optString("data");
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static List<TaoBaoGoodsBrief> guessLikeByAuctionId(Long auctionId, int count) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.dg.optimus.material");
+ map.put("item_id", auctionId + "");
+ map.put("page_size", count + "");
+ map.put("page_no", 1 + "");
+ map.put("material_id", 13256 + "");
+
+ List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+ JSONObject resultJSON = null;
+ try {
+ resultJSON = TaoKeBaseUtil.baseRequest(map, true);
+
+ JSONObject response = resultJSON.optJSONObject("tbk_dg_optimus_material_response");
+ if (response != null && response.optJSONObject("result_list") != null) {
+ JSONArray array = response.optJSONObject("result_list").optJSONArray("map_data");
+ if (array != null) {
+
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject item = array.optJSONObject(i);
+ TaoBaoGoodsBrief goods = parseWuLiaoItemFromMaterialId(item);
+ if (goods != null)
+ goodsList.add(goods);
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return goodsList;
+ }
+
+ public static List<TaoBaoGoodsBrief> getCouponListByItemId(Long auctionId) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.itemid.coupon.get");
+ map.put("platform", auctionId + "");
+ map.put("num_iids", auctionId + "");
+ map.put("pid", TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT);
+
+ List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+ JSONObject resultJSON = null;
+ try {
+ resultJSON = TaoKeBaseUtil.baseRequest(map, new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
+ TaoBaoConstant.TAOBAO_AUTH_APPSECRET, TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT));
+
+ JSONObject response = resultJSON.optJSONObject("tbk_dg_optimus_material_response");
+ if (response != null && response.optJSONObject("result_list") != null) {
+ JSONArray array = response.optJSONObject("result_list").optJSONArray("map_data");
+ if (array != null) {
+
+ for (int i = 0; i < array.size(); i++) {
+ JSONObject item = array.optJSONObject(i);
+ TaoBaoGoodsBrief goods = parseWuLiaoItemFromMaterialId(item);
+ if (goods != null)
+ goodsList.add(goods);
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return goodsList;
+ }
+
+ /**
+ * 娣樺疂瀹�-鎺ㄥ箍鑰�-瀹樻柟娲诲姩淇℃伅鑾峰彇
+ * @Title: getActivityInfo
+ * @Description:
+ * @param activityMaterialId
+ * @param pid
+ * @param relationId
+ * @return
+ * String 杩斿洖绫诲瀷
+ * @throws
+ */
+ public static String getActivityInfo(String activityMaterialId, String pid, String relationId) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.activity.info.get");
+ map.put("activity_material_id", activityMaterialId);
+ map.put("adzone_id", pid.split("_")[3] + "");
+ map.put("relation_id", relationId);
+
+ JSONObject resultJSON = null;
+ try {
+ resultJSON = TaoKeBaseUtil.baseRequest(map,
+ new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET, pid));
+ JSONObject response = resultJSON.optJSONObject("tbk_activity_info_get_response");
+ if (response != null && response.optJSONObject("data") != null) {
+ return response.optJSONObject("data").optString("click_url");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
}
class QuanInfo {
--
Gitblit v1.8.0