From 57f52b2a80ec5ee1fc140ea72420ff475f21880f Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期四, 12 三月 2020 22:16:33 +0800
Subject: [PATCH] 粘贴板分析修改, 邀请拿奖金日志添加

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java |  247 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 163 insertions(+), 84 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 003601f..9fd530e 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
@@ -21,11 +21,14 @@
 import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.exception.taobao.TaoBaoTokenParseException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.exception.user.TokenRecordException;
 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;
@@ -58,6 +61,9 @@
 
 	@Resource
 	private TaoBaoTokenAuctionIdMapManager taoBaoTokenAuctionIdMapManager;
+
+	@Resource
+	private RedisManager redisManager;
 
 	/**
 	 * @Title: parseContentType @Description: 瑙f瀽鏂囨湰鐨勭被鍨� @param text @return Set
@@ -320,12 +326,131 @@
 	 */
 	public CommonGoods parseLink(String link) {
 
+		SimpleCommonGoods simpleGoods = parseGoodsIdFromLink(link);
+		if (simpleGoods == null) {
+			return null;
+		}
+
+		CommonGoods commonGoods = null;
+		if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
+			TaoBaoGoodsBrief goods = null;
+			try {
+				goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(simpleGoods.getGoodsId()));
+			} catch (NumberFormatException e) {
+				e.printStackTrace();
+			} catch (TaobaoGoodsDownException e) {
+				e.printStackTrace();
+			}
+
+			if (goods != null) {
+				commonGoods = CommonGoodsFactory.create(goods);
+			} else {
+				goods = TaoBaoUtil.getTmallGoodsInfo(simpleGoods.getGoodsId());
+				if (goods != null) {
+					commonGoods = new CommonGoods();
+					commonGoods.setTitle(goods.getTitle());
+					commonGoods.setPicture(goods.getPictUrl());
+				} else {
+					// TODO 鏍规嵁娣樺疂鍟嗗搧ID瑙f瀽鏍囬涓庡浘鐗�
+				}
+			}
+
+		} else if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_JD) {
+			// 浼樺厛閲囩敤楂樼骇鎺ュ彛璇锋眰鏁版嵁
+			JDGoods jdGoods = null;
+			try {
+				// 闃叉楂樼骇鎺ュ彛琚敹鍥�
+				jdGoods = JDApiUtil.queryGoodsDetail(Long.parseLong(simpleGoods.getGoodsId()));
+			} catch (Exception e) {
+			}
+			if (jdGoods == null) {
+				jdGoods = JDApiUtil.getGoodsDetail(Long.parseLong(simpleGoods.getGoodsId()));
+			}
+			if (jdGoods != null) {
+				commonGoods = CommonGoodsFactory.create(jdGoods);
+			} else {// 鍟嗗搧骞舵湭鍙備笌鎺ㄥ箍
+				jdGoods = JDUtil.getSimpleGoodsInfo(simpleGoods.getGoodsId());
+				if (jdGoods != null) {
+					commonGoods = new CommonGoods();
+					commonGoods.setTitle(jdGoods.getSkuName());
+					commonGoods.setPicture(jdGoods.getPicUrl());
+				}
+			}
+		} else if (simpleGoods.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
+			PDDGoodsDetail goods = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(simpleGoods.getGoodsId()));
+			if (goods != null) {
+				commonGoods = CommonGoodsFactory.create(goods);
+			} else {
+				goods = PinDuoDuoUtil.getPDDGoodsInfo(simpleGoods.getGoodsId());
+				if (goods != null) {
+					commonGoods = new CommonGoods();
+					commonGoods.setTitle(goods.getGoodsName());
+					commonGoods.setPicture(goods.getGoodsThumbnailUrl());
+				}
+			}
+		}
+
+		return commonGoods;
+	}
+
+	/**
+	 * 浠庨摼鎺ヤ腑瑙f瀽鍟嗗搧ID
+	 * 
+	 * @return
+	 */
+	public SimpleCommonGoods parseGoodsIdFromLink(String link) {
+
+		String jdId = parseJDSkuIdFromLink(link);
+
+		if (!StringUtil.isNullOrEmpty(jdId)) {
+			return new SimpleCommonGoods(jdId, Constant.SOURCE_TYPE_JD);
+		}
+
+		// 瑙f瀽鎷煎澶�
+		String pddId = PinDuoDuoUtil.getPDDGoodsId(link);
+		if (!StringUtil.isNullOrEmpty(pddId)) {
+			return new SimpleCommonGoods(pddId, Constant.SOURCE_TYPE_PDD);
+		}
+		// 瑙f瀽娣樺疂
+		String auctionId = parseTBAuctionIdFromLink(link);
+		if (!StringUtil.isNullOrEmpty(auctionId)) {
+			return new SimpleCommonGoods(auctionId, Constant.SOURCE_TYPE_TAOBAO);
+		}
+
+		return null;
+	}
+
+	/**
+	 * 浠庨摼鎺ヤ腑瑙f瀽浜笢鍟嗗搧鐨凷KUID
+	 * 
+	 * @param link
+	 * @return
+	 */
+	public String parseJDSkuIdFromLink(String link) {
+		// 瑙f瀽鍏朵粬鍟嗗搧
+		String jdId = JDUtil.getJDGoodsId(link);
+
+		// 寰俊閾炬帴
+		if (StringUtil.isNullOrEmpty(jdId)) {
+			jdId = JDUtil.getJDGoodsIdByWeiXin(link);
+		}
+
+		// 棰嗗埜鐭繛鎺�
+		if (StringUtil.isNullOrEmpty(jdId) && link.contains("u.jd.com")) {
+			jdId = jdGoodsLinkParseManager.parseGoodsIdByJDShortUrl(link);
+		}
+
+		return jdId;
+	}
+
+	public String parseTBAuctionIdFromLink(String link) {
 		TaoBaoGoodsBrief tb = null;
+		String auctionId = null;
 		if (link.startsWith("https://a.m.taobao.com/i"))// 娣樺疂璐﹀彿鏈櫥褰曠姸鎬�
 		{
 			link = link.substring("https://a.m.taobao.com/i".length(), link.indexOf(".htm"));
 			if (NumberUtil.isNumeric(link)) {
-				tb = TaoBaoUtil.isAlimama(link);
+				auctionId = link + "";
 			}
 		} else if (link.contains("ju.taobao.com") || link.contains(".juhuasuan.com")) {// 鑱氬垝绠�
 			int index = link.indexOf("item_id");
@@ -338,108 +463,36 @@
 				else {
 					id = link.substring(link.indexOf("=" + 1));
 				}
-				tb = TaoBaoUtil.isAlimama(id);
-				if (tb == null) {
-					tb = new TaoBaoGoodsBrief(Long.parseLong(id));
-				}
+				auctionId = id;
 			}
 		} else if (link.contains("http://zmnxbc.com")) { // 鎵嬫満绔ぉ鐚獳PP鍒嗕韩
 			tb = TaoBaoUtil.parsePhoneShareUrlByTM(link);
+			if (tb != null)
+				auctionId = tb.getAuctionId() + "";
 		} else if (link.contains("h5.m.taobao") || link.contains("detail.m.tmall") || link.contains("item.taobao")
 				|| link.contains("detail.tmall")) { // 鎵嬫満椤甸潰鍜岀數鑴戦〉闈�
 			Map<String, String> map = Utils.parseURL(link);
 			String id = "";
 			id = map.get("id").replace("}", "");
-			tb = TaoBaoUtil.isAlimama(id);
-			if (tb == null) {
-				tb = new TaoBaoGoodsBrief(Long.parseLong(id));
-			}
+			auctionId = id;
 		} else if (link.contains("v.douyin.com")) { // 鎶栭煶
 			tb = analysisDouYin(link);
 			if (tb != null) {
 				if (!StringUtil.isNullOrEmpty(tb.getAuctionUrl())) {// 鎶栭煶瑙f瀽鍒版窐瀹濆晢鍝侀摼鎺�
-					return parseLink(tb.getAuctionUrl());
+					CommonGoods goods = parseLink(tb.getAuctionUrl());
+					if (goods != null) {
+						auctionId = goods.getGoodsId() + "";
+					}
 				}
 			}
 		} else {
 			tb = TaoBaoUtil.parsePhoneShareUrlByTB(link);
+			if (tb != null)
+				auctionId = tb.getAuctionId() + "";
 		}
 
-		// 娌¤В鏋愬埌娣樺疂鐩稿叧鍟嗗搧
-		if (tb == null) {
-			String goodsId = TaoBaoUtil.getGoodsIdByPhoneShareUrl(link);
-			if (!StringUtil.isNullOrEmpty(goodsId)) {
-				tb = TaoBaoUtil.isAlimama(goodsId);
-				if (tb == null) {
-					tb = new TaoBaoGoodsBrief(Long.parseLong(goodsId));
-				}
-			}
-		}
+		return auctionId;
 
-		CommonGoods commonGoods = null;
-
-		// 娣樺疂鍟嗗搧瑙f瀽缁撴潫
-		if (tb != null) {
-			if (StringUtil.isNullOrEmpty(tb.getTitle())) {
-				tb = TaoBaoUtil.getTaoBaoGoodsBriefNotInPub(tb.getId());
-				if (tb != null) {
-					commonGoods = new CommonGoods();
-					commonGoods.setPicture(tb.getPictUrl());
-					commonGoods.setTitle(tb.getTitle());
-				}
-			} else {
-				commonGoods = CommonGoodsFactory.create(tb);
-			}
-		} else {
-			// 瑙f瀽鍏朵粬鍟嗗搧
-			String jdId = JDUtil.getJDGoodsId(link);
-
-			// 寰俊閾炬帴
-			if (StringUtil.isNullOrEmpty(jdId)) {
-				jdId = JDUtil.getJDGoodsIdByWeiXin(link);
-			}
-
-			// 棰嗗埜鐭繛鎺�
-			if (StringUtil.isNullOrEmpty(jdId) && link.contains("u.jd.com")) {
-				jdId = jdGoodsLinkParseManager.parseGoodsIdByJDShortUrl(link);
-			}
-
-			if (!StringUtil.isNullOrEmpty(jdId)) {
-				JDGoods goods = JDApiUtil.getGoodsDetail(Long.parseLong(jdId));
-				if (goods != null) {
-					// 楂樼骇鎺ュ彛 -- 淇℃伅鏇村畬鏁�
-					JDGoods jdGoods = JDApiUtil.queryGoodsDetail(Long.parseLong(jdId));
-					if (jdGoods != null) {
-						commonGoods = CommonGoodsFactory.create(jdGoods);
-					} else {
-						commonGoods = CommonGoodsFactory.create(goods);
-					}
-				} else {
-					goods = JDUtil.getSimpleGoodsInfo(jdId);
-					if (goods != null) {
-						commonGoods = new CommonGoods();
-						commonGoods.setTitle(goods.getSkuName());
-						commonGoods.setPicture(goods.getPicUrl());
-					}
-				}
-			} else {
-				String pddId = PinDuoDuoUtil.getPDDGoodsId(link);
-				if (!StringUtil.isNullOrEmpty(pddId)) {
-					PDDGoodsDetail goods = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(pddId));
-					if (goods != null) {
-						commonGoods = CommonGoodsFactory.create(goods);
-					} else {
-						goods = PinDuoDuoUtil.getPDDGoodsInfo(pddId);
-						if (goods != null) {
-							commonGoods = new CommonGoods();
-							commonGoods.setTitle(goods.getGoodsName());
-							commonGoods.setPicture(goods.getGoodsThumbnailUrl());
-						}
-					}
-				}
-			}
-		}
-		return commonGoods;
 	}
 
 	private CommonGoods parseTaoBaoToken(String token) throws TaoBaoTokenParseException {
@@ -498,6 +551,32 @@
 			return true;
 		return false;
 	}
+
+	class SimpleCommonGoods {
+		private String goodsId;
+		private int goodsType;
+
+		public SimpleCommonGoods(String goodsId, int goodsType) {
+			this.goodsId = goodsId;
+			this.goodsType = goodsType;
+		}
+
+		public String getGoodsId() {
+			return goodsId;
+		}
+
+		public void setGoodsId(String goodsId) {
+			this.goodsId = goodsId;
+		}
+
+		public int getGoodsType() {
+			return goodsType;
+		}
+
+		public void setGoodsType(int goodsType) {
+			this.goodsType = goodsType;
+		}
+	}
 }
 
 /**

--
Gitblit v1.8.0