From b6c37e4bc38db88a360d0f2c6099183f9bb75bdc Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期一, 22 四月 2019 14:31:59 +0800 Subject: [PATCH] 券推送插入 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java | 72 ++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 11 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java index c43d107..5c3eccd 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java @@ -48,6 +48,7 @@ import com.yeshi.fanli.util.ImageUtil; import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; @@ -134,12 +135,14 @@ // 娌℃湁鑾峰彇鍒拌浆杩囬摼鐨勫晢鍝佽鎯� if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && !goods.getAuctionUrl().contains("s.click.taobao.com")) { - TaoBaoLink taoBaoLink = TaoBaoUtil.getTbLinkForShare(auctionId, tbPid.getPid(), taoBaoUnionConfig); + TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCoupon(auctionId, info); // TaoBaoUtil.getTbLinkForShare(auctionId, + // tbPid.getPid(), + // taoBaoUnionConfig); if (taoBaoLink == null) { throw new ShareGoodsException(201, "杞摼澶辫触"); } goods.setCouponLink(taoBaoLink.getCouponLink()); - goods.setAuctionUrl(taoBaoLink.getClickUrl()); + goods.setAuctionUrl(taoBaoLink.getAuctionUrl()); } return addShareGoodsHistory(uid, goods); } @@ -364,7 +367,7 @@ TaoKeAppInfo info = new TaoKeAppInfo(); if (!StringUtil.isNullOrEmpty(relationId)) { - String pid = Constant.TAOBAO_RELATION_PID_DEFAULT; + String pid = TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT; String appId = pid.split("_")[2]; String adzoneId = pid.split("_")[3]; TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); @@ -399,12 +402,12 @@ if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && !goods.getAuctionUrl().contains("s.click.taobao.com")) { TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService .getConfigByAppIdCache(info.getPid().split("_")[2]); - TaoBaoLink taoBaoLink = TaoBaoUtil.getTbLinkForShare(auctionId, info.getPid(), taoBaoUnionConfig); + TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCoupon(auctionId, info); if (taoBaoLink == null) { throw new ShareGoodsException(201, "鍟嗗搧杞摼澶辫触"); } goods.setCouponLink(taoBaoLink.getCouponLink()); - goods.setAuctionUrl(taoBaoLink.getClickUrl()); + goods.setAuctionUrl(taoBaoLink.getAuctionUrl()); } if (!StringUtil.isNullOrEmpty(relationId)) { @@ -458,33 +461,52 @@ if (tbPid == null) { throw new ShareGoodsException(3, "鑾峰彇鎺ㄥ箍浣嶅け璐�"); } - String appId = tbPid.getPid().split("_")[2]; - String adzoneId = tbPid.getPid().split("_")[3]; + return getTaoBaoLink(uid, auctionId, tbPid.getPid()); + } + + @Override + public TaoBaoLink getTaoBaoLink(Long uid, Long auctionId, String pid) throws ShareGoodsException { + + if (uid == null || uid <= 0) { + throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); + } + + if (auctionId == null || auctionId <= 0) { + throw new ShareGoodsException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); + } + + if (StringUtil.isNullOrEmpty(pid)) { + throw new ShareGoodsException(3, "鏃犳帹骞夸綅"); + } + + String appId = pid.split("_")[2]; + String adzoneId = pid.split("_")[3]; TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); TaoKeAppInfo info = new TaoKeAppInfo(); info.setAdzoneId(adzoneId); info.setAppKey(taoBaoUnionConfig.getAppKey()); info.setAppSecret(taoBaoUnionConfig.getAppSecret()); - info.setPid(tbPid.getPid()); + info.setPid(pid); TaoBaoGoodsBrief goods = null; try { goods = TaoKeApiUtil.searchGoodsDetailForConvert(auctionId, info); } catch (TaobaoGoodsDownException e) { throw new ShareGoodsException(4, "鍟嗗搧宸蹭笅鏋�"); } finally { + } if (goods == null) { throw new ShareGoodsException(5, "鑾峰彇鍟嗗搧璇︽儏澶辫触"); } if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && !goods.getAuctionUrl().contains("s.click.taobao.com")) { - TaoBaoLink taoBaoLink = TaoBaoUtil.getTbLinkForShare(auctionId, tbPid.getPid(), taoBaoUnionConfig); + TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCoupon(auctionId, info); if (taoBaoLink == null) { throw new ShareGoodsException(201, "鍟嗗搧杞摼澶辫触"); } goods.setCouponLink(taoBaoLink.getCouponLink()); - goods.setAuctionUrl(taoBaoLink.getClickUrl()); + goods.setAuctionUrl(taoBaoLink.getAuctionUrl()); } // 鍒涘缓娣樺彛浠� @@ -498,7 +520,35 @@ @Override public TaoBaoLink getTaoBaoLinkForBuyWithSpecial(Long uid, String specialId, Long auctionId) throws ShareGoodsException { - return null; + if (uid == null || uid <= 0) { + throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); + } + + if (auctionId == null || auctionId <= 0) { + throw new ShareGoodsException(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); + TaoBaoGoodsBrief goods = TaoKeApiUtil.specialConvertCoupon(auctionId, app); + if (goods == null) { + throw new ShareGoodsException(1, ""); + } + + TaoBaoLink taoBaoLink = new TaoBaoLink(); + taoBaoLink.setAuctionId(auctionId); + taoBaoLink.setClickUrl(goods.getAuctionUrl()); + taoBaoLink.setCouponLink(goods.getCouponLink()); + taoBaoLink.setGoods(goods); + + return taoBaoLink; + } + + @Override + public UserShareGoodsHistory getShareGoodsHistory(Long uid, Long auctionId) { + return userShareGoodsHistoryMapper.selectByUidAndAuctionId(uid, auctionId); } } -- Gitblit v1.8.0