From 8ce7c720e4e7a604b0ff770349b5556f39d37759 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 13 九月 2021 11:44:38 +0800 Subject: [PATCH] 好省呗应用兼容 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 174 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java index b5cac21..9e367ba 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java @@ -13,18 +13,39 @@ import java.util.List; import java.util.Map; import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.annotation.Resource; +import com.ks.lib.common.exception.ParamsException; import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; import com.yeshi.fanli.entity.SystemEnum; import com.yeshi.fanli.entity.SystemFunction; import com.yeshi.fanli.entity.SystemPIDInfo; +import com.yeshi.fanli.exception.pdd.PDDAuthException; +import com.yeshi.fanli.exception.pdd.PDDGoodsException; import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException; +import com.yeshi.fanli.exception.taobao.TaoBaoTokenParseException; +import com.yeshi.fanli.service.inter.pdd.PDDAuthService; +import com.yeshi.fanli.service.manger.ClipboardContentType; import com.yeshi.fanli.service.manger.PIDManager; import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager; +import com.yeshi.fanli.service.manger.goods.jd.JDConvertLinkManager; +import com.yeshi.fanli.service.manger.goods.pdd.PDDConvertLinkManager; +import com.yeshi.fanli.service.manger.goods.suning.SuningConvertLinkManager; +import com.yeshi.fanli.service.manger.goods.tb.TBConvertLinkManager; +import com.yeshi.fanli.service.manger.goods.vipshop.VipShopConvertLinkManager; import com.yeshi.fanli.util.*; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.exception.ExceptionConstant; +import com.yeshi.fanli.util.goods.GoodsJumpUtil; +import com.yeshi.fanli.util.goods.GoodsTextUtil; +import com.yeshi.fanli.util.suning.SuningUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; +import com.yeshi.fanli.util.vipshop.VipShopUtil; +import com.yeshi.fanli.vo.goods.ConvertLinkJumpVO; +import com.yeshi.fanli.vo.pdd.PDDConvertLinkResultVO; import org.apache.commons.beanutils.PropertyUtils; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Controller; @@ -145,10 +166,28 @@ private ConvertLinkManager convertLinkManager; @Resource + private TBConvertLinkManager tbConvertLinkManager; + + @Resource + private JDConvertLinkManager jdConvertLinkManager; + + @Resource + private PDDConvertLinkManager pddConvertLinkManager; + + @Resource + private SuningConvertLinkManager suningConvertLinkManager; + + @Resource + private VipShopConvertLinkManager vipShopConvertLinkManager; + + @Resource private DailyCountMomentsService dailyCountMomentsService; @Resource private CommonShareInfoService commonShareInfoService; + + @Resource + private PDDAuthService pddAuthService; @Resource @@ -643,6 +682,9 @@ } for (GoodsEvaluate goodsEvaluate : list) { + if (goodsEvaluate.getGoods() != null) { + goodsEvaluate.getGoods().setCreatetime(null); + } GoodsEvaluate evaluateNew = new GoodsEvaluate(); try { PropertyUtils.copyProperties(evaluateNew, goodsEvaluate); @@ -678,7 +720,7 @@ for (ImgInfo imgInfo : goodsEvaluate.getImgList()) { - if (acceptData.getSystem() == SystemEnum.yhqjx) { + if (acceptData.getSystem() == SystemEnum.yhqjx||acceptData.getSystem() == SystemEnum.hsb) { imgInfo.setGoods(null); imgInfo.setGoodsVO(null); } @@ -820,6 +862,124 @@ LogHelper.errorDetailInfo(e); } + } + + + /** + * 杞摼 + * + * @param acceptData + * @param uid + * @param link + * @param out + */ + @RequestMapping(value = "convertLink", method = RequestMethod.POST) + public void convertLink(AcceptData acceptData, Long uid, String link, PrintWriter out) { + if (StringUtil.isNullOrEmpty(link)) { + out.print(JsonUtil.loadFalseResult("閾炬帴涓虹┖")); + return; + } + + ConvertLinkJumpVO convertLinkJumpVO = null; + //鍒ゆ柇result鏄惁涓烘窐鍙d护 + List<String> urlList = UrlUtils.parseUrlsFromText(link); + if (urlList.size() > 0) { + //鍙鐞嗕含涓�/鎷煎澶氶摼鎺� + String url = urlList.get(0); + if (JDUtil.isJDLink(url)) { + try { + url = jdConvertLinkManager.convertShortUrl(url, uid, acceptData.getSystem(), uid == null ? SystemPIDInfo.PidType.coupon : SystemPIDInfo.PidType.fanli); + } catch (ParamsException e) { + e.printStackTrace(); + } + convertLinkJumpVO = new ConvertLinkJumpVO(GoodsJumpUtil.getJDJumpInfo(url), Constant.SOURCE_TYPE_JD); + outPrintConvertResult(convertLinkJumpVO, out); + return; + } + + if (PinDuoDuoUtil.isPDDLink(url)) { + String pddGoodsId = PinDuoDuoUtil.getPDDGoodsId(url); + String customParams = pddAuthService.getFanliCustomParams(uid); + PDDConvertLinkResultVO convertLinkResult = null; + try { + convertLinkResult = pddConvertLinkManager.convertGoods(Long.parseLong(pddGoodsId), acceptData.getSystem(), customParams, uid == null ? SystemPIDInfo.PidType.coupon : SystemPIDInfo.PidType.fanli); + convertLinkJumpVO = new ConvertLinkJumpVO(GoodsJumpUtil.getPDDJumpInfo(convertLinkResult), Constant.SOURCE_TYPE_PDD); + outPrintConvertResult(convertLinkJumpVO, out); + return; + } catch (PDDGoodsException e) { + e.printStackTrace(); + //鍟嗗搧涓嬬嚎 + out.print(JsonUtil.loadFalseResult(ExceptionConstant.CODE_GOODS_OFFLINE, "鍟嗗搧宸蹭笅绾�")); + return; + } catch (PDDAuthException e) { + e.printStackTrace(); + //鎷煎澶氭湭鎺堟潈 + out.print(JsonUtil.loadFalseResult(ExceptionConstant.CODE_AUTH_PDD_NO_AUTH, "鎷煎澶氬皻鏈巿鏉冿紝璇锋巿鏉�")); + return; + } + } + + + return; + } + + List<String> tokenList = TaoBaoUtil.getTokenListFromTextWithKuoHao(link); + if (tokenList.size() > 0) { + //杩樺師鍙d护 + try { + TaoKeApiUtil.TokenConvertResult convertResult = TaoKeApiUtil.tokenConvert(tokenList.get(0)); + if (convertResult != null) { + String originUrl = convertResult.getOrigin_url(); + long goodsId = convertResult.getNum_iid(); + TaoBaoLink taoBaoLink = tbConvertLinkManager.convertGoods(goodsId, uid, acceptData.getSystem(), uid == null ? SystemPIDInfo.PidType.coupon : SystemPIDInfo.PidType.fanli); + convertLinkJumpVO = new ConvertLinkJumpVO(GoodsJumpUtil.getTBJumpInfo(taoBaoLink), Constant.SOURCE_TYPE_TAOBAO); + outPrintConvertResult(convertLinkJumpVO, out); + return; + } else { + throw new Exception("杞摼澶辫触"); + } + } catch (Exception e) { + e.printStackTrace(); + //杈撳嚭鍘熸潵鐨勬窐鍙d护 + JSONObject root = new JSONObject(); + root.put("data", new Gson().toJson(new ConvertLinkJumpVO(null, Constant.SOURCE_TYPE_TAOBAO))); + root.put("code", ExceptionConstant.CODE_JUMP_NO_SUPPORT); + out.print(root.toString()); + return; + } + + } + out.print(JsonUtil.loadFalseResult("涓嶆敮鎸佺殑绫诲瀷")); + } + + + private void outPrintConvertResult(ConvertLinkJumpVO vo, PrintWriter out) { + out.print(JsonUtil.loadTrueResult(new Gson().toJson(vo))); + } + + + /** + * 澶嶅埗鎺ㄨ崘璇� + * + * @param acceptData + * @param uid + * @param id + * @param type + * @param goodsId + * @param goodsType + * @param out + */ + @RequestMapping(value = "evaluateCopyRecommend", method = RequestMethod.POST) + public void evaluateCopyRecommend(AcceptData acceptData, Long uid, String id, PrintWriter out) { + GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); + if (goodsEvaluate == null) { + out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } + JSONObject data = new JSONObject(); + String result = GoodsTextUtil.decodeAppHtmlText(goodsEvaluate.getTitle()); + data.put("content", result); + out.print(JsonUtil.loadTrueResult(data)); } /** @@ -1102,6 +1262,18 @@ } String newText = text; // 闈為�氱敤鍒搁渶瑕侀獙璇� + + //鐗逛环鍙渶瑕佸鍒舵枃瀛楋紝涓嶉渶瑕佽浆閾� + if (acceptData.getSystem() == SystemEnum.yhqjx||acceptData.getSystem() == SystemEnum.hsb) { + newText = GoodsTextUtil.decodeAppHtmlText(newText); + //鍙鍒舵枃瀛� + JSONObject data = new JSONObject(); + data.put("text", newText); + out.print(JsonUtil.loadTrueResult(data)); + return; + } + + if (comment != null && (comment.getNeedSpin() == null || comment.getNeedSpin())) { try { newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true); @@ -1258,7 +1430,7 @@ int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); jumpDetail = jumpDetailV2Service.getByTypeCache("web", platformCode, - Integer.parseInt(acceptData.getVersion())); + Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); JSONObject inner = new JSONObject(); inner.put("url", jumpLink); params = inner.toString(); -- Gitblit v1.8.0