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/service/manger/ClipboardAnalysisManager.java | 119 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 86 insertions(+), 33 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java index cbe1053..f9a85ca 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java @@ -11,9 +11,15 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.taobao.SearchFilter; +import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; import com.yeshi.fanli.util.*; +import com.yeshi.fanli.util.goods.douyin.CSJCPSApiUtil; +import com.yeshi.fanli.util.goods.douyin.DYUtil; +import com.yeshi.fanli.util.goods.douyin.vo.DYGoodsDetail; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil; +import org.jsoup.Jsoup; import org.springframework.stereotype.Component; import org.yeshi.utils.HttpUtil; import org.yeshi.utils.NumberUtil; @@ -162,21 +168,21 @@ Set<ClipboardContentType> typeSet = parseContentType(text, platform, version); //鏂扮増鍙d护 - Long goodsId = null; + String goodsId = null; if (text.contains("https://m.tb.cn/")) { - try { - TaoKeApiUtil.TokenConvertResult result = TaoKeApiUtil.tokenConvert(text); - if (result != null) { - goodsId = result.getNum_iid(); - } - } catch (TaoBaoTokenParseException e) { - e.printStackTrace(); - } - if (goodsId == null) { - Long auctionId = DaTaoKeApiUtil.parseTaoBaoToken(text); - if (auctionId != null) { - typeSet.add(ClipboardContentType.taoBaoToken); - goodsId = auctionId; + String tempGoodsId = DaTaoKeApiUtil.parseGoodsIdFromToken(text); + if (tempGoodsId != null) { + goodsId = tempGoodsId; + typeSet.add(ClipboardContentType.taoBaoToken); + } else { + try { + TaoKeApiUtil.TokenConvertResult result = TaoKeApiUtil.tokenConvert(text); + if (result != null) { + goodsId = result.getNum_iid(); + typeSet.add(ClipboardContentType.taoBaoToken); + } + } catch (TaoBaoTokenParseException e) { + e.printStackTrace(); } } } @@ -197,12 +203,26 @@ } //浼樺厛瑙f瀽娣樺彛浠� if (goodsId != null) { - CommonGoods commonGoods = getTaoBaoGoods(goodsId); - if (commonGoods != null) - resultListener.onResult(commonGoods); - else - resultListener.onResult(text); - + TaoBaoGoodsBrief taobaoGoods =null; + try { + taobaoGoods = TaoKeApiUtil.getSimpleGoodsInfoForOwnBuy(goodsId); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + if (taobaoGoods==null) { + int startIndex = text.indexOf("銆�"); + int endIndex = text.indexOf("銆�"); + if (startIndex > 0 && endIndex > 0) { + resultListener.onResult(text.substring(startIndex+1,endIndex)); + return; + } + } else { + CommonGoods commonGoods = CommonGoodsFactory.create(taobaoGoods); + if (commonGoods != null) + resultListener.onResult(commonGoods); + else + resultListener.onResult(text); + } return; } @@ -231,6 +251,10 @@ } catch (UnsupportedEncodingException e) { e.printStackTrace(); } + + //TODO 瑙f瀽閾炬帴涓殑title +// Jsoup.connect(text).get(); + resultListener.none(); } else { @@ -411,7 +435,7 @@ if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { TaoBaoGoodsBrief goods = null; try { - goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(simpleGoods.getGoodsId())); + goods = redisManager.getTaoBaoGoodsBrief(simpleGoods.getGoodsId()); } catch (NumberFormatException e) { e.printStackTrace(); } catch (TaobaoGoodsDownException e) { @@ -421,13 +445,23 @@ if (goods != null) { commonGoods = CommonGoodsFactory.create(goods); } else { - goods = TaoBaoUtil.getTmallGoodsInfo(simpleGoods.getGoodsId()); - if (goods != null) { + SearchFilter sf=new SearchFilter(); + sf.setKey("https://item.taobao.com/item.htm?id="+simpleGoods.getGoodsId()); + TaoBaoSearchResult searchResult = TaoKeApiUtil.searchWuLiaoNew(sf,null,null); + if(searchResult!=null&&searchResult.getTaoBaoGoodsBriefs()!=null&&searchResult.getTaoBaoGoodsBriefs().size()>0){ + TaoBaoGoodsBrief tempGoods = searchResult.getTaoBaoGoodsBriefs().get(0); commonGoods = new CommonGoods(); - commonGoods.setTitle(goods.getTitle()); - commonGoods.setPicture(goods.getPictUrl()); - } else { - // TODO 鏍规嵁娣樺疂鍟嗗搧ID瑙f瀽鏍囬涓庡浘鐗� + commonGoods.setTitle(tempGoods.getTitle()); + commonGoods.setPicture(tempGoods.getPictUrl()); + }else { + goods = TaoBaoUtil.getTmallGoodsInfo(simpleGoods.getGoodsId()); + if (goods != null) { + commonGoods = new CommonGoods(); + commonGoods.setTitle(goods.getTitle()); + commonGoods.setPicture(goods.getPictUrl()); + } else { + // TODO 鏍规嵁娣樺疂鍟嗗搧ID瑙f瀽鏍囬涓庡浘鐗� + } } } @@ -436,11 +470,11 @@ JDGoods jdGoods = null; try { // 闃叉楂樼骇鎺ュ彛琚敹鍥� - jdGoods = JDApiUtil.queryGoodsDetail(Long.parseLong(simpleGoods.getGoodsId())); + jdGoods = JDApiUtil.queryGoodsDetail(simpleGoods.getGoodsId()); } catch (Exception e) { } if (jdGoods == null) { - jdGoods = JDApiUtil.getGoodsDetail(Long.parseLong(simpleGoods.getGoodsId())); + jdGoods = JDApiUtil.getGoodsDetail(simpleGoods.getGoodsId()); } if (jdGoods != null) { commonGoods = CommonGoodsFactory.create(jdGoods); @@ -453,7 +487,7 @@ } } } else if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_PDD) { - PDDGoodsDetail goods = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(simpleGoods.getGoodsId())); + PDDGoodsDetail goods = PinDuoDuoApiUtil.getGoodsDetail(simpleGoods.getGoodsId()); if (goods != null) { commonGoods = CommonGoodsFactory.create(goods); } else { @@ -472,6 +506,11 @@ } else if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_SUNING) { SuningGoodsInfo goods = SuningApiUtil.getGoodsDetail(simpleGoods.getGoodsId().split("-")[1], simpleGoods.getGoodsId().split("-")[0]); + if (goods != null) { + commonGoods = CommonGoodsFactory.create(goods); + } + } else if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_DY) { + DYGoodsDetail goods = CSJCPSApiUtil.goodsDetail(Long.parseLong(simpleGoods.getGoodsId())); if (goods != null) { commonGoods = CommonGoodsFactory.create(goods); } @@ -510,6 +549,10 @@ if (!StringUtil.isNullOrEmpty(vipId)) { return new SimpleCommonGoods(vipId, Constant.SOURCE_TYPE_VIP); } + String dyProductId = DYUtil.parseProdectIdFromLink(link); + if (!StringUtil.isNullOrEmpty(dyProductId)) { + return new SimpleCommonGoods(dyProductId, Constant.SOURCE_TYPE_DY); + } // 瑙f瀽娣樺疂 String auctionId = parseTBAuctionIdFromLink(link); @@ -536,7 +579,7 @@ } // 棰嗗埜鐭繛鎺� - if (StringUtil.isNullOrEmpty(jdId) && link.contains("u.jd.com")) { + if (StringUtil.isNullOrEmpty(jdId) && (link.contains("u.jd.com")||link.contains("//3.cn/"))) { jdId = jdGoodsLinkParseManager.parseGoodsIdByJDShortUrl(link); } @@ -597,7 +640,7 @@ } private CommonGoods parseTaoBaoToken(String token) throws TaoBaoTokenParseException { - Long auctionId = taoBaoTokenAuctionIdMapManager.getAuctionIdByToken(token); + String auctionId = taoBaoTokenAuctionIdMapManager.getAuctionIdByToken(token); if (auctionId != null) {// return getTaoBaoGoods(auctionId); } else { @@ -605,7 +648,7 @@ } } - private CommonGoods getTaoBaoGoods(Long auctionId) { + private CommonGoods getTaoBaoGoods(String auctionId) { TaoBaoGoodsBrief goods = TaoBaoUtil.isAlimama(auctionId + ""); if (goods == null) { goods = TaoBaoUtil.getTaoBaoGoodsBriefNotInPub(auctionId); @@ -681,6 +724,14 @@ this.goodsType = goodsType; } } + + + public static void main(String[] args) { +//String originText, String platform, String version + + new ClipboardAnalysisManager(). parseJDSkuIdFromLink("https://3.cn/1-U6tjhC"); + + } } /** @@ -688,3 +739,5 @@ * * @author Administrator */ + + -- Gitblit v1.8.0