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/manger/goods/TaoBaoLinkManager.java | 59 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 34 insertions(+), 25 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/TaoBaoLinkManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/TaoBaoLinkManager.java index af945ba..22a2ec6 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/TaoBaoLinkManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/goods/TaoBaoLinkManager.java @@ -1,6 +1,8 @@ package com.yeshi.fanli.service.manger.goods; import com.yeshi.common.entity.taobao.TaoKeAppInfo; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.SystemPIDInfo; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.TBPid; import com.yeshi.fanli.entity.taobao.TaoBaoLink; @@ -13,6 +15,7 @@ import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; import com.yeshi.fanli.service.inter.user.TBPidService; +import com.yeshi.fanli.service.manger.PIDManager; import com.yeshi.fanli.util.*; import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; @@ -58,23 +61,30 @@ @Resource private TaoBaoCouponCacheService taoBaoCouponCacheService; + @Resource + private PIDManager pidManager; + /** * 鍙鍒� + * * @param auctionId * @param specialId * @param pid * @return */ - public TaoBaoLink getTaoBaoLinkForRecieveCoupon(Long auctionId, String specialId, String pid) throws TaoBaoConvertLinkException{ - if (auctionId == null || auctionId <= 0) { + public TaoBaoLink getTaoBaoLinkForRecieveCoupon(SystemEnum system, String auctionId, String specialId, String pid) throws TaoBaoConvertLinkException { + if (StringUtil.isNullOrEmpty(auctionId)) { throw new TaoBaoConvertLinkException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); } TaoKeAppInfo app = new TaoKeAppInfo(); app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY); app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET); - app.setPid(TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT); + if (pid == null) + app.setPid(pidManager.getPidCache(system, Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.fanli)); + else + app.setPid(pid); TaoBaoLink taoBaoLink = new TaoBaoLink(); taoBaoLink.setAuctionId(auctionId); @@ -90,7 +100,7 @@ String link = null; try { - link = DaTaoKeApiUtil.convertLink(auctionId, app.getPid()); + link = DaTaoKeApiUtil.convertLink(auctionId, app.getPid(),false); } catch (Exception e) { } @@ -107,7 +117,7 @@ return taoBaoLink; } - TaoBaoGoodsBrief goods = TaoKeApiUtil.specialConvertCoupon(auctionId, app, specialId, null); + TaoBaoGoodsBrief goods = TaoKeApiUtil.specialConvertCouponV2(auctionId, app, specialId, null); if (goods == null) { throw new TaoBaoConvertLinkException(1, ""); } @@ -132,11 +142,11 @@ * @param pid * @return */ - public TaoBaoLink getTaoBaoLinkForBuy(Long uid, Long auctionId, String specialId, String pid) throws TaoBaoConvertLinkException { + public TaoBaoLink getTaoBaoLinkForBuy(SystemEnum system, Long uid, String auctionId, String specialId, String pid) throws TaoBaoConvertLinkException { if (uid == null || uid <= 0) { throw new TaoBaoConvertLinkException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); } - return getTaoBaoLinkForRecieveCoupon(auctionId,specialId,pid); + return getTaoBaoLinkForRecieveCoupon(system, auctionId, specialId, pid); } @@ -174,7 +184,7 @@ } - private void cacheCouponInfo(Long auctionId, String link, String pid) { + private void cacheCouponInfo(String auctionId, String link, String pid) { String activityId = TaoBaoUtil.getActivityIdFromCouponLink(link); if (StringUtil.isNullOrEmpty(activityId)) return; @@ -206,7 +216,7 @@ return; try { - TaoBaoCouponCache cache = TaoBaoCouponCacheFactory.create(goods.getAuctionId(), goods.getCouponActivityId(), goods.getCouponAmount(), goods.getCouponStartFee(), new Date(TimeUtil.convertToTimeTemp(goods.getCouponEffectiveStartTime(), "yyyy-MM-dd")), new Date(TimeUtil.convertToTimeTemp(goods.getCouponEffectiveEndTime(), "yyyy-MM-dd")+1000*60*60*24L), pid, goods.getCouponLink()); + TaoBaoCouponCache cache = TaoBaoCouponCacheFactory.create(goods.getAuctionId(), goods.getCouponActivityId(), goods.getCouponAmount(), goods.getCouponStartFee(), new Date(TimeUtil.convertToTimeTemp(goods.getCouponEffectiveStartTime(), "yyyy-MM-dd")), new Date(TimeUtil.convertToTimeTemp(goods.getCouponEffectiveEndTime(), "yyyy-MM-dd") + 1000 * 60 * 60 * 24L), pid, goods.getCouponLink()); if (cache != null) { taoBaoCouponCacheService.save(cache); } @@ -228,13 +238,13 @@ * @param pid * @return */ - public TaoBaoLink getTaoBaoLinkForShare(Long uid, Long auctionId, String relationId, String pid) throws + public TaoBaoLink getTaoBaoLinkForShare(SystemEnum system, Long uid, String auctionId, String relationId, String pid) throws TaoBaoConvertLinkException { if (uid == null || uid <= 0) { throw new TaoBaoConvertLinkException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); } - if (auctionId == null || auctionId <= 0) { + if (StringUtil.isNullOrEmpty(auctionId)) { throw new TaoBaoConvertLinkException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); } @@ -242,7 +252,7 @@ if (!StringUtil.isNullOrEmpty(relationId)) { if (StringUtil.isNullOrEmpty(pid)) - pid = TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT; + pid = pidManager.getPidCache(system, Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.share); String appId = pid.split("_")[2]; String adzoneId = pid.split("_")[3]; TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); @@ -276,7 +286,7 @@ if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && !goods.getAuctionUrl().contains("s.click.taobao.com")) { - TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCoupon(auctionId, info, null, relationId); + TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCouponV2(auctionId, info, null, relationId); if (taoBaoLink == null) { throw new TaoBaoConvertLinkException(201, "鍟嗗搧杞摼澶辫触"); } @@ -291,10 +301,9 @@ DaTaoKeFilterResult result = daTaoKeGoodsDetailV2Service.filterTaoBaoGoods(goods); if (result.getFilterType() == DaTaoKeFilterResult.FILTER_TYPE_COUPON || result.getFilterType() == DaTaoKeFilterResult.FILTER_TYPE_PRICE_AND_COUPON) { - link = DaTaoKeApiUtil.convertLink(auctionId, info.getPid()); + link = DaTaoKeApiUtil.convertLink(auctionId, info.getPid(),true); } else if (goods.getCouponAmount() != null && goods.getCouponAmount().compareTo(new BigDecimal(0)) > 0) {// 鏈夊埜 - link = DaTaoKeApiUtil.convertLink(auctionId, info.getPid()); - + link = DaTaoKeApiUtil.convertLink(auctionId, info.getPid(),true); } if (!StringUtil.isNullOrEmpty(link)) { @@ -303,7 +312,7 @@ //淇濆瓨鍒搁摼鎺� cacheCouponInfo(goods, info.getPid()); } else { - TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCoupon(auctionId, info, null, relationId); + TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCouponV2(auctionId, info, null, relationId); if (taoBaoLink == null) { throw new TaoBaoConvertLinkException(201, "鍟嗗搧杞摼澶辫触"); } @@ -331,13 +340,13 @@ if (!StringUtil.isNullOrEmpty(tbLink.getCouponLink())) {// 閫氳繃绔嬪嵆鎺ㄥ箍鏂瑰紡鑾峰彇娣樺彛浠ゆ垚鍔� String quanToken = convertLinkManager.createTaoBaoToken(uid, goods.getPictUrl(), goods.getTitle(), - tbLink.getCouponLink()); + tbLink.getCouponLink(), false); if (!StringUtil.isNullOrEmpty(quanToken)) { tbLink.setTaoToken(quanToken); } } else if (!StringUtil.isNullOrEmpty(tbLink.getClickUrl())) { String quanToken = convertLinkManager.createTaoBaoToken(uid, goods.getPictUrl(), goods.getTitle(), - tbLink.getClickUrl()); + tbLink.getClickUrl(), false); if (!StringUtil.isNullOrEmpty(quanToken)) { tbLink.setTaoToken(quanToken); } @@ -364,11 +373,11 @@ * @param pid * @return */ - public TaoBaoLink getTaoLiJinLinkForBuy(Long uid, Long auctionId, String pid) throws TaoBaoConvertLinkException { + public TaoBaoLink getTaoLiJinLinkForBuy(Long uid, String auctionId, String pid) throws TaoBaoConvertLinkException { if (uid == null || uid <= 0) throw new TaoBaoConvertLinkException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); - if (auctionId == null || auctionId <= 0) + if (StringUtil.isNullOrEmpty(auctionId)) throw new TaoBaoConvertLinkException(1, "鍟嗗搧ID涓嶈兘涓虹┖"); TaoBaoGoodsBrief goods = null; @@ -406,13 +415,13 @@ * @param pid * @return */ - public TaoBaoLink getTaoLiJinLinkForShare(Long uid, Long auctionId, String relationId, String pid) throws + public TaoBaoLink getTaoLiJinLinkForShare(SystemEnum system, Long uid, String auctionId, String relationId, String pid) throws TaoBaoConvertLinkException { if (uid == null || uid <= 0) { throw new TaoBaoConvertLinkException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); } - if (auctionId == null || auctionId <= 0) { + if (StringUtil.isNullOrEmpty(auctionId)) { throw new TaoBaoConvertLinkException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); } @@ -420,7 +429,7 @@ if (!StringUtil.isNullOrEmpty(relationId)) { if (StringUtil.isNullOrEmpty(pid)) - pid = TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT; + pid = pidManager.getPidCache(system, Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.share); String appId = pid.split("_")[2]; String adzoneId = pid.split("_")[3]; TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); @@ -455,7 +464,7 @@ if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && !goods.getAuctionUrl().contains("s.click.taobao.com")) { TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService .getConfigByAppIdCache(info.getPid().split("_")[2]); - TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCoupon(auctionId, info, null, relationId); + TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCouponV2(auctionId, info, null, relationId); if (taoBaoLink == null) { throw new TaoBaoConvertLinkException(201, "鍟嗗搧杞摼澶辫触"); } -- Gitblit v1.8.0