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