From eec7e789a87863c25d92c10ad5dfc22ad80c448d Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 14 七月 2020 12:36:48 +0800 Subject: [PATCH] 系统区分BUG修复 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java | 940 +++++++++++++++++++++++++--------------------------------- 1 files changed, 411 insertions(+), 529 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 8baf6c4..1bf96a6 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 @@ -11,6 +11,8 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.service.inter.user.UserInfoService; import org.springframework.stereotype.Service; import org.yeshi.utils.HttpUtil; import org.yeshi.utils.JsonUtil; @@ -19,10 +21,10 @@ import org.yeshi.utils.exception.HttpException; import org.yeshi.utils.tencentcloud.COSManager; -import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper; import com.yeshi.fanli.dao.mybatis.UserInfoMapper; import com.yeshi.fanli.dao.mybatis.UserShareGoodsHistoryMapper; -import com.yeshi.fanli.dao.mybatis.share.PidUserMapper; +import com.yeshi.fanli.dto.taobao.DaTaoKeFilterResult; +import com.yeshi.fanli.dto.taobao.TaoLiJinDTO; import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.taobao.PidUser; @@ -31,614 +33,494 @@ import com.yeshi.fanli.entity.taobao.TaoBaoLink; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; -import com.yeshi.fanli.exception.ShareGoodsException; +import com.yeshi.fanli.entity.taobao.UserTLJBuyHistory; +import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2; +import com.yeshi.fanli.exception.share.ShareGoodsException; +import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; +import com.yeshi.fanli.exception.tlj.TaoLiJinCreateException; +import com.yeshi.fanli.exception.tlj.UserTaoLiJinNewbiesException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.log.LogManager; +import com.yeshi.fanli.log.LogType; import com.yeshi.fanli.service.inter.config.ConfigService; -import com.yeshi.fanli.service.inter.goods.CommonGoodsService; import com.yeshi.fanli.service.inter.goods.ShareGoodsService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; +import com.yeshi.fanli.service.inter.monitor.BusinessEmergent110Service; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService; +import com.yeshi.fanli.service.inter.taobao.TLJBuyGoodsService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; +import com.yeshi.fanli.service.inter.taobao.UserTLJBuyHistoryService; +import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service; import com.yeshi.fanli.service.inter.user.TBPidService; import com.yeshi.fanli.service.inter.user.UserAccountService; -import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService; +import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; import com.yeshi.fanli.util.AESUtil; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.FilePathEnum; import com.yeshi.fanli.util.FileUtil; 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.TimeUtil; +import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; +import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; +import com.yeshi.fanli.util.taobao.DaTaoKeUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; @Service public class ShareGoodsServiceImpl implements ShareGoodsService { - @Resource - private PidUserMapper pidUserMapper; + @Resource + private TBPidService tbPidService; - @Resource - private TBPidService tbPidService; + @Resource + private UserShareGoodsHistoryMapper userShareGoodsHistoryMapper; - @Resource - private UserShareGoodsHistoryMapper userShareGoodsHistoryMapper; + @Resource + private UserInfoService userInfoService; - @Resource - private HongBaoManageMapper hongBaoManageMapper; + @Resource + private RedisManager redisManager; - @Resource - private UserInfoMapper userinfoMapper; + @Resource + private ConfigService configService; - @Resource - private RedisManager redisManager; + @Resource + private TaoBaoUnionConfigService taoBaoUnionConfigService; - @Resource - private ConfigService configService; + @Resource + private UserAccountService userAccountService; - @Resource - private TaoBaoUnionConfigService taoBaoUnionConfigService; + @Resource + private HongBaoManageService hongBaoManageService; - @Resource - private UserAccountService userAccountService; + @Resource + private UserTLJBuyHistoryService userTLJBuyHistoryService; - @Resource - private HongBaoManageService hongBaoManageService; + @Resource + private TLJBuyGoodsService tljBuyGoodsService; - @Resource - private UserShareGoodsRecordService userShareGoodsRecordService; + @Resource + private BusinessEmergent110Service businessEmergent110Service; - @Resource - private CommonGoodsService commonGoodsService; + @Resource + private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService; - @Override - public void addShareGoodsHistory(UserShareGoodsHistory history) { - UserShareGoodsHistory userShareGoodsHistory = userShareGoodsHistoryMapper - .selectByUidAndAuctionId(history.getUser().getId(), history.getGoodsId()); - if (userShareGoodsHistory != null && !StringUtil.isNullOrEmpty(history.getTkCode())) { - UserShareGoodsHistory update = new UserShareGoodsHistory(); - update.setId(userShareGoodsHistory.getId()); - userShareGoodsHistory.setTkCode(history.getTkCode()); - userShareGoodsHistory.setCreateTime(new Date()); - userShareGoodsHistoryMapper.updateByPrimaryKeySelective(userShareGoodsHistory); - } else - userShareGoodsHistoryMapper.insertSelective(history); - } + @Resource + private ConvertLinkManager convertLinkManager; - @Override - public UserShareGoodsHistory addShareGoodsHistory(Long uid, Long auctionId) throws ShareGoodsException { - TBPid tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_SHARE_GOODS); - if (tbPid == null) { - throw new ShareGoodsException(1, "鑾峰彇PID澶辫触"); - } - String appId = tbPid.getPid().split("_")[2]; - String adzoneId = tbPid.getPid().split("_")[3]; - TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); + @Resource + private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; - TaoKeAppInfo info = new TaoKeAppInfo(); - info.setAdzoneId(adzoneId); - info.setAppKey(taoBaoUnionConfig.getAppKey()); - info.setAppSecret(taoBaoUnionConfig.getAppSecret()); - info.setPid(tbPid.getPid()); - TaoBaoGoodsBrief goods = null; - long startTime = System.currentTimeMillis(); - try { - goods = TaoKeApiUtil.searchGoodsDetail(auctionId, info); - } catch (TaobaoGoodsDownException e) { - throw new ShareGoodsException(3, "鍟嗗搧宸蹭笅鏋�"); - } finally { - LogHelper.test(auctionId + "-鑾峰彇鍟嗗搧璇︽儏鑰楁椂涓�:" + (System.currentTimeMillis() - startTime)); - } - if (goods == null) { - throw new ShareGoodsException(3, "鍟嗗搧宸蹭笅鏋�"); - } + @Resource + private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service; - // 娌℃湁鑾峰彇鍒拌浆杩囬摼鐨勫晢鍝佽鎯� - if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && !goods.getAuctionUrl().contains("s.click.taobao.com")) { - 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.getAuctionUrl()); - } - return addShareGoodsHistory(uid, goods); - } + @Override + public void addShareGoodsHistory(UserShareGoodsHistory history) { + UserShareGoodsHistory userShareGoodsHistory = userShareGoodsHistoryMapper + .selectByUidAndAuctionId(history.getUser().getId(), history.getGoodsId()); + if (userShareGoodsHistory != null && !StringUtil.isNullOrEmpty(history.getTkCode())) { + UserShareGoodsHistory update = new UserShareGoodsHistory(); + update.setId(userShareGoodsHistory.getId()); + userShareGoodsHistory.setTkCode(history.getTkCode()); + userShareGoodsHistory.setCreateTime(new Date()); + userShareGoodsHistoryMapper.updateByPrimaryKeySelective(userShareGoodsHistory); + } else + userShareGoodsHistoryMapper.insertSelective(history); + } - @Override - public UserShareGoodsHistory addShareGoodsHistory(Long uid, TaoBaoGoodsBrief goods) throws ShareGoodsException { - if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && StringUtil.isNullOrEmpty(goods.getAuctionUrl())) { - throw new ShareGoodsException(10, "杞摼澶辫触"); - } + @Override + public UserShareGoodsHistory addShareGoodsHistory(Long uid, Long auctionId) throws ShareGoodsException { + TBPid tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_SHARE_GOODS); + if (tbPid == null) { + throw new ShareGoodsException(1, "鑾峰彇PID澶辫触"); + } + String appId = tbPid.getPid().split("_")[2]; + String adzoneId = tbPid.getPid().split("_")[3]; + TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); - BigDecimal rate = hongBaoManageService.getShareRate(); + TaoKeAppInfo info = new TaoKeAppInfo(); + info.setAdzoneId(adzoneId); + info.setAppKey(taoBaoUnionConfig.getAppKey()); + info.setAppSecret(taoBaoUnionConfig.getAppSecret()); + info.setPid(tbPid.getPid()); + TaoBaoGoodsBrief goods = null; + long startTime = System.currentTimeMillis(); + try { + goods = TaoKeApiUtil.searchGoodsDetail(auctionId, info); + } catch (TaobaoGoodsDownException e) { + throw new ShareGoodsException(3, "鍟嗗搧宸蹭笅鏋�"); + } finally { + LogHelper.test(auctionId + "-鑾峰彇鍟嗗搧璇︽儏鑰楁椂涓�:" + (System.currentTimeMillis() - startTime)); + } + if (goods == null) { + throw new ShareGoodsException(3, "鍟嗗搧宸蹭笅鏋�"); + } - // 鍒涘缓娣樺彛浠� - TaoBaoLink tbLink = new TaoBaoLink(); // TaoBaoUtil.getTbLinkForShare(goods.getAuctionId(), - // tbPid.getPid(), - // config.get(0)); - tbLink.setAuctionId(goods.getAuctionId()); - tbLink.setClickUrl(goods.getAuctionUrl()); - tbLink.setCouponLink(goods.getCouponLink()); + // 娌℃湁鑾峰彇鍒拌浆杩囬摼鐨勫晢鍝佽鎯� + if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && !goods.getAuctionUrl().contains("s.click.taobao.com")) { + 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.getAuctionUrl()); + } + return addShareGoodsHistory(uid, goods); + } - 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); - } - } + @Override + public UserShareGoodsHistory addShareGoodsHistory(Long uid, TaoBaoGoodsBrief goods) throws ShareGoodsException { + if (StringUtil.isNullOrEmpty(goods.getCouponLink()) && StringUtil.isNullOrEmpty(goods.getAuctionUrl())) { + throw new ShareGoodsException(10, "杞摼澶辫触"); + } - UserShareGoodsHistory history = new UserShareGoodsHistory(); - history.setTkCode(tbLink.getTaoToken()); - history.setLink(tbLink.getClickUrl()); - history.setQuanLink(tbLink.getCouponLink()); - history.setTkCode(tbLink.getTaoToken()); + SystemEnum system = userInfoService.getUserSystem(uid); + BigDecimal rate = hongBaoManageService.getShareRate(system); - history.setCreateTime(new Date()); - history.setGoodsId(goods.getAuctionId()); - history.setGoodsType(UserShareGoodsHistory.TYPE_TAOBAO); - history.setHongbao(TaoBaoUtil.getShareGoodsHongBaoInfo(goods, rate)); - List<String> imgList = goods.getImgList(); - if (imgList == null) { - imgList = new ArrayList<>(); - } - history.setPictures(JsonUtil.getGson().toJson(imgList)); - history.setUser(new UserInfo(uid)); - history.setPostPicture(goods.getPictUrl()); - // 鐢熸垚浜岀淮鐮佷俊鎭� - // 鍖呭惈鐢ㄦ埛ID涓庡晢鍝両D - // 鏂扮増鍟嗗搧鍒嗕韩 - String url = String.format("http://%s%s?uid=%s&id=%s", configService.getH5Host(), - Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY), - goods.getAuctionId() + ""); + // 鍒涘缓娣樺彛浠� + TaoBaoLink tbLink = new TaoBaoLink(); // TaoBaoUtil.getTbLinkForShare(goods.getAuctionId(), + // tbPid.getPid(), + // config.get(0)); + tbLink.setAuctionId(goods.getAuctionId()); + tbLink.setClickUrl(goods.getAuctionUrl()); + tbLink.setCouponLink(goods.getCouponLink()); - String shortLink = HttpUtil.getShortLink(url); - if (!StringUtil.isNullOrEmpty(shortLink)) { - url = shortLink; - } - String destPath = FileUtil.getCacheDir() + "/ercode_" + uid + "_" + goods.getAuctionId() + ".jpg"; - String shareImgPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + goods.getAuctionId() + ".png"; - InputStream erCodeInputStream = null; + 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); + } + } - try { - try { - erCodeInputStream = QRCodeUtil.getInstance(500).encode(url); - } catch (Exception e) { - e.printStackTrace(); - } + UserShareGoodsHistory history = new UserShareGoodsHistory(); + history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); + history.setLink(tbLink.getClickUrl()); + history.setQuanLink(tbLink.getCouponLink()); + history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); - // if (!new File(destPath).exists()) { - // throw new ShareGoodsException(4, "鐢熸垚浜岀淮鐮佸け璐�"); - // } - // 鑾峰彇鍒扮敤鎴风殑澶村儚 - UserInfo user = userinfoMapper.selectByPrimaryKey(uid); - InputStream portrait = null; - if (!StringUtil.isNullOrEmpty(user.getPortrait())) { - try { - portrait = HttpUtil.downLoadImg(user.getPortrait()); - } catch (HttpException e) { - String portraitUrl = userAccountService.repairPortrait(uid); - if (StringUtil.isNullOrEmpty(portraitUrl)) - throw new ShareGoodsException(11, "鑾峰彇澶村儚鍑洪敊"); - else { - // 鍐嶆鑾峰彇澶村儚 - try { - portrait = HttpUtil.downLoadImg(portraitUrl); - } catch (HttpException e1) { - throw new ShareGoodsException(11, "鑾峰彇澶村儚鍑洪敊"); - } - } - } - } + history.setCreateTime(new Date()); + history.setGoodsId(goods.getAuctionId()); + history.setGoodsType(UserShareGoodsHistory.TYPE_TAOBAO); + history.setHongbao(TaoBaoUtil.getShareGoodsHongBaoInfo(goods, rate)); + List<String> imgList = goods.getImgList(); + if (imgList == null) { + imgList = new ArrayList<>(); + } + history.setPictures(JsonUtil.getGson().toJson(imgList)); + history.setUser(new UserInfo(uid)); + history.setPostPicture(goods.getPictUrl()); + // 鐢熸垚浜岀淮鐮佷俊鎭� + // 鍖呭惈鐢ㄦ埛ID涓庡晢鍝両D + // 鏂扮増鍟嗗搧鍒嗕韩 - InputStream shareImgInputStream = null; + String url = String.format("http://%s%s?uid=%s&id=%s", configService.getH5Host(system), + Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY), + goods.getAuctionId() + ""); - try { - // 娴疯崏琛楃殑鍒嗕韩浜岀淮鐮佷笉涓�鏍� - if (Constant.systemCommonConfig.getProjectChineseName().contains("娴疯崏琛�")) { - try { - shareImgInputStream = ImageUtil.drawGoodsShareImgHCJ(new FileInputStream(new File(destPath)), - portrait, goods); - } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } - throw new ShareGoodsException(5, "鍒嗕韩鍥剧粯鍒跺け璐�"); - } - } else { - shareImgInputStream = ImageUtil.drawGoodsShareImg(erCodeInputStream, portrait, goods); - } - } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e, "", "鍒嗕韩鍥炬棤娉曟壘鍒�"); - } catch (Exception e1) { - e1.printStackTrace(); - } - } + String shortLink = HttpUtil.getShortLink(url); + if (!StringUtil.isNullOrEmpty(shortLink)) { + url = shortLink; + } + String destPath = FileUtil.getCacheDir() + "/ercode_" + uid + "_" + goods.getAuctionId() + ".jpg"; + String shareImgPath = FileUtil.getCacheDir() + "/share_" + uid + "_" + goods.getAuctionId() + ".png"; + InputStream erCodeInputStream = null; - try { - if (shareImgInputStream != null && shareImgInputStream.available() <= 0) { - throw new ShareGoodsException(5, "鐢熸垚鍒嗕韩鍥惧け璐�"); - } - } catch (IOException e) { - throw new ShareGoodsException(5, "璇诲彇鍒嗕韩鍥惧け璐�"); - } + try { + try { + erCodeInputStream = QRCodeUtil.getInstance(500).encode(url); + } catch (Exception e) { + e.printStackTrace(); + } - FileUploadResult shareImgResult = COSManager.getInstance().uploadInputStream(shareImgInputStream, - "sharegoods/share_" + uid + "_" + goods.getAuctionId() + "_" + System.currentTimeMillis() + ".png"); + // if (!new File(destPath).exists()) { + // throw new ShareGoodsException(4, "鐢熸垚浜岀淮鐮佸け璐�"); + // } + // 鑾峰彇鍒扮敤鎴风殑澶村儚 + UserInfo user = userInfoService.selectAvailableByPrimaryKey(uid); + InputStream portrait = null; + if (!StringUtil.isNullOrEmpty(user.getPortrait())) { + try { + portrait = HttpUtil.downLoadImg(user.getPortrait()); + } catch (HttpException e) { + String portraitUrl = userAccountService.repairPortrait(uid); + if (StringUtil.isNullOrEmpty(portraitUrl)) + throw new ShareGoodsException(11, "鑾峰彇澶村儚鍑洪敊"); + else { + // 鍐嶆鑾峰彇澶村儚 + try { + portrait = HttpUtil.downLoadImg(portraitUrl); + } catch (HttpException e1) { + throw new ShareGoodsException(11, "鑾峰彇澶村儚鍑洪敊"); + } + } + } + } - if (shareImgResult == null || StringUtil.isNullOrEmpty(shareImgResult.getUrl())) { - throw new ShareGoodsException(6, "鍒嗕韩鍥剧墖淇濆瓨澶辫触"); - } + InputStream shareImgInputStream = null; - history.setShareImg(shareImgResult.getUrl()); - history.setShareImgMD5(shareImgResult.getMd5()); + try { + // 娴疯崏琛楃殑鍒嗕韩浜岀淮鐮佷笉涓�鏍� + if (Constant.systemCommonConfig.getProjectChineseName().contains("娴疯崏琛�")) { + try { + shareImgInputStream = ImageUtil.drawGoodsShareImgHCJ(new FileInputStream(new File(destPath)), + portrait, goods); + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + throw new ShareGoodsException(5, "鍒嗕韩鍥剧粯鍒跺け璐�"); + } + } else { + shareImgInputStream = ImageUtil.drawGoodsShareImg(erCodeInputStream, portrait, goods); + } + } catch (Exception e) { + try { + LogHelper.errorDetailInfo(e, "", "鍒嗕韩鍥炬棤娉曟壘鍒�"); + } catch (Exception e1) { + e1.printStackTrace(); + } + } - // 鏌ヨ涔嬪墠鏄惁瀛樺湪锛屽瓨鍦ㄥ氨鏇挎崲鎺� + try { + if (shareImgInputStream != null && shareImgInputStream.available() <= 0) { + throw new ShareGoodsException(5, "鐢熸垚鍒嗕韩鍥惧け璐�"); + } + } catch (IOException e) { + throw new ShareGoodsException(5, "璇诲彇鍒嗕韩鍥惧け璐�"); + } - UserShareGoodsHistory old = userShareGoodsHistoryMapper.selectByUidAndAuctionId(uid, history.getGoodsId()); - if (old != null) { - history.setId(old.getId()); - userShareGoodsHistoryMapper.updateByPrimaryKeySelective(history); - // 鍒犻櫎鍘熸潵鐨勫浘鐗� - COSManager.getInstance().deleteFile(old.getShareImg()); - } else { - userShareGoodsHistoryMapper.insertSelective(history); - } - history.setLink(url); - return history; - } finally { - if (new File(destPath).exists()) { - new File(destPath).delete(); - } - if (new File(shareImgPath).exists()) { - new File(shareImgPath).delete(); - } - } - } + FileUploadResult shareImgResult = COSManager.getInstance().uploadInputStream(shareImgInputStream, + FilePathEnum.shareGoods.getPath() + "share_" + uid + "_" + goods.getAuctionId() + "_" + + System.currentTimeMillis() + ".png"); - @Override - public UserShareGoodsHistory getShareGoodsHistoryDetail(Long uid, Long auctionId) throws ShareGoodsException { - UserShareGoodsHistory userShareGoodsHistory = userShareGoodsHistoryMapper.selectByUidAndAuctionId(uid, - auctionId); - if (userShareGoodsHistory == null) - throw new ShareGoodsException(10, "鍒嗕韩涓嶅瓨鍦�"); + if (shareImgResult == null || StringUtil.isNullOrEmpty(shareImgResult.getUrl())) { + throw new ShareGoodsException(6, "鍒嗕韩鍥剧墖淇濆瓨澶辫触"); + } - // 娣樺彛浠や笉瀛樺湪 - if (StringUtil.isNullOrEmpty(userShareGoodsHistory.getTkCode())) { - TBPid tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_SHARE_GOODS); - if (tbPid == null) - throw new ShareGoodsException(1, "鑾峰彇PID澶辫触"); + history.setShareImg(shareImgResult.getUrl()); + history.setShareImgMD5(shareImgResult.getMd5()); - List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_SHARE_GOODS); - // 鍒涘缓娣樺彛浠� - TaoBaoLink tbLink = TaoBaoUtil.getTbLink(auctionId, tbPid.getPid(), config.get(0)); - if (tbLink == null) { - TaoBaoGoodsBrief goods = null; - try { - goods = TaoKeApiUtil.searchGoodsDetail(auctionId); - } catch (TaobaoGoodsDownException e) { - throw new ShareGoodsException(4, "鍟嗗搧宸蹭笅鏋�"); - } - tbLink = TaoBaoUtil.getTbLinkWithCoupon(goods.getPictUrl(), goods.getTitle(), - goods.getCouponActivityId(), auctionId, tbPid.getPid()); - if (tbLink == null || StringUtil.isNullOrEmpty(tbLink.getTaoToken())) - throw new ShareGoodsException(2, "鑾峰彇娣樺彛浠ゅけ璐ワ紝璇风◢鍚庨噸璇�"); - } - // 鏇存柊娣樺彛浠� + // 鏌ヨ涔嬪墠鏄惁瀛樺湪锛屽瓨鍦ㄥ氨鏇挎崲鎺� - UserShareGoodsHistory history = new UserShareGoodsHistory(); - history.setId(userShareGoodsHistory.getId()); - history.setTkCode(tbLink.getTaoToken()); - history.setLink(tbLink.getClickUrl()); - history.setQuanLink(tbLink.getCouponLink()); - history.setTkCode(tbLink.getTaoToken()); - userShareGoodsHistoryMapper.updateByPrimaryKeySelective(history); - - userShareGoodsHistory.setTkCode(tbLink.getTaoToken()); - userShareGoodsHistory.setLink(tbLink.getClickUrl()); - userShareGoodsHistory.setQuanLink(tbLink.getCouponLink()); - userShareGoodsHistory.setTkCode(tbLink.getTaoToken()); - } - - return userShareGoodsHistory; - } - - @Override - public TaoBaoLink getTaoBaoLinkForShare(Long uid, Long auctionId, String relationId) 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 pid = TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT; - 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")) { - TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService - .getConfigByAppIdCache(info.getPid().split("_")[2]); - 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; - } - - @Override - public TaoBaoLink getTaoBaoLinkForBuy(Long uid, Long auctionId, int pidType) throws ShareGoodsException { - - if (uid == null || uid <= 0) { - throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); - } - - if (auctionId == null || auctionId <= 0) { - throw new ShareGoodsException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); - } - - TBPid tbPid = tbPidService.getTBPid(uid, pidType); - if (tbPid == null) { - throw new ShareGoodsException(3, "鑾峰彇鎺ㄥ箍浣嶅け璐�"); - } - return getTaoBaoLink(uid, auctionId, tbPid.getPid()); - } - - @Override - public TaoBaoLink getTaoBaoLink(Long uid, Long auctionId, String pid) throws ShareGoodsException { + UserShareGoodsHistory old = userShareGoodsHistoryMapper.selectByUidAndAuctionId(uid, history.getGoodsId()); + if (old != null) { + history.setId(old.getId()); + userShareGoodsHistoryMapper.updateByPrimaryKeySelective(history); + // 鍒犻櫎鍘熸潵鐨勫浘鐗� + COSManager.getInstance().deleteFile(old.getShareImg()); + } else { + userShareGoodsHistoryMapper.insertSelective(history); + } + history.setLink(url); + return history; + } finally { + if (new File(destPath).exists()) { + new File(destPath).delete(); + } + if (new File(shareImgPath).exists()) { + new File(shareImgPath).delete(); + } + } + } - if (uid == null || uid <= 0) { - throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); - } + @Override + public UserShareGoodsHistory getShareGoodsHistoryDetail(Long uid, Long auctionId) throws ShareGoodsException { + UserShareGoodsHistory userShareGoodsHistory = userShareGoodsHistoryMapper.selectByUidAndAuctionId(uid, + auctionId); + if (userShareGoodsHistory == null) + throw new ShareGoodsException(10, "鍒嗕韩涓嶅瓨鍦�"); - if (auctionId == null || auctionId <= 0) { - throw new ShareGoodsException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); - } + // 娣樺彛浠や笉瀛樺湪 + if (StringUtil.isNullOrEmpty(userShareGoodsHistory.getTkCode())) { + TBPid tbPid = tbPidService.getTBPid(uid, PidUser.TYPE_SHARE_GOODS); + if (tbPid == null) + throw new ShareGoodsException(1, "鑾峰彇PID澶辫触"); - if (StringUtil.isNullOrEmpty(pid)) { - throw new ShareGoodsException(3, "鏃犳帹骞夸綅"); - } + List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_SHARE_GOODS); + // 鍒涘缓娣樺彛浠� + TaoBaoLink tbLink = TaoBaoUtil.getTbLink(auctionId, tbPid.getPid(), config.get(0)); + if (tbLink == null) { + TaoBaoGoodsBrief goods = null; + try { + goods = TaoKeApiUtil.searchGoodsDetail(auctionId); + } catch (TaobaoGoodsDownException e) { + throw new ShareGoodsException(4, "鍟嗗搧宸蹭笅鏋�"); + } + tbLink = TaoBaoUtil.getTbLinkWithCoupon(goods.getPictUrl(), goods.getTitle(), + goods.getCouponActivityId(), auctionId, tbPid.getPid()); + if (tbLink == null || StringUtil.isNullOrEmpty(tbLink.getTaoToken())) + throw new ShareGoodsException(2, "鑾峰彇娣樺彛浠ゅけ璐ワ紝璇风◢鍚庨噸璇�"); + } + // 鏇存柊娣樺彛浠� - String appId = pid.split("_")[2]; - String adzoneId = pid.split("_")[3]; - TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); + UserShareGoodsHistory history = new UserShareGoodsHistory(); + history.setId(userShareGoodsHistory.getId()); + history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); + history.setLink(tbLink.getClickUrl()); + history.setQuanLink(tbLink.getCouponLink()); + history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); + userShareGoodsHistoryMapper.updateByPrimaryKeySelective(history); - TaoKeAppInfo info = new TaoKeAppInfo(); - info.setAdzoneId(adzoneId); - info.setAppKey(taoBaoUnionConfig.getAppKey()); - info.setAppSecret(taoBaoUnionConfig.getAppSecret()); - info.setPid(pid); - TaoBaoGoodsBrief goods = null; - try { - goods = TaoKeApiUtil.searchGoodsDetailForConvert(auctionId, info); - } catch (TaobaoGoodsDownException e) { - throw new ShareGoodsException(4, "鍟嗗搧宸蹭笅鏋�"); - } finally { + userShareGoodsHistory.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); + userShareGoodsHistory.setLink(tbLink.getClickUrl()); + userShareGoodsHistory.setQuanLink(tbLink.getCouponLink()); + userShareGoodsHistory.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); + } - } - if (goods == null) { - throw new ShareGoodsException(5, "鑾峰彇鍟嗗搧璇︽儏澶辫触"); - } + return userShareGoodsHistory; + } - 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()); - } + @Override + public String createTaoBaoToken(Long uid, TaoBaoGoodsBrief goods) { + String quanToken = ""; + if (!StringUtil.isNullOrEmpty(goods.getCouponLink())) {// 閫氳繃绔嬪嵆鎺ㄥ箍鏂瑰紡鑾峰彇娣樺彛浠ゆ垚鍔� + quanToken = convertLinkManager.createTaoBaoToken(uid, goods.getPictUrl(), goods.getTitle(), + goods.getCouponLink()); + } else if (!StringUtil.isNullOrEmpty(goods.getAuctionUrl())) { + quanToken = convertLinkManager.createTaoBaoToken(uid, goods.getPictUrl(), goods.getTitle(), + goods.getAuctionUrl()); + } + return quanToken; + } - // 鍒涘缓娣樺彛浠� - TaoBaoLink tbLink = new TaoBaoLink(); - tbLink.setAuctionId(goods.getAuctionId()); - tbLink.setClickUrl(goods.getAuctionUrl()); - tbLink.setCouponLink(goods.getCouponLink()); - return tbLink; - } + @Override + public TaoBaoLink getTaoBaoLink(Long uid, Long auctionId, String pid) throws ShareGoodsException { - @Override - public TaoBaoLink getTaoBaoLinkForBuyWithSpecial(Long uid, String specialId, Long auctionId) - throws ShareGoodsException { - if (uid == null || uid <= 0) { - throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); - } + if (uid == null || uid <= 0) { + throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); + } - if (auctionId == null || auctionId <= 0) { - throw new ShareGoodsException(2, "鍟嗗搧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, ""); - } + if (StringUtil.isNullOrEmpty(pid)) { + throw new ShareGoodsException(3, "鏃犳帹骞夸綅"); + } - TaoBaoLink taoBaoLink = new TaoBaoLink(); - taoBaoLink.setAuctionId(auctionId); - taoBaoLink.setClickUrl(goods.getAuctionUrl()); - taoBaoLink.setCouponLink(goods.getCouponLink()); - taoBaoLink.setGoods(goods); + String appId = pid.split("_")[2]; + String adzoneId = pid.split("_")[3]; + TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId); - return taoBaoLink; - } + TaoKeAppInfo info = new TaoKeAppInfo(); + info.setAdzoneId(adzoneId); + info.setAppKey(taoBaoUnionConfig.getAppKey()); + info.setAppSecret(taoBaoUnionConfig.getAppSecret()); + info.setPid(pid); + TaoBaoGoodsBrief goods = null; + try { + goods = TaoKeApiUtil.searchGoodsDetailForConvert(auctionId, info); + } catch (TaobaoGoodsDownException e) { + throw new ShareGoodsException(4, "鍟嗗搧宸蹭笅鏋�"); + } finally { - @Override - public UserShareGoodsHistory getShareGoodsHistory(Long uid, Long auctionId) { - return userShareGoodsHistoryMapper.selectByUidAndAuctionId(uid, auctionId); - } + } + if (goods == null) { + throw new ShareGoodsException(5, "鑾峰彇鍟嗗搧璇︽儏澶辫触"); + } - @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 (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 (auctionId == null || auctionId <= 0) { - throw new ShareGoodsException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); - } + // 鍒涘缓娣樺彛浠� + TaoBaoLink tbLink = new TaoBaoLink(); + tbLink.setAuctionId(goods.getAuctionId()); + tbLink.setClickUrl(goods.getAuctionUrl()); + tbLink.setCouponLink(goods.getCouponLink()); + return tbLink; + } - TaoKeAppInfo info = new TaoKeAppInfo(); + @Override + public UserShareGoodsHistory getShareGoodsHistory(Long uid, Long auctionId) { + return userShareGoodsHistoryMapper.selectByUidAndAuctionId(uid, auctionId); + } - 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, "鑾峰彇鍟嗗搧璇︽儏澶辫触"); - } + @Override + public TaoBaoLink getTaoLiJinLinkForBuyWithOutFanLi(Long uid, Long auctionId, TaoKeAppInfo app) + throws ShareGoodsException, TaoLiJinCreateException { + if (uid == null || uid <= 0) { + throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); + } - 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 (auctionId == null || auctionId <= 0) { + throw new ShareGoodsException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); + } - 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); - } + boolean canBuy = userTLJBuyHistoryService.canBuy(uid, auctionId); + if (!canBuy) { + throw new ShareGoodsException(3, "绔嬪噺绾㈠寘宸叉姠鍏夛紝璇风◢鍚庡啀璇�"); + } - // 淇濆瓨鍟嗗搧璇︽儏 + SystemEnum system = userInfoService.getUserSystem(uid); - // 鍒涘缓娣樺彛浠� - TaoBaoLink tbLink = new TaoBaoLink(); - tbLink.setAuctionId(goods.getAuctionId()); - tbLink.setClickUrl(goods.getAuctionUrl()); - tbLink.setCouponLink(goods.getCouponLink()); + long currentTime = System.currentTimeMillis(); + Date sendEndTime = new Date(TimeUtil.convertToTimeTemp( + TimeUtil.getGernalTime(currentTime + 1000 * 60 * 60 * 24L, "yyyy-MM-dd"), "yyyy-MM-dd")); + TaoBaoGoodsBrief goods = null; + try { + goods = TaoKeApiUtil.searchGoodsDetail(auctionId); + } catch (TaobaoGoodsDownException e) { + throw new ShareGoodsException(4, "鍟嗗搧宸蹭笅鏋�"); + } - 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); - } - } + BigDecimal perface = TaoBaoUtil.getGoodsHongBaoMoney(goods, new BigDecimal(70), false); + TaoLiJinDTO taoLiJinDTO = null; + try { + taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, "鑷喘绔嬪噺", perface, 1, + new Date(currentTime - 1000 * 60 * 10L), sendEndTime, new Date(currentTime - 1000 * 60 * 10L), + sendEndTime, app); + } catch (TaoLiJinCreateException e1) { + if (e1.getCode() == TaoLiJinCreateException.CODE_TLJ_NO_MONEY) {// 璧勯噾涓嶈冻 + TaoBaoUnionConfig config = taoBaoUnionConfigService.getConfigByAppKeyCache(app.getAppKey()); + businessEmergent110Service.tljNoMoney(config.getAccount(), system); + } else if (e1.getCode() == TaoLiJinCreateException.CODE_TLJ_FORBIDDEN) {// 鍟嗗搧涓嶅厑璁稿垱寤烘窐绀奸噾 + tljBuyGoodsService.removeGoods(auctionId); + } + LogHelper.errorDetailInfo(e1, e1.getMessage(), null); + } catch (TaoKeApiException e) { + LogHelper.errorDetailInfo(e, e.getMessage(), null); + throw new ShareGoodsException(5, "鐢熸垚鎺ㄥ箍閾炬帴澶辫触"); + } - tbLink.setGoods(goods); + if (taoLiJinDTO == null) + throw new ShareGoodsException(5, "鐢熸垚鎺ㄥ箍閾炬帴澶辫触"); - // 瀛樺偍鍒嗕韩鍟嗗搧鐨勪俊鎭紝鐢ㄤ簬鍔犲揩鍒嗕韩缃戦〉鎺ュ彛璇锋眰閫熷害 - if (Constant.IS_OUTNET) - redisManager.saveTaoBaoGoodsBriefTemp(goods); + // 鍑忓幓鍓╀綑涓暟(闅忔満鍑忓幓8鍒�10涓�) + tljBuyGoodsService.subHongBaoLeftCount(auctionId, TimeUtil.getGernalTime(currentTime, "yyyy-MM-dd"), + 8 + (int) (3 * Math.random())); - return tbLink; - } + // 鎻掑叆璁板綍 + try { + userTLJBuyHistoryService.addHistory(new UserTLJBuyHistory(null, uid, auctionId, + TimeUtil.getGernalTime(currentTime, "yyyy-MM-dd"), taoLiJinDTO.getRightsId(), new Date())); + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + TaoBaoLink taoBaoLink = new TaoBaoLink(); + taoBaoLink.setAuctionId(auctionId); + taoBaoLink.setClickUrl(goods.getAuctionUrl()); + taoBaoLink.setCouponLink(taoLiJinDTO.getSendUrl()); + taoBaoLink.setGoods(goods); + return taoBaoLink; + } } -- Gitblit v1.8.0