admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -48,7 +48,7 @@
        map.put("method", "taobao.tbk.item.info.get");
        map.put("num_iids", id + "");
        String resultStr =   TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
        String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
        System.out.println(resultStr);
        JSONObject data = JSONObject.fromObject(resultStr);
        // 商品下架
@@ -65,7 +65,7 @@
        if (array != null && array.size() > 0) {
            JSONObject item = array.optJSONObject(0);
            TaoBaoGoodsBrief goods = parseSimpleGoodsInfo(item);
            if(goods!=null&&!NumberUtil.isNumeric(id)){
            if (goods != null && !NumberUtil.isNumeric(id)) {
                goods.setAuctionId(id);
            }
            return goods;
@@ -81,11 +81,11 @@
        map.put("num_iids", id + "");
        String resultStr = null;
        if(!NumberUtil.isNumeric(id)){
            resultStr =   TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
        }else{
        if (!NumberUtil.isNumeric(id)) {
            resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
        } else {
            map.put("biz_scene_id", "2");
            resultStr =   TaoKeBaseUtil.baseRequestForThreeTimes(map, TaoBaoConstant.getSpecialAuthAppInfo(TaoBaoConstant.TAOBAO_PID_DEFAULT));
            resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, TaoBaoConstant.getSpecialAuthAppInfo(TaoBaoConstant.TAOBAO_PID_DEFAULT));
        }
        System.out.println(resultStr);
        JSONObject data = JSONObject.fromObject(resultStr);
@@ -103,7 +103,7 @@
        if (array != null && array.size() > 0) {
            JSONObject item = array.optJSONObject(0);
            TaoBaoGoodsBrief goods = parseSimpleGoodsInfo(item);
            if(goods!=null&&!NumberUtil.isNumeric(id)){
            if (goods != null && !NumberUtil.isNumeric(id)) {
                goods.setAuctionId(id);
            }
            return goods;
@@ -115,9 +115,9 @@
        TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
        goods.setAuctionId(item.optString("num_iid"));
        goods.setAuctionUrl(item.optString("item_url"));
        if(item.containsKey("annual_vol")){
            goods.setBiz30day(item.optInt("annual_vol")/12);
        }else {
        if (item.containsKey("annual_vol")) {
            goods.setBiz30day(item.optInt("annual_vol") / 12);
        } else {
            goods.setBiz30day(item.optInt("volume"));
        }
        if (item.optJSONObject("small_images") != null) {
@@ -356,7 +356,7 @@
            }
        // 从转链搜索
        TaoBaoGoodsBrief newGoods = specialConvertCoupon(goods.getAuctionId(),
        TaoBaoGoodsBrief newGoods = specialConvertCouponV2(goods.getAuctionId(),
                new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
                        TaoBaoConstant.TAOBAO_PID_DEFAULT), specialId, relationId);
@@ -437,7 +437,7 @@
            }
        // 从转链搜索
        TaoBaoGoodsBrief newGoods = specialConvertCoupon(goods.getAuctionId(),
        TaoBaoGoodsBrief newGoods = specialConvertCouponV2(goods.getAuctionId(),
                new TaoKeAppInfo(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_AUTH_APPSECRET,
                        TaoBaoConstant.TAOBAO_PID_DEFAULT), null, null);
@@ -932,8 +932,8 @@
        System.out.println("resultStr" + resultStr);
        JSONObject data = JSONObject.fromObject(resultStr);
        JSONObject rootData = data.optJSONObject("tbk_dg_material_optional_upgrade_response");
        if ( rootData!= null
                &&rootData.optJSONObject("result_list") != null) {
        if (rootData != null
                && rootData.optJSONObject("result_list") != null) {
            JSONArray array = rootData.optJSONObject("result_list")
                    .optJSONArray("map_data");
            List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
@@ -1137,9 +1137,9 @@
        goods.setAuctionId(item.optString("num_iid"));
        goods.setAuctionUrl("https:" + item.optString("url"));
        if(item.containsKey("annual_vol")){
            goods.setBiz30day(item.optInt("annual_vol")/100);
        }else {
        if (item.containsKey("annual_vol")) {
            goods.setBiz30day(item.optInt("annual_vol") / 100);
        } else {
            goods.setBiz30day(item.optInt("volume"));
        }
        goods.setCouponInfo(item.optString("coupon_info"));
@@ -1233,7 +1233,6 @@
        JSONObject mgcInfo = item.optJSONObject("mgc_info");
        TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
        goods.setPictUrl(basicInfo.optString("pict_url"));
@@ -1244,12 +1243,12 @@
        goods.setAuctionId(item.optString("item_id"));
        goods.setAuctionUrl("https:" + item.optString("url"));
        if(basicInfo.containsKey("annual_vol")){
            goods.setBiz30day(basicInfo.optInt("annual_vol")/12);
        }else {
        if (basicInfo.containsKey("annual_vol")) {
            goods.setBiz30day(basicInfo.optInt("annual_vol") / 12);
        } else {
            goods.setBiz30day(basicInfo.optInt("volume"));
        }
        if(pricePromotionInfo.optJSONObject("final_promotion_path_list")!=null&&pricePromotionInfo.optJSONObject("final_promotion_path_list").optJSONArray("final_promotion_path_map_data").size()>0) {
        if (pricePromotionInfo.optJSONObject("final_promotion_path_list") != null && pricePromotionInfo.optJSONObject("final_promotion_path_list").optJSONArray("final_promotion_path_map_data").size() > 0) {
            JSONArray array = pricePromotionInfo.optJSONObject("final_promotion_path_list").optJSONArray("final_promotion_path_map_data");
            JSONObject couponInfo = array.optJSONObject(0);
            goods.setCouponInfo(couponInfo.optString("promotion_desc").replace(".00", ""));
@@ -1262,7 +1261,7 @@
            goods.setCouponLink(publishInfo.optString("coupon_share_url"));
            goods.setCouponTotalCount(100);
            goods.setCouponActivityId(couponInfo.optString("promotion_id"));
        }else{
        } else {
            goods.setCouponAmount(new BigDecimal(0));
        }
@@ -1307,7 +1306,7 @@
        goods.setUserTypeName("");
        goods.setZkPrice(new BigDecimal(pricePromotionInfo.optString("zk_final_price")));
        if (publishInfo.optJSONArray("sp_campaign_list")!=null&&publishInfo.optJSONArray("sp_campaign_list").size()>0) {
        if (publishInfo.optJSONArray("sp_campaign_list") != null && publishInfo.optJSONArray("sp_campaign_list").size() > 0) {
            goods.setDxjhInfo(publishInfo.optJSONArray("sp_campaign_list").optJSONObject(0).optString("sp_name"));
        }
@@ -1325,7 +1324,7 @@
        goods.setTotalFee(new BigDecimal("0"));
        // 推荐语
        if(mgcInfo!=null) {
        if (mgcInfo != null) {
            goods.setDescription(mgcInfo.optString("item_description"));
        }
        goods = loadYuShouInfo(goods, item);
@@ -2069,6 +2068,62 @@
    }
    public static TaoBaoGoodsBrief specialConvertCouponV2(String auctionId, TaoKeAppInfo app, String specialId, String relationId) {
        String pid = app.getPid();
        String[] sts = pid.split("_");
        Map<String, String> map = new HashMap<>();
        map.put("method", "taobao.tbk.dg.general.link.convert");
        map.put("item_id_list", auctionId + "");
        map.put("adzone_id", sts[3]);
        if (!StringUtil.isNullOrEmpty(specialId) && !StringUtil.isNullOrEmpty(relationId)) {
            map.put("special_id", specialId);
        } else if (!StringUtil.isNullOrEmpty(specialId)) {
            map.put("special_id", specialId);
        } else if (!StringUtil.isNullOrEmpty(relationId)) {
            map.put("relation_id", relationId);
        }
        try {
            String result = TaoKeBaseUtil.baseRequestForThreeTimes(map, app);
            System.out.println(result);
            JSONObject json = JSONObject.fromObject(result);
            JSONObject resultJSON = json.optJSONObject("tbk_dg_general_link_convert_response").optJSONObject("data")
                    .optJSONObject("item_url_list").optJSONArray("item_url_list").optJSONObject(0);
            JSONObject goodsInfo=resultJSON.optJSONObject("link_info_dto");
            String couponLink = goodsInfo.optString("coupon_short_url");
            String itemLink = goodsInfo.optString("cps_short_url");
            TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
            goods.setAuctionUrl(itemLink);
            goods.setCouponLink(couponLink);
            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"));
            }
            JSONObject rateInfo=resultJSON.optJSONObject("promotion_info_dto");
            String tkRate = rateInfo.optString("commission_rate");
            if (!StringUtil.isNullOrEmpty(tkRate)) {
                goods.setTkRate(new BigDecimal(tkRate));
            }
            goods = loadYuShouInfo(goods, resultJSON);
            return goods;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    // AA5ISJ
    private static TaoBaoGoodsBrief parseWuLiaoItemFromMaterialId(JSONObject item) {
@@ -2077,9 +2132,9 @@
        goods.setPictUrl(TbImgUtil.getTBSize320Img("https:" + item.optString("pict_url")));
        goods.setAuctionId(item.optString("item_id"));
        goods.setAuctionUrl("https://item.taobao.com/item.htm?id=" + goods.getAuctionId());
        if(item.containsKey("annual_vol")){
            goods.setBiz30day(item.optInt("annual_vol")/12);
        }else {
        if (item.containsKey("annual_vol")) {
            goods.setBiz30day(item.optInt("annual_vol") / 12);
        } else {
            goods.setBiz30day(item.optInt("volume"));
        }
        if (!StringUtil.isNullOrEmpty(item.optString("coupon_amount"))) {
@@ -2588,12 +2643,20 @@
//        map.put("num_iids",  "708395859317");
//        String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
//        System.out.println(resultStr);
        SearchFilter sf=new SearchFilter();
        sf.setKey("鞋");
        sf.setPage(1);
        sf.setPageSize(20);
        TaoBaoSearchResult result =  searchWuLiaoNew(sf,null,null);
        System.out.printf(result.toString());
//        SearchFilter sf=new SearchFilter();
//        sf.setKey("鞋");
//        sf.setPage(1);
//        sf.setPageSize(20);
//        TaoBaoSearchResult result =  searchWuLiaoNew(sf,null,null);
//        System.out.printf(result.toString());
//        public static final String TAOBAO_AUTH_APPKEY = "24980167";
//        public static final String TAOBAO_AUTH_APPSECRET = "e0a2e05deabf5ce039b52e5b492d5382";
//        public static final String TAOBAO_PID_DEFAULT="mm_124933865_56750082_89555600043";
        TaoKeAppInfo app = new TaoKeAppInfo("24980167", "e0a2e05deabf5ce039b52e5b492d5382", "mm_124933865_56750082_89555600043");
        specialConvertCouponV2("ZMxBywvT6tPr0wabjaFBQPiVt6-g4DYZPC2OoJaaRXIoq", app, "511379263", null);
    }
}