From ee5c8055b1c0dd7c67a9025a76b10bd287c93d9a Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 15 四月 2020 09:52:27 +0800 Subject: [PATCH] 资金明细增加团队分红 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsServiceImpl.java | 154 +++++++++++++++++++++++++++----------------------- 1 files changed, 83 insertions(+), 71 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 a2bd599..504a215 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 @@ -19,15 +19,11 @@ 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.TaoLiJinDTO; import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory; -import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinRecord; import com.yeshi.fanli.entity.bus.user.UserInfo; -import com.yeshi.fanli.entity.bus.user.UserMoneyExtra; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.TBPid; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; @@ -35,25 +31,28 @@ import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; import com.yeshi.fanli.entity.taobao.UserTLJBuyHistory; -import com.yeshi.fanli.exception.ShareGoodsException; +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.UserTaoLiJinRecordException; +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.tlj.UserTaoLiJinRecordService; import com.yeshi.fanli.service.inter.user.TBPidService; import com.yeshi.fanli.service.inter.user.UserAccountService; -import com.yeshi.fanli.service.inter.user.UserMoneyExtraService; -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; @@ -66,8 +65,7 @@ @Service public class ShareGoodsServiceImpl implements ShareGoodsService { - @Resource - private PidUserMapper pidUserMapper; + @Resource private TBPidService tbPidService; @@ -75,8 +73,6 @@ @Resource private UserShareGoodsHistoryMapper userShareGoodsHistoryMapper; - @Resource - private HongBaoManageMapper hongBaoManageMapper; @Resource private UserInfoMapper userinfoMapper; @@ -96,23 +92,21 @@ @Resource private HongBaoManageService hongBaoManageService; - @Resource - private UserShareGoodsRecordService userShareGoodsRecordService; - - @Resource - private CommonGoodsService commonGoodsService; - - @Resource - private UserMoneyExtraService userMoneyExtraService; - - @Resource - private UserTaoLiJinRecordService userTaoLiJinRecordService; @Resource private UserTLJBuyHistoryService userTLJBuyHistoryService; @Resource private TLJBuyGoodsService tljBuyGoodsService; + + @Resource + private BusinessEmergent110Service businessEmergent110Service; + + @Resource + private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService; + + @Resource + private ConvertLinkManager convertLinkManager; @Override public void addShareGoodsHistory(UserShareGoodsHistory history) { @@ -199,10 +193,10 @@ } UserShareGoodsHistory history = new UserShareGoodsHistory(); - history.setTkCode(tbLink.getTaoToken()); + history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); history.setLink(tbLink.getClickUrl()); history.setQuanLink(tbLink.getCouponLink()); - history.setTkCode(tbLink.getTaoToken()); + history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); history.setCreateTime(new Date()); history.setGoodsId(goods.getAuctionId()); @@ -241,7 +235,7 @@ // throw new ShareGoodsException(4, "鐢熸垚浜岀淮鐮佸け璐�"); // } // 鑾峰彇鍒扮敤鎴风殑澶村儚 - UserInfo user = userinfoMapper.selectByPrimaryKey(uid); + UserInfo user = userinfoMapper.selectAvailableByPrimaryKey(uid); InputStream portrait = null; if (!StringUtil.isNullOrEmpty(user.getPortrait())) { try { @@ -297,7 +291,8 @@ } FileUploadResult shareImgResult = COSManager.getInstance().uploadInputStream(shareImgInputStream, - "sharegoods/share_" + uid + "_" + goods.getAuctionId() + "_" + System.currentTimeMillis() + ".png"); + FilePathEnum.shareGoods.getPath() + "share_" + uid + "_" + goods.getAuctionId() + "_" + + System.currentTimeMillis() + ".png"); if (shareImgResult == null || StringUtil.isNullOrEmpty(shareImgResult.getUrl())) { throw new ShareGoodsException(6, "鍒嗕韩鍥剧墖淇濆瓨澶辫触"); @@ -361,16 +356,16 @@ UserShareGoodsHistory history = new UserShareGoodsHistory(); history.setId(userShareGoodsHistory.getId()); - history.setTkCode(tbLink.getTaoToken()); + history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); history.setLink(tbLink.getClickUrl()); history.setQuanLink(tbLink.getCouponLink()); - history.setTkCode(tbLink.getTaoToken()); + history.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); userShareGoodsHistoryMapper.updateByPrimaryKeySelective(history); - userShareGoodsHistory.setTkCode(tbLink.getTaoToken()); + userShareGoodsHistory.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); userShareGoodsHistory.setLink(tbLink.getClickUrl()); userShareGoodsHistory.setQuanLink(tbLink.getCouponLink()); - userShareGoodsHistory.setTkCode(tbLink.getTaoToken()); + userShareGoodsHistory.setTkCode(TaoBaoUtil.filterTaoToken(tbLink.getTaoToken())); } return userShareGoodsHistory; @@ -413,8 +408,6 @@ } TaoBaoGoodsBrief goods = null; try { - // 娴嬭瘯 - // info.setAdzoneId("123"); goods = TaoKeApiUtil.searchGoodsDetail(auctionId, info); } catch (TaobaoGoodsDownException e) { throw new ShareGoodsException(4, "鍟嗗搧宸蹭笅鏋�"); @@ -425,8 +418,6 @@ } 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, "鍟嗗搧杞摼澶辫触"); @@ -451,12 +442,12 @@ tbLink.setCouponLink(goods.getCouponLink()); if (!StringUtil.isNullOrEmpty(tbLink.getCouponLink())) {// 閫氳繃绔嬪嵆鎺ㄥ箍鏂瑰紡鑾峰彇娣樺彛浠ゆ垚鍔� - String quanToken = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), tbLink.getCouponLink()); + String quanToken = convertLinkManager.createTaoBaoToken(uid, 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()); + String quanToken = convertLinkManager.createTaoBaoToken(uid,goods.getPictUrl(), goods.getTitle(), tbLink.getClickUrl()); if (!StringUtil.isNullOrEmpty(quanToken)) { tbLink.setTaoToken(quanToken); } @@ -468,9 +459,24 @@ if (Constant.IS_OUTNET) redisManager.saveTaoBaoGoodsBriefTemp(goods); + LogManager.getLogger(LogType.taobaoTrade) + .info(String.format("娣樺疂鍟嗗搧鍒嗕韩\n UID:%s \n 鍟嗗搧ID:%s \n 鍒搁摼鎺�%s \n鍟嗗搧閾炬帴:%s \n 鍙d护:%s ", uid, auctionId, + tbLink.getCouponLink(), tbLink.getClickUrl(), tbLink.getTaoToken())); + return tbLink; } + @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; + } + @Override public TaoBaoLink getTaoBaoLinkForBuy(Long uid, Long auctionId, int pidType) throws ShareGoodsException { @@ -566,8 +572,9 @@ taoBaoLink.setAuctionId(auctionId); taoBaoLink.setClickUrl(goods.getAuctionUrl()); taoBaoLink.setCouponLink(goods.getCouponLink()); + if (!StringUtil.isNullOrEmpty(goods.getYsylClickUrl())) + taoBaoLink.setCouponLink(goods.getYsylClickUrl()); taoBaoLink.setGoods(goods); - return taoBaoLink; } @@ -644,6 +651,8 @@ tbLink.setAuctionId(goods.getAuctionId()); tbLink.setClickUrl(goods.getAuctionUrl()); tbLink.setCouponLink(goods.getCouponLink()); + if (!StringUtil.isNullOrEmpty(goods.getYsylClickUrl())) + tbLink.setCouponLink(goods.getYsylClickUrl()); if (!StringUtil.isNullOrEmpty(tbLink.getCouponLink())) {// 閫氳繃绔嬪嵆鎺ㄥ箍鏂瑰紡鑾峰彇娣樺彛浠ゆ垚鍔� String quanToken = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), tbLink.getCouponLink()); @@ -667,37 +676,30 @@ } @Override - public TaoBaoLink getTaoLiJinLinkForBuy(Long uid, String specialId, Long auctionId) throws ShareGoodsException { - if (uid == null || uid <= 0) { + public TaoBaoLink getTaoLiJinLinkForBuy(Long uid, String specialId, Long auctionId, String pid) + throws ShareGoodsException { + if (uid == null || uid <= 0) throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); + + if (auctionId == null || auctionId <= 0) + throw new ShareGoodsException(1, "鍟嗗搧ID涓嶈兘涓虹┖"); + + TaoBaoGoodsBrief goods = null; + try { + goods = TaoKeApiUtil.searchGoodsDetail(auctionId); + } catch (TaobaoGoodsDownException e) { + throw new ShareGoodsException(1, "璇ュ晢鍝佸凡涓嬫灦"); } - if (auctionId == null || auctionId <= 0) { - throw new ShareGoodsException(2, "鍟嗗搧ID涓嶈兘涓虹┖"); - } - - // 鐢ㄦ埛鍓╀綑鍙互娣樼ぜ閲戦獙璇� - UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid); - if (userMoneyExtra == null || userMoneyExtra.getTlj() == null) { - throw new ShareGoodsException(101, "绾㈠寘浣欓涓嶈冻"); - } - - 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 (goods == null) + throw new ShareGoodsException(1, "璇ュ晢鍝佸凡涓嬫灦"); String taoLiJinLink = null; try { goods.setAuctionId(auctionId); - UserTaoLiJinRecord createUserTaoLiJin = userTaoLiJinRecordService.createSelfBuyTaoLiJin(uid, 1, goods); - taoLiJinLink = createUserTaoLiJin.getSendUrl(); - } catch (UserTaoLiJinRecordException e) { - throw new ShareGoodsException(e.getCode(), e.getMsg()); + taoLiJinLink = userTaoLiJinNewbiesService.createTaoLiJinForBuy(goods, uid); + } catch (UserTaoLiJinNewbiesException e1) { + throw new ShareGoodsException(e1.getCode(), e1.getMsg()); } TaoBaoLink taoBaoLink = new TaoBaoLink(); @@ -705,7 +707,6 @@ taoBaoLink.setClickUrl(goods.getAuctionUrl()); taoBaoLink.setCouponLink(taoLiJinLink); taoBaoLink.setGoods(goods); - return taoBaoLink; } @@ -788,7 +789,8 @@ } @Override - public TaoBaoLink getTaoLiJinLinkForBuyWithOutFanLi(Long uid, Long auctionId) throws ShareGoodsException { + public TaoBaoLink getTaoLiJinLinkForBuyWithOutFanLi(Long uid, Long auctionId, TaoKeAppInfo app) + throws ShareGoodsException, TaoLiJinCreateException { if (uid == null || uid <= 0) { throw new ShareGoodsException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"); } @@ -799,7 +801,7 @@ boolean canBuy = userTLJBuyHistoryService.canBuy(uid, auctionId); if (!canBuy) { - throw new ShareGoodsException(3, "鍚屼竴鍟嗗搧姣忔棩鍙兘棰嗗彇涓夋"); + throw new ShareGoodsException(3, "绔嬪噺绾㈠寘宸叉姠鍏夛紝璇风◢鍚庡啀璇�"); } long currentTime = System.currentTimeMillis(); @@ -813,14 +815,24 @@ } BigDecimal perface = TaoBaoUtil.getGoodsHongBaoMoney(goods, new BigDecimal(70)); - TaoKeAppInfo app = TaoBaoConstant.ownBuyApp; TaoLiJinDTO taoLiJinDTO = null; try { - taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, "鑷喘绔嬪噺", perface, 1, new Date(currentTime), sendEndTime, - new Date(currentTime), sendEndTime, app); + 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()); + } 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, "鐢熸垚鎺ㄥ箍閾炬帴澶辫触"); } + if (taoLiJinDTO == null) throw new ShareGoodsException(5, "鐢熸垚鎺ㄥ箍閾炬帴澶辫触"); -- Gitblit v1.8.0