From 651f2856e9ae10aacbfb8327d967aacbb6d58333 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 12 四月 2023 18:13:58 +0800
Subject: [PATCH] 大淘客API修复/唯品会订单爬取策略修改

---
 fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java |   98 ++++++++++++++++++++++++++----------------------
 1 files changed, 53 insertions(+), 45 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 4441c0f..639ff93 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
@@ -21,6 +21,7 @@
 import com.yeshi.goods.facade.dto.taobao.TaoBaoShopInfoDTO;
 import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.goods.facade.entity.taobao.TaoBaoHead;
+import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import org.yeshi.utils.JsonUtil;
@@ -116,7 +117,8 @@
     public static TaoBaoGoodsBrief getSimpleGoodsInfo(String id) throws TaobaoGoodsDownException {
         Map<String, String> map = new HashMap<>();
         //TODO 涓存椂鎺ュ彛 taobao.tbk.item.info.get
-        map.put("method", "taobao.tbk.item.info.temporary.get");
+        map.put("method", "taobao.tbk.item.info.get");
+//        map.put("biz_scene_id", 2 + "");
         map.put("num_iids", id + "");
         String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
         System.out.println(resultStr);
@@ -128,13 +130,17 @@
         }
 
         //TODO 淇敼涓存椂鎺ュ彛 tbk_item_info_get_response
-        if (data.optJSONObject("tbk_item_info_temporary_get_response") == null)
+        if (data.optJSONObject("tbk_item_info_get_response") == null)
             return null;
-        JSONArray array = data.optJSONObject("tbk_item_info_temporary_get_response").optJSONObject("results")
+        JSONArray array = data.optJSONObject("tbk_item_info_get_response").optJSONObject("results")
                 .optJSONArray("n_tbk_item");
         if (array != null && array.size() > 0) {
             JSONObject item = array.optJSONObject(0);
-            return parseSimpleGoodsInfo(item);
+            TaoBaoGoodsBrief goods = parseSimpleGoodsInfo(item);
+            if(goods!=null){
+                goods.setAuctionId(id);
+            }
+            return goods;
         }
         return null;
     }
@@ -367,7 +373,7 @@
         if (result != null && result.getTaoBaoGoodsBriefs() != null)
             for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) {
                 System.out.println(goods.getAuctionId() + ":" + g.getAuctionId());
-                if (TaoBaoUtil.isEqual(goods.getAuctionId(),g.getAuctionId())) {
+                if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) {
                     g.setAuctionId(goods.getAuctionId());
                     g.setCreatetime(new Date());
                     g.setMaterialLibType(goods.getMaterialLibType());
@@ -432,7 +438,7 @@
                 goods.getUserType(), app, null, null);
         if (result != null && result.getTaoBaoGoodsBriefs() != null)
             for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) {
-                if (TaoBaoUtil.isEqual( goods.getAuctionId() , g.getAuctionId())) {
+                if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) {
                     g.setAuctionId(goods.getAuctionId());
                     // 鍒ゆ柇鏄惁鏈変紭鎯犲埜
                     if (!StringUtil.isNullOrEmpty(g.getCouponActivityId())) {
@@ -512,7 +518,7 @@
                 goods.getUserType(), app, specialId, relationId);
         if (result != null && result.getTaoBaoGoodsBriefs() != null)
             for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) {
-                if (TaoBaoUtil.isEqual( goods.getAuctionId(), g.getAuctionId())) {
+                if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) {
                     g.setAuctionId(goods.getAuctionId());
                     g.setCreatetime(new Date());
                     return g;
@@ -553,7 +559,7 @@
                     goods.getUserType(), null, null);
             if (result != null && result.getTaoBaoGoodsBriefs() != null)
                 for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) {
-                    if ( TaoBaoUtil.isEqual(goods.getAuctionId(),g.getAuctionId())) {
+                    if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) {
                         g.setAuctionId(goods.getAuctionId());
                         g.setAuctionUrl(goods.getAuctionUrl());
                         g.setShopTitle(goods.getShopTitle());
@@ -590,7 +596,7 @@
             if (searchResult != null && searchResult.getTaoBaoGoodsBriefs() != null
                     && searchResult.getTaoBaoGoodsBriefs().size() > 0) {
                 for (TaoBaoGoodsBrief g : searchResult.getTaoBaoGoodsBriefs()) {
-                    if (TaoBaoUtil.isEqual( g.getAuctionId(), goods.getAuctionId())) {
+                    if (TaoBaoUtil.isEqual(g.getAuctionId(), goods.getAuctionId())) {
                         g.setImgList(goods.getImgList());
                         g.setAuctionId(goods.getAuctionId());
                         g.setAuctionUrl(goods.getAuctionUrl());
@@ -635,16 +641,20 @@
         if (filter.getKey() != null && filter.getKey().trim().equalsIgnoreCase(""))
             return null;
 
-        if (filter.getKey() != null && filter.getKey().length() > 100)
-            return null;
+//        if (filter.getKey() != null && filter.getKey().length() > 100)
+//            return null;
 
         PageEntity pageEntity = new PageEntity();
         TaoBaoSearchResult taoBaoSearchResult = new TaoBaoSearchResult();
         Map<String, String> map = new HashMap<>();
         //TODO 涓存椂鎺ュ彛taobao.tbk.dg.material.optional
-        map.put("method", "taobao.tbk.dg.material.temporary.optional");
+        map.put("method", "taobao.tbk.dg.material.optional");
         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)) {
@@ -756,12 +766,12 @@
         }
 
         String resultStr = TaoKeBaseUtil.baseRequestForThreeTimes(map, true);
-         System.out.println("resultStr"+ resultStr);
+        System.out.println("resultStr" + resultStr);
         JSONObject data = JSONObject.fromObject(resultStr);
         //TODO 涓存椂鎺ュ彛tbk_dg_material_optional_response
-        if (data.optJSONObject("tbk_dg_material_temporary_optional_response") != null
-                && data.optJSONObject("tbk_dg_material_temporary_optional_response").optJSONObject("result_list") != null) {
-            JSONArray array = data.optJSONObject("tbk_dg_material_temporary_optional_response").optJSONObject("result_list")
+        if (data.optJSONObject("tbk_dg_material_optional_response") != null
+                && data.optJSONObject("tbk_dg_material_optional_response").optJSONObject("result_list") != null) {
+            JSONArray array = data.optJSONObject("tbk_dg_material_optional_response").optJSONObject("result_list")
                     .optJSONArray("map_data");
             List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
             if (array != null) {
@@ -773,7 +783,7 @@
             }
             taoBaoSearchResult.setTaoBaoGoodsBriefs(goodsList);
 
-            JSONObject optJSONObject = data.optJSONObject("tbk_dg_material_temporary_optional_response");
+            JSONObject optJSONObject = data.optJSONObject("tbk_dg_material_optional_response");
             int totalResults = optJSONObject.getInt("total_results");
             int totalPage = totalResults % pageEntity.getPageSize() == 0 ? totalResults / pageEntity.getPageSize()
                     : totalResults / pageEntity.getPageSize() + 1;
@@ -838,7 +848,7 @@
         TaoBaoSearchResult taoBaoSearchResult = new TaoBaoSearchResult();
         Map<String, String> map = new HashMap<>();
         //TODO 涓存椂鎺ュ彛 taobao.tbk.dg.material.optional
-        map.put("method", "taobao.tbk.dg.material.temporary.optional");
+        map.put("method", "taobao.tbk.dg.material.optional");
         map.put("page_size", 50 + "");
         map.put("page_no", 1 + "");
         map.put("start_price", (int) zkPrice.subtract(new BigDecimal(1)).doubleValue() + "");
@@ -859,9 +869,9 @@
         System.out.println(resultStr);
         JSONObject data = JSONObject.fromObject(resultStr);
         //TODO 涓存椂鎺ュ彛 tbk_dg_material_optional_response
-        if (data.optJSONObject("tbk_dg_material_temporary_optional_response") != null
-                && data.optJSONObject("tbk_dg_material_temporary_optional_response").optJSONObject("result_list") != null) {
-            JSONArray array = data.optJSONObject("tbk_dg_material_temporary_optional_response").optJSONObject("result_list")
+        if (data.optJSONObject("tbk_dg_material_optional_response") != null
+                && data.optJSONObject("tbk_dg_material_optional_response").optJSONObject("result_list") != null) {
+            JSONArray array = data.optJSONObject("tbk_dg_material_optional_response").optJSONObject("result_list")
                     .optJSONArray("map_data");
             List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
             if (array != null) {
@@ -956,7 +966,7 @@
     }
 
     // 瑙f瀽鐗╂枡
-    private static TaoBaoGoodsBrief parseWuLiaoItem(JSONObject item) {
+    public static TaoBaoGoodsBrief parseWuLiaoItem(JSONObject item) {
         TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
         goods.setPictUrl(item.optString("pict_url"));
 
@@ -1940,6 +1950,7 @@
         return null;
     }
 
+
     // 娣樼ぜ閲戝垱寤�
     //{"result":{"msg_code":"FAIL_CHECK_ITEM_DAILY_SEND_NUM_CHECK_ERROR","msg_info":"浠婃棩璇ュ晢鍝佹窐绀奸噾鍒涘缓鏁板凡瓒呬笂闄愶紝璇锋偍鏄庢棩鍐嶈瘯","success":false},"request_id":"10p30v02qadkq"}
     //{"result":{"msg_code":"ASSET_ACCOUNT_BALANCE_NOT_ENOUGH","msg_info":"璐︽埛棰勭畻涓嶈冻","success":false},"request_id":"5caz9izr7jqp"}
@@ -2007,13 +2018,13 @@
     }
 
     /**
+     * @return com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinReport
      * @author hxh
      * @description 娣樼ぜ閲戞姤鍛� 鎺ュ彛鏂囨。锛歨ttps://open.taobao.com/api.htm?source=search&docId=58736&docType=2
      * @date 10:57 2022/1/11
      * @param: rightsId
-     * @return com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinReport
      **/
-    public static UserTaoLiJinReport getTaoLiJinEffective(String rightsId,String pid) {
+    public static UserTaoLiJinReport getTaoLiJinEffective(String rightsId, String pid) {
         Map<String, String> map = new HashMap<>();
         map.put("method", "taobao.tbk.dg.vegas.tlj.report");
         map.put("rights_id", rightsId);
@@ -2031,21 +2042,21 @@
             JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_report_response");
 
             if (root != null && root.optBoolean("result_success")) {
-                    JSONObject modelJson = root.optJSONObject("model").optJSONObject("extra");
-                    if (modelJson != null && modelJson.size() > 0) {
-                        UserTaoLiJinReport report = new UserTaoLiJinReport();
-                        report.setId(rightsId);
-                        report.setWinAmount(new BigDecimal(modelJson.optString("win_sum_amt")));
-                        report.setWinNum(modelJson.optInt("win_pv"));
-                        report.setRefundAmount(new BigDecimal(modelJson.optString("refund_sum_amt")));
-                        report.setRefundNum(modelJson.optInt("refund_num"));
-                        report.setAlipayAmount(new BigDecimal(modelJson.optString("alipay_amt")));
-                        report.setUseAmount(new BigDecimal(modelJson.optString("use_sum_amt")));
-                        report.setUseNum(modelJson.optInt("use_num"));
-                        report.setUnfreezeAmount(new BigDecimal(modelJson.optString("remaining_amt")));
-                        report.setUnfreezeNum(modelJson.optInt("remaining_num"));
-                        report.setPreCommissionAmount(new BigDecimal(modelJson.optString("pre_pub_share_fee_for_disp")));
-                        return report;
+                JSONObject modelJson = root.optJSONObject("model").optJSONObject("extra");
+                if (modelJson != null && modelJson.size() > 0) {
+                    UserTaoLiJinReport report = new UserTaoLiJinReport();
+                    report.setId(rightsId);
+                    report.setWinAmount(new BigDecimal(modelJson.optString("win_sum_amt")));
+                    report.setWinNum(modelJson.optInt("win_pv"));
+                    report.setRefundAmount(new BigDecimal(modelJson.optString("refund_sum_amt")));
+                    report.setRefundNum(modelJson.optInt("refund_num"));
+                    report.setAlipayAmount(new BigDecimal(modelJson.optString("alipay_amt")));
+                    report.setUseAmount(new BigDecimal(modelJson.optString("use_sum_amt")));
+                    report.setUseNum(modelJson.optInt("use_num"));
+                    report.setUnfreezeAmount(new BigDecimal(modelJson.optString("remaining_amt")));
+                    report.setUnfreezeNum(modelJson.optInt("remaining_num"));
+                    report.setPreCommissionAmount(new BigDecimal(modelJson.optString("pre_pub_share_fee_for_disp")));
+                    return report;
                 }
             }
         } catch (Exception e) {
@@ -2282,12 +2293,9 @@
         }
     }
 
-    public static  void main(String[] args) throws TaobaoGoodsDownException {
-        //鎼滅储
-        TaoBaoGoodsBrief goods=  searchGoodsDetail("X4g0DS2OK34iwyyI06AQQCg-XQWo4eH00jgRjx3iB0");
-
-        System.out.println(goods);
-
+    public static void main(String[] args) throws TaoBaoTokenParseException, TaobaoGoodsDownException {
+     TaoBaoGoodsBrief goods =   getSimpleGoodsInfo("qYtrU8tgk7CWt0-GmgDAKHqqGm3XDwHZj");
+     System.out.println(goods.getAuctionId());
     }
 
 }

--
Gitblit v1.8.0