admin
2020-03-04 f8e7d39143f121bf9adf867f4a44b56ae3346532
修复某些商品详情返利为0的情况
1个文件已修改
83 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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());
            }
        }
        TaoKeLogHelper.error(null, "没有搜索到详情:" + id);
            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;
        }
    }
    /**
@@ -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);
            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)) {