From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java |   56 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 11 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
index 7c9be00..bbabc4e 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
@@ -85,6 +85,8 @@
 import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -105,6 +107,8 @@
 @Controller
 @RequestMapping("api/v2/search")
 public class SearchControllerV2 {
+
+    Logger logger = LoggerFactory.getLogger(SearchControllerV2.class);
 
     @Resource
     private ConfigService configService;
@@ -759,8 +763,8 @@
         //鏄惁鍖呭惈娣樺疂閾炬帴/鍙d护
         if (page == 1) {
             List<String> linkList = HttpUtil.getUrlListFromText(key);
-            if ((linkList != null && linkList.size() > 0) || TaoBaoUtil.isHaveNewVersionTaoBaoToken(key)) {
-
+            if (((linkList != null && linkList.size() > 0) || TaoBaoUtil.isHaveNewVersionTaoBaoToken(key))&&false) {
+                // 鏆傛椂涓嶉�氳繃閾炬帴鎼滅储
                 String id = DaTaoKeApiUtil.parseGoodsIdFromToken(key);
                 if (id != null) {
                     goodsId = id;
@@ -779,12 +783,12 @@
                 }
                 if (goodsId == null) {
                     //瑙f瀽閾炬帴
-                    if (linkList != null && linkList.size() > 0) {
-                        String tempGoodsId = clipboardAnalysisManager.parseTBAuctionIdFromLink(linkList.get(0));
-                        if (!StringUtil.isNullOrEmpty(tempGoodsId)) {
-                            goodsId = tempGoodsId;
-                        }
-                    }
+//                    if (linkList != null && linkList.size() > 0) {
+//                        String tempGoodsId = clipboardAnalysisManager.parseTBAuctionIdFromLink(linkList.get(0));
+//                        if (!StringUtil.isNullOrEmpty(tempGoodsId)) {
+//                            goodsId = tempGoodsId;
+//                        }
+//                    }
                 }
             }
 
@@ -867,9 +871,39 @@
                 }
 
                 // 娣樺疂api鎼滅储鍟嗗搧
+                //TODO 娴嬭瘯娉ㄩ噴
                 TaoBaoSearchResult result = taoBaoGoodsCacheUtil.getSearchResult(sf); // TaoBaoUtil.search(sf, specialId, null);
                 if (result == null) {
                     result = TaoBaoUtil.search(sf, specialId, null);
+                    if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 1) {
+                        for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) {
+                            if (StringUtil.isNullOrEmpty(g.getAuctionId())) {
+                                logger.error("鎼滅储缁撴灉鏈夌┖ID鐨勬儏鍐�  鍏抽敭瀛梴}", key);
+                            }
+                        }
+                    }
+
+                    //濡傛灉鏄崟涓晢鍝侊紝涓旈噷闈㈢殑鍟嗗搧ID涓虹┖锛屽氨闇�瑕佸�熷姪澶ф窐瀹㈡悳绱�
+                    if (result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() == 1 && StringUtil.isNullOrEmpty(result.getTaoBaoGoodsBriefs().get(0).getAuctionId())) {
+                        //鏈変竴涓晢鍝佷笖閲岄潰鐨勫晢鍝両D涓虹┖鐨勬儏鍐�
+                        JSONArray darray = DaTaoKeApiUtil.tbSearch(key);
+                        if (darray != null && darray.size() > 0) {
+                            String auctionId = darray.optJSONObject(0).optString("item_id");
+                            result.getTaoBaoGoodsBriefs().set(0, TaoKeApiUtil.searchGoodsDetail(auctionId));
+                        }else{
+                            // 澶ф窐瀹㈡棤娉曟悳绱㈠埌锛屽氨灏嗘渶鍚庝竴涓瓧鍘绘帀鐒跺悗鍐嶆悳绱�
+                            String originText = sf.getKey();
+                            sf.setKey(originText.substring(0,originText.length()-1));
+                            result = TaoBaoUtil.search(sf, specialId, null);
+//                            if(result.getTaoBaoGoodsBriefs() != null)
+//                                for(TaoBaoGoodsBrief tb: result.getTaoBaoGoodsBriefs()){
+//                                    if(originText.equalsIgnoreCase(tb.getTitle())){
+//
+//                                        break;
+//                                    }
+//                                }
+                        }
+                    }
                     taoBaoGoodsCacheUtil.saveSearchResult(sf, result);
                 }
                 TaoBaoSearchResult finalResult = result;
@@ -997,7 +1031,7 @@
 
         boolean hasCoupon = false;
         if (goodsId != null) {
-            JDGoods goods = JDApiUtil.getGoodsDetail(Long.parseLong(goodsId));
+            JDGoods goods = JDApiUtil.getGoodsDetail(goodsId);
             if (goods != null) {
                 count = 1;
                 goodsList.add(goods);
@@ -1206,7 +1240,7 @@
 
         if (goodsId != null) {
             try {
-                PDDGoodsDetail pddGoodsDetail = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(goodsId), PinDuoDuoApiUtil.PID_DEFAULT, customParams);
+                PDDGoodsDetail pddGoodsDetail = PinDuoDuoApiUtil.getGoodsDetail(goodsId, PinDuoDuoApiUtil.PID_DEFAULT, customParams);
                 if (pddGoodsDetail != null) {
                     count = 1;
                     goodsList.add(pddGoodsDetail);
@@ -1215,7 +1249,7 @@
                 e.printStackTrace();
                 if (e.getCode() == PDDApiException.CODE_NOT_AUTH) {
                     try {
-                        PDDGoodsDetail pddGoodsDetail = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(goodsId), PinDuoDuoApiUtil.PID_DEFAULT, Constant.PDD_SEARCH_CUSTOMER_PARAMS);
+                        PDDGoodsDetail pddGoodsDetail = PinDuoDuoApiUtil.getGoodsDetail(goodsId, PinDuoDuoApiUtil.PID_DEFAULT, Constant.PDD_SEARCH_CUSTOMER_PARAMS);
                         if (pddGoodsDetail != null) {
                             count = 1;
                             goodsList.add(pddGoodsDetail);

--
Gitblit v1.8.0