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/service/manger/ClipboardAnalysisManager.java | 91 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 80 insertions(+), 11 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 bdcc3a9..755df9a 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,7 +11,13 @@ import javax.annotation.Resource; +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; @@ -29,13 +35,6 @@ import com.yeshi.fanli.service.inter.user.TokenRecordService; import com.yeshi.fanli.service.manger.goods.jd.JDGoodsLinkParseManager; import com.yeshi.fanli.service.manger.goods.tb.TaoBaoTokenAuctionIdMapManager; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.DouYinUtil; -import com.yeshi.fanli.util.RedisManager; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.TokenUtil; -import com.yeshi.fanli.util.Utils; -import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.factory.CommonGoodsFactory; import com.yeshi.fanli.util.jd.JDApiUtil; import com.yeshi.fanli.util.jd.JDUtil; @@ -115,7 +114,45 @@ typeSet.add(ClipboardContentType.text); } + return typeSet; + } + + + /** + * 鐗逛环瑙f瀽绮樿创鏉� + * 鏃犲钩鍙帮紝鏍规嵁鏍煎紡鍒ゆ柇骞冲彴 + * + * @param text + */ + public Integer tejiaParseSourceType(String text) { + if (text == null) + return null; + text = text.trim(); + //鍒ゆ柇鏄惁鏈夐摼鎺� + List<String> linkList = HttpUtil.getUrlListFromText(text); + if (linkList != null && linkList.size() > 0) { + String link = linkList.get(0); + if (TaoBaoUtil.isTaoBaoLink(link)) { + return Constant.SOURCE_TYPE_TAOBAO; + } else if (JDUtil.isJDLink(link)) { + return Constant.SOURCE_TYPE_JD; + } else if (PinDuoDuoUtil.isPDDLink(link)) { + return Constant.SOURCE_TYPE_PDD; + } else if (VipShopUtil.isVIPShopLink(link)) { + return Constant.SOURCE_TYPE_VIP; + } else if (SuningUtil.isSuningLink(link)) { + return Constant.SOURCE_TYPE_SUNING; + } + //閾炬帴闈炵數鍟嗗钩鍙伴摼鎺� + return null; + } + + //鍒ゆ柇鏄惁鐤戜技鍙d护 + if (TaoBaoUtil.isHaveNewVersionTaoBaoToken(text)) { + return Constant.SOURCE_TYPE_TAOBAO; + } + return null; } /** @@ -128,6 +165,25 @@ text = text.trim(); Set<ClipboardContentType> typeSet = parseContentType(text, platform, version); + //鏂扮増鍙d护 + String goodsId = null; + if (text.contains("https://m.tb.cn/")) { + 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(); + } + } + } // 绯荤粺鍙d护 if (typeSet.contains(ClipboardContentType.systemToken)) { @@ -144,7 +200,6 @@ return; } //浼樺厛瑙f瀽娣樺彛浠� - Long goodsId = DaTaoKeApiUtil.parseTaoBaoToken(text); if (goodsId != null) { CommonGoods commonGoods = getTaoBaoGoods(goodsId); if (commonGoods != null) @@ -180,6 +235,10 @@ } catch (UnsupportedEncodingException e) { e.printStackTrace(); } + + //TODO 瑙f瀽閾炬帴涓殑title +// Jsoup.connect(text).get(); + resultListener.none(); } else { @@ -360,7 +419,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) { @@ -424,6 +483,11 @@ 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); + } } return commonGoods; @@ -459,6 +523,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); @@ -491,6 +559,7 @@ return jdId; } + public String parseTBAuctionIdFromLink(String link) { TaoBaoGoodsBrief tb = null; @@ -545,7 +614,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 { @@ -553,7 +622,7 @@ } } - private CommonGoods getTaoBaoGoods(Long auctionId) { + private CommonGoods getTaoBaoGoods(String auctionId) { TaoBaoGoodsBrief goods = TaoBaoUtil.isAlimama(auctionId + ""); if (goods == null) { goods = TaoBaoUtil.getTaoBaoGoodsBriefNotInPub(auctionId); -- Gitblit v1.8.0