From b416c2ffd263ca9d191fc1109bd72d10f8c5176d Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期三, 04 三月 2020 14:19:11 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java
index 70f4b3f..2a24dfc 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/ConvertLinkManager.java
@@ -11,6 +11,7 @@
 import org.springframework.stereotype.Component;
 import org.yeshi.utils.StringUtil;
 
+import com.yeshi.fanli.dto.pdd.PDDPromotionUrl;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
 import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException;
@@ -22,6 +23,8 @@
 import com.yeshi.fanli.util.TaoBaoConstant;
 import com.yeshi.fanli.util.jd.JDApiUtil;
 import com.yeshi.fanli.util.jd.JDUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 
@@ -80,6 +83,39 @@
 		for (String link : linkSet) {
 			if (linkMap.get(link) == null)
 				throw new Exception("浜笢杞摼澶辫触");
+			newText = newText.replace(link, linkMap.get(link));
+		}
+
+		return newText;
+	}
+
+	public String convertPDDLinkFromText(String text, Long uid, boolean share) throws Exception {
+
+		StringBuilder builder = new StringBuilder(text);
+		String newText = builder.toString();
+		// 浜笢杞摼
+		// 鎻愬彇浜笢鎵�鏈夌殑閾炬帴
+		List<String> pddShortLink = PinDuoDuoUtil.getPDDShortLinksFromText(text);
+		Set<String> linkSet = new HashSet<>();
+		Map<String, String> linkMap = new HashMap<>();
+		if (pddShortLink != null && pddShortLink.size() > 0) {
+			linkSet.addAll(pddShortLink);
+			for (String shortLink : linkSet) {
+				String goodsId = PinDuoDuoUtil.getPDDGoodsId(shortLink);
+				if (!StringUtil.isNullOrEmpty(goodsId)) {
+					PDDPromotionUrl pddUrl = PinDuoDuoApiUtil.convert(Long.parseLong(goodsId),
+							share ? PinDuoDuoApiUtil.PID_SHARE : PinDuoDuoApiUtil.PID_FANLI, uid + "");
+					if (pddUrl != null) {
+						linkMap.put(shortLink, pddUrl.getShortUrl());
+					}
+				}
+
+			}
+		}
+
+		for (String link : linkSet) {
+			if (linkMap.get(link) == null)
+				throw new Exception("鎷煎澶氳浆閾惧け璐�");
 			newText = newText.replace(link, linkMap.get(link));
 		}
 
@@ -190,6 +226,7 @@
 	public String convertLinkFromText(String text, Long uid, boolean share)
 			throws ConvertLinkExceptionException, Exception {
 		String newText = convertJDLinkFromText(text, uid, share);
+		newText = convertLinkFromText(text, uid, share);
 		newText = convertTBLinkFromText(newText, uid, share);
 		if (text.equalsIgnoreCase(newText))
 			throw new ConvertLinkExceptionException(ConvertLinkExceptionException.CODE_NONE, "涓嶅寘鍚彲杞摼鐨勫彛浠や笌閾炬帴");

--
Gitblit v1.8.0