From 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 09 五月 2020 21:41:27 +0800
Subject: [PATCH] 2.1需求
---
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java | 172 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 133 insertions(+), 39 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 38b7e66..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
@@ -320,29 +320,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;
}
/**
@@ -389,29 +397,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;
+ }
}
/**
@@ -1626,6 +1641,7 @@
map.put("adzone_id", sts[3]);
try {
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");
@@ -1636,6 +1652,17 @@
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)) {
@@ -2106,6 +2133,73 @@
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