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