From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 26 四月 2024 18:02:17 +0800 Subject: [PATCH] 唯品会链接解析升级 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 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..fdbeb42 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; @@ -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; -- Gitblit v1.8.0