From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 23 一月 2024 17:17:55 +0800
Subject: [PATCH] 抖音转链修改

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java |  339 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 320 insertions(+), 19 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 0e2f5f7..826a9ae 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
@@ -225,24 +225,27 @@
     }
 
     private static TaoBaoGoodsBrief loadYuShouInfo(TaoBaoGoodsBrief goods, JSONObject item) {
+
         if (goods != null && item != null) {
-            // 棰勫敭鐩稿叧瑙f瀽
-            goods.setYsylClickUrl(item.optString("ysyl_click_url"));
-            if (!StringUtil.isNullOrEmpty(item.optString("ysyl_commission_rate")))
-                goods.setYsylCommissionRate(new BigDecimal(item.optString("ysyl_commission_rate")));
-            goods.setYsylTljFace(item.optString("ysyl_tlj_face"));
-            goods.setYsylTljSendTime(item.optString("ysyl_tlj_send_time"));
-            goods.setYsylTljUseEndTime(item.optString("ysyl_tlj_use_end_time"));
-            goods.setYsylTljUseStartTime(item.optString("ysyl_tlj_use_start_time"));
+            JSONObject preSaleInfo = item.optJSONObject("presale_info");
+            if (preSaleInfo != null) {
+                // 棰勫敭鐩稿叧瑙f瀽
+                goods.setYsylClickUrl(item.optString("ysyl_click_url"));
+                if (!StringUtil.isNullOrEmpty(item.optString("ysyl_commission_rate")))
+                    goods.setYsylCommissionRate(new BigDecimal(item.optString("ysyl_commission_rate")));
+                goods.setYsylTljFace(item.optString("ysyl_tlj_face"));
+                goods.setYsylTljSendTime(item.optString("ysyl_tlj_send_time"));
+                goods.setYsylTljUseEndTime(item.optString("ysyl_tlj_use_end_time"));
+                goods.setYsylTljUseStartTime(item.optString("ysyl_tlj_use_start_time"));
 
-            goods.setPresaleDeposit(item.optString("presale_deposit"));
-            goods.setPresaleDiscountFeeText(item.optString("presale_discount_fee_text"));
-            goods.setPresaleEndTime(item.optString("presale_end_time"));
-            goods.setPresaleStartTime(item.optString("presale_start_time"));
-            goods.setPresaleTailEndTime(item.optString("presale_tail_end_time"));
-            goods.setPresaleTailStartTime(item.optString("presale_tail_start_time"));
-
-            return goods;
+                goods.setPresaleDeposit(preSaleInfo.optString("presale_deposit"));
+                goods.setPresaleDiscountFeeText(preSaleInfo.optString("presale_discount_fee_text"));
+                goods.setPresaleEndTime(preSaleInfo.optString("presale_end_time"));
+                goods.setPresaleStartTime(preSaleInfo.optString("presale_start_time"));
+                goods.setPresaleTailEndTime(preSaleInfo.optString("presale_tail_end_time"));
+                goods.setPresaleTailStartTime(preSaleInfo.optString("presale_tail_start_time"));
+                return goods;
+            }
         }
         return goods;
     }
@@ -836,6 +839,195 @@
         return taoBaoSearchResult;
     }
 
+
+    public static TaoBaoSearchResult searchWuLiaoNew(SearchFilter filter, String specialId, String relationId) {
+
+        if (filter.getKey() != null && filter.getKey().trim().equalsIgnoreCase(""))
+            return null;
+
+        PageEntity pageEntity = new PageEntity();
+        TaoBaoSearchResult taoBaoSearchResult = new TaoBaoSearchResult();
+        Map<String, String> map = new HashMap<>();
+        map.put("method", "taobao.tbk.dg.material.optional.upgrade");
+        map.put("page_size", filter.getPageSize() == 0 ? "20" : filter.getPageSize() + "");
+        map.put("page_no", (filter.getPage() <= 0 ? 1 : filter.getPage()) + "");
+        //1-鍔ㄦ�両D杞摼鍦烘櫙锛�2-娑堣垂鑰呮瘮浠峰満鏅紙涓嶅~榛樿涓�1锛�
+//        map.put("biz_scene_id","2");
+//        map.put("promotion_type","1");
+
+        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);
+        }
+
+        // map.put("material_id", "3756");
+
+        pageEntity.setPageIndex(filter.getPage());
+        pageEntity.setPageSize(filter.getPageSize() == 0 ? 20 : filter.getPageSize());
+
+        // 鍖呭惈浜嗗湴鍖虹瓫閫�
+        if (filter.getProvinceId() > 0) {
+            List<TaoBaoProvince> provinceList = TaoBaoUtil.getTaoBaoProvinceList();
+
+            for (TaoBaoProvince province : provinceList) {
+                if (Integer.parseInt(province.getId()) == filter.getProvinceId()) {
+                    map.put("itemloc", province.getName());
+                    break;
+                }
+            }
+        }
+
+        if (filter.getMaterialId() != null)
+            map.put("material_id", filter.getMaterialId());
+
+        if (filter.getStartPrice() != null)
+            map.put("start_price", filter.getStartPrice() + "");
+
+        if (filter.getEndPrice() != null)
+            map.put("end_price", filter.getEndPrice() + "");
+
+        if (filter.getStartTkRate() > 0)
+            map.put("start_tk_rate", filter.getStartTkRate() + "");
+
+        if (filter.getEndTkRate() > 0)
+            map.put("end_tk_rate", filter.getEndTkRate() + "");
+
+        if (filter.getStartKaTkRate() > 0)
+            map.put("start_ka_tk_rate", filter.getStartKaTkRate() + "");
+
+        if (filter.getEndKaTkRate() > 0)
+            map.put("end_ka_tk_rate", filter.getEndKaTkRate() + "");
+
+        if (filter.isTmall())
+            map.put("is_tmall", filter.isTmall() + "");
+
+        if (filter.isOverseas())
+            map.put("is_overseas", filter.isOverseas() + "");
+
+        if (filter.isBaoYou())
+            map.put("need_free_shipment", filter.isBaoYou() + "");
+
+        if (filter.isNeedPrepay())
+            map.put("need_prepay", filter.isNeedPrepay() + "");
+
+        if (filter.isIncludePayRate30())
+            map.put("include_pay_rate_30", filter.isIncludePayRate30() + "");
+
+        if (filter.isIncludeGoodRate())
+            map.put("include_good_rate", filter.isIncludeGoodRate() + "");
+
+        if (filter.isIncludeRfdRate())
+            map.put("include_rfd_rate", filter.isIncludeRfdRate() + "");
+
+        if (filter.getStartDsr() > 0)
+            map.put("start_dsr", filter.getStartDsr() + "");
+
+        if (filter.getNpxLevel() > 0)
+            map.put("npx_level", filter.getNpxLevel() + "");
+
+        if (!StringUtil.isNullOrEmpty(filter.getCateIds()))
+            map.put("cat", filter.getCateIds());
+
+        if (!StringUtil.isNullOrEmpty(filter.getKey()))
+            map.put("q", filter.getKey());
+
+        if (filter.getQuan() > 0)
+            map.put("has_coupon", true + "");
+
+        if (!StringUtil.isNullOrEmpty(filter.getIp()))
+            map.put("ip", filter.getIp());
+
+        if (filter.getSort() > 0) {
+            if (filter.getSort() == TaoBaoUtil.SORT_SALE_HIGH_TO_LOW) {
+                map.put("sort", "total_sales_des"); // 閿�閲忎粠楂樺埌浣�
+            } else if (filter.getSort() == TaoBaoUtil.SORT_SALE_LOW_TO_HIGH) {
+                map.put("sort", "total_sales_asc"); // 閿�閲忎粠浣庡埌楂�
+            } else if (filter.getSort() == TaoBaoUtil.SORT_PRICE_HIGH_TO_LOW) {
+                map.put("sort", "price_des"); // 浠锋牸浠庨珮鍒颁綆
+            } else if (filter.getSort() == TaoBaoUtil.SORT_PRICE_LOW_TO_HIGH) {
+                map.put("sort", "price_asc"); // 浠锋牸浠庝綆鍒伴珮
+            } else if (filter.getSort() == TaoBaoUtil.SORT_TKRATE_HIGH_TO_LOW) {
+                map.put("sort", "tk_rate_des"); // 娣樺浣i噾姣旂巼楂樺埌浣�
+            } else if (filter.getSort() == TaoBaoUtil.SORT_TKRATE_LOW_TO_HIGH) {
+                map.put("sort", "tk_rate_asc"); // 娣樺浣i噾姣旂巼浣庡埌楂�
+            } else if (filter.getSort() == TaoBaoUtil.SORT_TOTAL_COMMI_HIGH_TO_LOW) {
+                map.put("sort", "tk_total_commi_des"); // 鎬绘敮鍑轰剑閲戦珮鍒颁綆
+            } else if (filter.getSort() == TaoBaoUtil.SORT_TOTAL_COMMI_LOW_TO_HIGH) {
+                map.put("sort", "tk_total_commi_asc"); // 鎬绘敮鍑轰剑閲戜綆鍒伴珮
+            } else if (filter.getSort() == TaoBaoUtil.SORT_TOTAL_SALES_HIGH_TO_LOW) {
+                map.put("sort", "tk_total_sales_des"); // 绱鎺ㄥ箍閲忛珮鍒颁綆
+            } else if (filter.getSort() == TaoBaoUtil.SORT_TOTAL_SALES_LOW_TO_HIGH) {
+                map.put("sort", "tk_total_sales_asc"); // 绱鎺ㄥ箍閲忎綆鍒伴珮
+            }
+
+        }
+
+        String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
+        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) {
+            JSONArray array = rootData.optJSONObject("result_list")
+                    .optJSONArray("map_data");
+            List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+            if (array != null) {
+                for (int i = 0; i < array.size(); i++) {
+                    TaoBaoGoodsBrief goods = parseWuLiaoItemNew(array.optJSONObject(i));
+                    if (goods != null)
+                        goodsList.add(goods);
+                }
+            }
+            taoBaoSearchResult.setTaoBaoGoodsBriefs(goodsList);
+            int totalResults = rootData.getInt("total_results");
+            int totalPage = totalResults % pageEntity.getPageSize() == 0 ? totalResults / pageEntity.getPageSize()
+                    : totalResults / pageEntity.getPageSize() + 1;
+            pageEntity.setTotalCount(totalResults);
+            pageEntity.setTotalPage(totalPage);
+
+        }
+
+        List<TaoBaoSearchNav> navList = new ArrayList<>();
+
+        TaoBaoHead taoBaoHead = new TaoBaoHead();
+        taoBaoHead.setDocsfound((int) pageEntity.getTotalCount());
+        taoBaoSearchResult.setTaoBaoHead(taoBaoHead);
+
+        taoBaoSearchResult.setPageEntity(pageEntity);
+
+        // filter.get
+
+        // 璁剧疆鍙戣揣鍦板潃
+        TaoBaoSearchNav nav = new TaoBaoSearchNav();
+        nav.setName("鍙戣揣鍦伴�夋嫨");
+        nav.setFlag("address");
+        nav.setId(11110);
+        nav.setType("fahuodi");
+
+        List<TaoBaoSearchNav> childNavList = new ArrayList<>();
+        List<TaoBaoProvince> provinceList = TaoBaoUtil.getTaoBaoProvinceList();
+        for (TaoBaoProvince province : provinceList) {
+            TaoBaoSearchNav childNav = new TaoBaoSearchNav();
+            childNav.setName(province.getName());
+            childNav.setId(Integer.parseInt(province.getId()));
+            childNav.setType("fahuodi-child");
+            if (Integer.parseInt(province.getId()) == filter.getProvinceId())
+                childNav.setSelector(1);
+            childNavList.add(childNav);
+        }
+
+        nav.setSubIds(childNavList);
+        navList.add(nav);
+
+        // 娴嬭瘯
+        taoBaoSearchResult.setNavList(navList);
+
+        return taoBaoSearchResult;
+    }
+
     /**
      * 鍟嗗搧鐗╂枡鎼滅储
      *
@@ -1065,6 +1257,109 @@
         goods = loadYuShouInfo(goods, item);
         return goods;
     }
+
+    public static TaoBaoGoodsBrief parseWuLiaoItemNew(JSONObject item) {
+        JSONObject basicInfo = item.optJSONObject("item_basic_info");
+        JSONObject pricePromotionInfo = item.optJSONObject("price_promotion_info");
+        JSONObject publishInfo = item.optJSONObject("publish_info");
+        // 绾挎姤鍐呭
+        JSONObject mgcInfo = item.optJSONObject("mgc_info");
+
+
+
+        TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
+        goods.setPictUrl(basicInfo.optString("pict_url"));
+
+        if (!StringUtil.isNullOrEmpty(basicInfo.optString("white_image"))) {
+            goods.setPictUrlWhite(basicInfo.optString("white_image"));
+        }
+
+        goods.setAuctionId(item.optString("item_id"));
+        goods.setAuctionUrl("https:" + item.optString("url"));
+        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) {
+            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", ""));
+            List<BigDecimal> quanInfo = TaoBaoCouponUtil.getCouponInfo(goods.getCouponInfo());
+            goods.setCouponAmount(new BigDecimal(couponInfo.optString("promotion_fee")));
+            goods.setCouponEffectiveEndTime(couponInfo.optString("promotion_end_time"));
+            goods.setCouponEffectiveStartTime(couponInfo.optString("promotion_start_time"));
+            goods.setCouponStartFee(quanInfo.get(0));
+            goods.setCouponLeftCount(100);
+            goods.setCouponLink(publishInfo.optString("coupon_share_url"));
+            goods.setCouponTotalCount(100);
+            goods.setCouponActivityId(couponInfo.optString("promotion_id"));
+        }else{
+            goods.setCouponAmount(new BigDecimal(0));
+        }
+
+        goods.setDayLeft(-1);
+        if (basicInfo.optJSONObject("small_images") != null) {
+            JSONArray imgArray = basicInfo.optJSONObject("small_images").optJSONArray("string");
+            if (imgArray != null) {
+                List<String> imgList = new ArrayList<>();
+                for (int n = 0; n < imgArray.size(); n++) {
+                    imgList.add(imgArray.optString(n));
+                }
+                goods.setImgList(imgList);
+            }
+        }
+
+        if (publishInfo.optString("commission_type").contains("MKT"))
+            goods.setTkMktStatus("1");
+        else
+            goods.setTkMktStatus("0");
+
+        if (publishInfo.optString("commission_type").contains("SP"))
+            goods.setIncludeDxjh(1);
+
+        goods.setSellerId(basicInfo.optLong("seller_id"));
+        goods.setShopTitle(basicInfo.optString("shop_title"));
+        goods.setTitle(basicInfo.optString("title"));
+        goods.setProvcity(basicInfo.optString("provcity"));
+
+        if (!StringUtil.isNullOrEmpty(basicInfo.optString("level_one_category_id"))) {
+            goods.setRootCatId(basicInfo.optInt("level_one_category_id"));
+        }
+        goods.setRootCategoryName(basicInfo.optString("level_one_category_name"));
+
+        if (!StringUtil.isNullOrEmpty(basicInfo.optString("category_id"))) {
+            goods.setLeafCatId(basicInfo.optInt("category_id"));
+        }
+        goods.setLeafName(basicInfo.optString("category_name"));
+
+        goods.setTkRate(new BigDecimal(publishInfo.optString("income_rate")));
+        goods.setTotalNum(1000);
+        goods.setUserType(basicInfo.optInt("user_type"));
+        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) {
+            goods.setDxjhInfo(publishInfo.optJSONArray("sp_campaign_list").optJSONObject(0).optString("sp_name"));
+        }
+
+        if (StringUtil.isNullOrEmpty(goods.getCouponInfo())) {// 鏃犲埜
+            goods.setTkCommFee(goods.getZkPrice().multiply(goods.getTkRate()).divide(new BigDecimal(100)));
+        } else if (goods.getZkPrice().compareTo(goods.getCouponStartFee()) >= 0// 鏈夊埜
+                && goods.getZkPrice().compareTo(goods.getCouponAmount()) >= 0) {
+            BigDecimal finalPrice = goods.getZkPrice().subtract(goods.getCouponAmount());
+            goods.setTkCommFee(finalPrice.multiply(goods.getTkRate()).divide(new BigDecimal(100)));
+        } else {
+            goods.setTkCommFee(new BigDecimal(0));
+        }
+        if (!StringUtil.isNullOrEmpty(pricePromotionInfo.optString("reserve_price")))
+            goods.setReservePrice(new BigDecimal(pricePromotionInfo.optString("reserve_price")));
+        goods.setTotalFee(new BigDecimal("0"));
+        // 鎺ㄨ崘璇�
+
+        if(mgcInfo!=null) {
+            goods.setDescription(mgcInfo.optString("item_description"));
+        }
+        goods = loadYuShouInfo(goods, item);
+        return goods;
+    }
+
 
     /**
      * 鑾峰彇娣樺彛浠�
@@ -2307,9 +2602,9 @@
 //        searchWuLiao(sf,null,null);
 //        tokenConvert("銆愭窐瀹濄�慼ttps://m.tb.cn/h.5YFsc7F?tk=A8wSdGRxsjm CZ0001 銆屼縿缃楁柉椋庡懗杩蜂綘鎻愭媺绫宠嫃铚傝湝濂舵补鍗冨眰鐢滃搧铔嬬硶鏃╅鏁寸3000鍏嬮浂椋熴�峔n" +
 //                "鐐瑰嚮閾炬帴鐩存帴鎵撳紑 鎴栬�� 娣樺疂鎼滅储鐩存帴鎵撳紑");
-
-     TaoBaoGoodsBrief goods =  getSimpleGoodsInfo("kNWkWZuYt28BaNcG9ycPtJ-aRG5QXwIdOXvv5bNcNq");
-     System.out.println(goods);
+//
+//     TaoBaoGoodsBrief goods =  getSimpleGoodsInfo("kNWkWZuYt28BaNcG9ycPtJ-aRG5QXwIdOXvv5bNcNq");
+//     System.out.println(goods);
 //     System.out.println(goods.getAuctionId());
 //        Map<String, String> map = new HashMap<>();
 //        map.put("method", "taobao.tbk.item.info.get");
@@ -2317,6 +2612,12 @@
 //        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());
     }
 
 }

--
Gitblit v1.8.0