From d92226ce9f81c44fd0e159662d928767ce423b83 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 29 四月 2019 08:57:02 +0800 Subject: [PATCH] 淘宝用于自购的渠道ID存储 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 90 insertions(+), 0 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 5c3eccd..19fb9e8 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 @@ -551,4 +551,94 @@ return userShareGoodsHistoryMapper.selectByUidAndAuctionId(uid, auctionId); } + @Override + public TaoBaoLink getTaoBaoLinkForShare(Long uid, Long auctionId, String relationId, String pid) + throws ShareGoodsException { + if (uid == null || uid <= 0) { + throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); + } + + if (auctionId == null || auctionId <= 0) { + throw new ShareGoodsException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); + } + + TaoKeAppInfo info = new TaoKeAppInfo(); + + if (!StringUtil.isNullOrEmpty(relationId)) { + String appId = pid.split("_")[2]; + String adzoneId = pid.split("_")[3]; + TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); + info.setAdzoneId(adzoneId); + info.setAppKey(taoBaoUnionConfig.getAppKey()); + info.setAppSecret(taoBaoUnionConfig.getAppSecret()); + info.setPid(pid); + } else { + TBPid tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_SHARE_GOODS); + if (tbPid == null) { + throw new ShareGoodsException(3, "鑾峰彇鎺ㄥ箍浣嶅け璐�"); + } + String appId = tbPid.getPid().split("_")[2]; + TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); + String adzoneId = tbPid.getPid().split("_")[3]; + info.setAdzoneId(adzoneId); + info.setAppKey(taoBaoUnionConfig.getAppKey()); + info.setAppSecret(taoBaoUnionConfig.getAppSecret()); + info.setPid(tbPid.getPid()); + } + TaoBaoGoodsBrief goods = null; + try { + goods = TaoKeApiUtil.searchGoodsDetail(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")) { + TaoBaoGoodsBrief taoBaoLink = TaoKeApiUtil.specialConvertCoupon(auctionId, info); + if (taoBaoLink == null) { + throw new ShareGoodsException(201, "鍟嗗搧杞摼澶辫触"); + } + goods.setCouponLink(taoBaoLink.getCouponLink()); + goods.setAuctionUrl(taoBaoLink.getAuctionUrl()); + } + + if (!StringUtil.isNullOrEmpty(relationId)) { + if (!StringUtil.isNullOrEmpty(goods.getAuctionUrl())) + goods.setAuctionUrl(goods.getAuctionUrl() + "&relationId=" + relationId); + if (!StringUtil.isNullOrEmpty(goods.getCouponLink())) + goods.setCouponLink(goods.getCouponLink() + "&relationId=" + relationId); + } + + // 淇濆瓨鍟嗗搧璇︽儏 + + // 鍒涘缓娣樺彛浠� + TaoBaoLink tbLink = new TaoBaoLink(); + tbLink.setAuctionId(goods.getAuctionId()); + tbLink.setClickUrl(goods.getAuctionUrl()); + tbLink.setCouponLink(goods.getCouponLink()); + + if (!StringUtil.isNullOrEmpty(tbLink.getCouponLink())) {// 閫氳繃绔嬪嵆鎺ㄥ箍鏂瑰紡鑾峰彇娣樺彛浠ゆ垚鍔� + String quanToken = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), tbLink.getCouponLink()); + if (!StringUtil.isNullOrEmpty(quanToken)) { + tbLink.setTaoToken(quanToken); + } + } else if (!StringUtil.isNullOrEmpty(tbLink.getClickUrl())) { + String quanToken = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), tbLink.getClickUrl()); + if (!StringUtil.isNullOrEmpty(quanToken)) { + tbLink.setTaoToken(quanToken); + } + } + + tbLink.setGoods(goods); + + // 瀛樺偍鍒嗕韩鍟嗗搧鐨勪俊鎭紝鐢ㄤ簬鍔犲揩鍒嗕韩缃戦〉鎺ュ彛璇锋眰閫熷害 + if (Constant.IS_OUTNET) + redisManager.saveTaoBaoGoodsBriefTemp(goods); + + return tbLink; + } + } -- Gitblit v1.8.0