From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java | 87 +++++++++++++++++++++++++++---------------- 1 files changed, 54 insertions(+), 33 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java index 5d34421..b1d7ff1 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/GoodsEvaluateServiceImpl.java @@ -25,7 +25,7 @@ import com.yeshi.fanli.entity.taobao.TaoBaoLink; import com.yeshi.fanli.exception.dynamic.ActivityUserException; import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException; -import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException; +import com.yeshi.fanli.exception.goods.ConvertLinkException; import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.lijin.manager.GoodsLijinMnager; @@ -45,6 +45,8 @@ import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil; import com.yeshi.fanli.util.factory.CommonGoodsFactory; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; +import com.yeshi.fanli.util.goods.douyin.vo.DYGoods; +import com.yeshi.fanli.util.goods.douyin.vo.DYGoodsDetail; import com.yeshi.fanli.util.jd.JDApiUtil; import com.yeshi.fanli.util.jd.JDUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; @@ -437,16 +439,16 @@ params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { try { - TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); + TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId); goodsDetailVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params); } catch (TaobaoGoodsDownException e) { throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); } } else if (goodsType == Constant.SOURCE_TYPE_JD) { - jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); + jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId); goodsDetailVO = GoodsDetailVOFactory.convertJDGoods(jdGoods, params); } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); + pddGoods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(pddGoods, params); } @@ -555,7 +557,7 @@ String commentText = ""; if (addComment) { if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, 1L, Long.parseLong(goodsId), "0", null); + TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, 1L, goodsId, "0", null); String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(), system); commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsType == Constant.SOURCE_TYPE_JD) { @@ -574,7 +576,7 @@ commentText = template.replace("[閾炬帴]", jumpLink); } else if (goodsType == Constant.SOURCE_TYPE_PDD) { String sharePid = pidManager.getPidCache(system, Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.share); - PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(goodsId), sharePid, "1"); + PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(goodsId, sharePid, "1"); String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetail.getGoodsSign(), sharePid, "1"); if (jumpLink == null) { throw new GoodsEvaluateException(1, "璇ュ晢鍝佽浆閾惧け璐�"); @@ -623,13 +625,13 @@ private String createTokenAndLink(GoodsDetailVO goodsDetailVO, SystemEnum system) throws Exception { String commentText = ""; if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, 1L, Long.parseLong(goodsDetailVO.getGoodsId()), "0", null); + TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, 1L, goodsDetailVO.getGoodsId(), "0", null); String template = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(), system); commentText = template.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); } else if (goodsDetailVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { String couponUrl = null; - JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsDetailVO.getGoodsId())); + JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsDetailVO.getGoodsId()); JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods); if (couponInfo != null) { couponUrl = couponInfo.getLink(); @@ -643,7 +645,7 @@ String sharePid = pidManager.getPidCache(system, Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.share); - PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(goodsDetailVO.getGoodsId()), + PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(goodsDetailVO.getGoodsId(), sharePid, "1"); String jumpLink = PinDuoDuoApiUtil.getPromotionUrl(goodsDetail.getGoodsSign(), @@ -663,7 +665,7 @@ return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); } - public GoodsDetailVO getGoodsDetailVO(Long goodsId, Integer goodsType, SystemEnum system) throws GoodsEvaluateException { + public GoodsDetailVO getGoodsDetailVO(String goodsId, Integer goodsType, SystemEnum system) throws GoodsEvaluateException { GoodsDetailVO goodsDetail = null; GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); params.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); @@ -776,7 +778,7 @@ for (int i = 0; i < goodsArray.length && i < 9; i++) { String goodsids = goodsArray[i]; String[] g = goodsids.split("-"); - GoodsDetailVO goodsDetailVO = getGoodsDetailVO(Long.parseLong(g[0]), Integer.parseInt(g[1]), resultObj.getSystem()); + GoodsDetailVO goodsDetailVO = getGoodsDetailVO(g[0], Integer.parseInt(g[1]), resultObj.getSystem()); if (goodsDetailVO == null) { continue; } @@ -997,8 +999,8 @@ if (!StringUtil.isNullOrEmpty(content) && commentInfo.getNeedSpin()) { try { convertLinkManager.convertLinkFromText(system, content, Constant.LINK_TOKEN_VERIFY_UID, true, false); - } catch (ConvertLinkExceptionException e) { - if (ConvertLinkExceptionException.CODE_NONE != e.getCode()) { + } catch (ConvertLinkException e) { + if (ConvertLinkException.CODE_NONE != e.getCode()) { throw new GoodsEvaluateException(1, "鍖呭惈涓嶅彲杞摼鐨勫彛浠や笌閾炬帴"); } } catch (Exception e) { @@ -1965,7 +1967,7 @@ if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { TaoBaoGoodsBrief goods; try { - goods = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); + goods = redisManager.getTaoBaoGoodsBrief(goodsId); if (goods != null) { vo = GoodsDetailVOFactory.convertTaoBao(goods, paramsDTO); } @@ -1974,12 +1976,12 @@ } } else if (goodsType == Constant.SOURCE_TYPE_JD) { - JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); + JDGoods goodsInfo = jdGoodsCacheUtil.getGoodsInfo(goodsId); if (goodsInfo != null) { vo = GoodsDetailVOFactory.convertJDGoods(goodsInfo, paramsDTO); } } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId)); + PDDGoodsDetail goodsInfo = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); if (goodsInfo != null) vo = GoodsDetailVOFactory.convertPDDGoods(goodsInfo, paramsDTO); } @@ -2001,7 +2003,7 @@ TaoBaoGoodsBrief goodsBrief = null; try { - goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId)); + goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId); } catch (TaobaoGoodsDownException e) { throw new GoodsEvaluateException(1, "鍟嗗搧宸蹭笅鏋�"); } @@ -2133,7 +2135,7 @@ } Date limitDate = DateUtil.reduceDay(new Date(), 7); - Long goodsId = goodsBrief.getAuctionId(); + String goodsId = goodsBrief.getAuctionId(); List<GoodsEvaluate> evaluateList = goodsEvaluateDao.queryExistLimitTime(Constant.SOURCE_TYPE_TAOBAO, goodsId + "", limitDate); if (evaluateList != null && evaluateList.size() > 0) throw new GoodsEvaluateException(1, "璇ュ晢鍝佸凡瀛樺湪"); @@ -2152,7 +2154,7 @@ // 鍟嗗搧鍥剧墖淇℃伅 int i = 0; - List<ImgInfo> imgList = new ArrayList<ImgInfo>(); + List<ImgInfo> imgList = new ArrayList<>(); for (String img : imgs) { ImgInfo imgInfo = new ImgInfo(); @@ -2187,7 +2189,7 @@ // 鐢熸垚鍙d护 String token = null; try { - TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), "1", null); + TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, Constant.LINK_TOKEN_VERIFY_UID, goodsBrief.getAuctionId(), Constant.LINK_TOKEN_VERIFY_RELATION_ID, null); token = taoBaoLink.getTaoToken(); } catch (TaoBaoConvertLinkException e) { e.printStackTrace(); @@ -2308,22 +2310,22 @@ throw new GoodsEvaluateException(1, "绾挎姤宸插瓨鍦�"); List<String> imgs = new ArrayList<>(); - if (dto.getImageList() != null && dto.getImageList().size() > 0) { - imgs.addAll(dto.getImageList()); + if (!StringUtil.isNullOrEmpty(dto.getPicUrls())) { + imgs.addAll(Arrays.asList(dto.getPicUrls().split(","))); } GoodsDetailVO goods = null; //鑾峰彇鍥剧墖 - if (dto.getIdList() != null && dto.getIdList().size() > 0) { + if (!StringUtil.isNullOrEmpty( dto.getItemIds())) { Set<String> imgSet = new HashSet<>(); imgSet.addAll(imgs); - String id = dto.getIdList().get(0); - String source = dto.getPlatformType(); + String id = dto.getItemIds().split(",")[0]; + String source = dto.getPlatform(); switch (source) { - case "tb": + case "娣樺疂": try { - TaoBaoGoodsBrief goodsBrief = TaoKeApiUtil.searchGoodsDetail(Long.parseLong(id)); + TaoBaoGoodsBrief goodsBrief = TaoKeApiUtil.searchGoodsDetail(id); if (goodsBrief != null && goodsBrief.getImgList() != null) { GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); goods = GoodsDetailVOFactory.convertTaoBao(goodsBrief, params); @@ -2340,8 +2342,8 @@ e.printStackTrace(); } break; - case "jd": { - JDGoods jdGoods = JDApiUtil.queryGoodsDetail(Long.parseLong(id)); + case "浜笢": { + JDGoods jdGoods = JDApiUtil.queryGoodsDetail(id); if (jdGoods != null && jdGoods.getImageList() != null) { GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); goods = GoodsDetailVOFactory.convertJDGoods(jdGoods, params); @@ -2355,8 +2357,8 @@ } } break; - case "pdd": { - PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(Long.parseLong(id)); + case "鎷煎澶�": { + PDDGoodsDetail goodsDetail = PinDuoDuoApiUtil.getGoodsDetail(id); if (goodsDetail != null && goodsDetail.getGoodsGalleryUrls() != null) { GoodsMoneyConfigParamsDTO params = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); goods = GoodsDetailVOFactory.convertPDDGoods(goodsDetail, params); @@ -2705,7 +2707,7 @@ } for (SystemEnum system : SystemEnum.values()) { List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_TAOBAO, - goods.getAuctionId() + "", system); + goods.getAuctionId(), system); if (queryExist == null || queryExist.size() == 0) { continue; } @@ -2726,7 +2728,7 @@ return; } for (SystemEnum system : SystemEnum.values()) { - List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getSkuId() + "", system); + List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_JD, jdGoods.getItemId() + "", system); if (queryExist == null || queryExist.size() == 0) { continue; } @@ -2777,6 +2779,25 @@ } @Override + public void updateDYGoods(DYGoodsDetail goods) { + if (goods == null) { + return; + } + for (SystemEnum system : SystemEnum.values()) { + List<GoodsEvaluate> queryExist = goodsEvaluateDao.queryExist(Constant.SOURCE_TYPE_DY, + goods.getProduct_id()+"", system); + if (queryExist == null || queryExist.size() == 0) { + continue; + } + + GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate("android", "55", system); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate(system)); + GoodsDetailVO goodsNew = GoodsDetailVOFactory.convertDYGoods(goods, paramsDTO); + updateGoods(queryExist, goodsNew); + } + } + + @Override public void updateSuningGoods(SuningGoodsInfo goods) { if (goods == null) { return; -- Gitblit v1.8.0