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