From f8e7d39143f121bf9adf867f4a44b56ae3346532 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期三, 04 三月 2020 15:32:13 +0800
Subject: [PATCH] 修复某些商品详情返利为0的情况

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java |  105 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 66 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..3f4d4d5 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)) {

--
Gitblit v1.8.0