From b3da9f82b7740d39742fef1a81a56c22fe1c8b9c Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 08 六月 2020 17:27:02 +0800
Subject: [PATCH] 券后价调整
---
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 566 +++++++++++++++++++++++++++++++++-----------------------
1 files changed, 333 insertions(+), 233 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 32c01d7..5455308 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
@@ -7,13 +7,13 @@
import java.util.List;
import java.util.Map;
+import org.yeshi.utils.JsonUtil;
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.dto.taobao.api.TaoKeOfficialActivityConvertResultDTO;
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;
@@ -24,6 +24,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;
@@ -141,77 +142,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"))) {
- 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);
-
- 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)
@@ -260,67 +286,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;
}
@@ -353,29 +322,37 @@
}
}
- // 鍐嶄粠娣樺疂鑱旂洘缃戦〉鎼滅储
- 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;
}
/**
@@ -422,29 +399,36 @@
}
}
- // 鍐嶄粠娣樺疂鑱旂洘缃戦〉鎼滅储
- 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;
+ }
}
/**
@@ -919,6 +903,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"));
@@ -952,6 +937,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;
}
@@ -985,23 +974,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;
- }
-
/**
* 鑾峰彇鍒歌缁嗕俊鎭�
*
@@ -1028,45 +1000,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() {
@@ -1369,14 +1302,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();
}
}
@@ -1438,23 +1369,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;
@@ -1631,6 +1566,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) {
@@ -1706,7 +1642,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");
@@ -1716,13 +1654,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();
}
@@ -1838,8 +1788,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"));
@@ -1879,6 +1830,7 @@
goods.setReservePrice(new BigDecimal(0));
goods.setTotalFee(new BigDecimal("0"));
goods.setPictUrlWhite(item.optString("white_image"));
+ goods = loadYuShouInfo(goods, item);
return goods;
}
@@ -1941,7 +1893,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);
@@ -1951,14 +1903,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;
}
@@ -2105,6 +2067,144 @@
}
return null;
}
+
+ /**
+ * 瀹樻柟娲诲姩鎺ㄥ箍
+ *
+ * @param adZoneId
+ * -骞垮憡浣�
+ * @param promotionSceneId-娲诲姩ID
+ * @param relationId
+ * -娓犻亾ID
+ * @return
+ */
+ public static TaoKeOfficialActivityConvertResultDTO officialActivityConvert(String adZoneId,
+ String promotionSceneId, String relationId) {
+ Map<String, String> map = new HashMap<>();
+ map.put("method", "taobao.tbk.activity.info.get");
+ map.put("adzone_id", adZoneId);
+ map.put("activity_material_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);
+ System.out.println(result);
+ JSONObject json = JSONObject.fromObject(result);
+ if (json != null) {
+ json = json.optJSONObject("tbk_activity_info_get_response");
+ if (json.optJSONObject("data") != null) {
+ return JsonUtil.getSimpleGson().fromJson(json.optJSONObject("data").toString(),
+ TaoKeOfficialActivityConvertResultDTO.class);
+ }
+ }
+ } 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