From 207dc8655711cddac2653e18b51e58a88dba2084 Mon Sep 17 00:00:00 2001 From: yj <Administrator@192> Date: 星期五, 06 三月 2020 18:14:36 +0800 Subject: [PATCH] 发圈处理 --- fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java | 63 +++++++++++++++---------------- 1 files changed, 31 insertions(+), 32 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java index 8813e1c..4d5ac54 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java @@ -27,6 +27,7 @@ import com.yeshi.fanli.entity.bus.user.TokenRecord.TokenTypeEnum; import com.yeshi.fanli.entity.bus.user.UserMoneyExtra; import com.yeshi.fanli.entity.goods.CommonGoods; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoKeAppInfo; import com.yeshi.fanli.exception.taobao.TaoKeApiException; @@ -56,6 +57,7 @@ import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.TokenUtil; import com.yeshi.fanli.util.factory.CommonGoodsFactory; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.taobao.TaoLiJinUtil; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; @@ -69,7 +71,7 @@ @Resource private RedisManager redisManager; - + @Resource private ConfigService configService; @@ -111,21 +113,21 @@ @Resource private ShareHotGoodsService shareHotGoodsService; - + @Resource private TokenRecordService tokenRecordService; - + @Resource private UserTaoLiJinGiveRecordService userTaoLiJinGiveRecordService; - + @Override public UserTaoLiJinRecord selectByPrimaryKey(Long id) { return userTaoLiJinRecordMapper.selectByPrimaryKey(id); } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override - public UserTaoLiJinRecord createSelfBuyTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods) + public UserTaoLiJinRecord createSelfBuyTaoLiJin(Long uid, BigDecimal couplePrice, TaoBaoGoodsBrief goods) throws UserTaoLiJinRecordException { Date date = new Date(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); @@ -147,10 +149,8 @@ } catch (ParseException e2) { e2.printStackTrace(); } - // 鏂颁汉绾㈠寘 鑷喘涓�鍏� - BigDecimal perface = new BigDecimal(1); - if (goods.getMaterialLibType() == null || goods.getMaterialLibType() == 0) {// 闈炶繑鍒╁簱鍟嗗搧 + if (!TaoBaoUtil.isSpecialGoods(goods.getMaterialLibType())) {// 闈炶繑鍒╁簱鍟嗗搧 String relationId = null; try { relationId = taoBaoBuyRelationMapService.getRelationId(uid); @@ -161,7 +161,7 @@ if (StringUtil.isNullOrEmpty(relationId)) { throw new UserTaoLiJinRecordException(101, "娓犻亾鏈妗�"); } - UserTaoLiJinRecord record = createUserTaoLiJin(1, uid, goods.getAuctionId(), perface, 1, name, + UserTaoLiJinRecord record = createUserTaoLiJin(1, uid, goods.getAuctionId(), couplePrice, 1, name, sendStartTime, sendEndTime, null, useEndTime, TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID); record.setSendUrl(record.getSendUrl() + "&relationId=" + relationId); UserTaoLiJinRecord updateRecoed = new UserTaoLiJinRecord(); @@ -170,13 +170,13 @@ userTaoLiJinRecordMapper.updateByPrimaryKeySelective(record); return record; } else {// 杩斿埄搴撳晢鍝� - return createUserTaoLiJin(1, uid, goods.getAuctionId(), perface, 1, name, sendStartTime, sendEndTime, null, + return createUserTaoLiJin(1, uid, goods.getAuctionId(), couplePrice, 1, name, sendStartTime, sendEndTime, null, useEndTime, TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT); } } - @Transactional + @Transactional(rollbackFor=Exception.class) @Override public UserTaoLiJinRecord createShareTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods) throws UserTaoLiJinRecordException { @@ -235,7 +235,7 @@ } @Override - @Transactional + @Transactional(rollbackFor=Exception.class) public UserTaoLiJinRecord createUserTaoLiJin(int origin, Long uid, Long auctionId, BigDecimal perface, int totalNum, String name, Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, String pid) throws UserTaoLiJinRecordException { @@ -512,25 +512,25 @@ public UserTaoLiJinRecord getByRightsId(String rightsId) { return userTaoLiJinRecordMapper.getByRightsId(rightsId); } - + @Override - public String giveTaolijin(Long uid, BigDecimal amount) throws UserTaoLiJinRecordException{ - if (uid == null || amount == null) - throw new UserTaoLiJinRecordException(1,"鍙傛暟涓嶆纭�"); - + public String giveTaolijin(Long uid, BigDecimal amount) throws UserTaoLiJinRecordException { + if (uid == null || amount == null) + throw new UserTaoLiJinRecordException(1, "鍙傛暟涓嶆纭�"); + String giveMin = configTaoLiJinService.getValueByKey("give_min_amount"); if (amount.compareTo(new BigDecimal(giveMin)) < 0) - throw new UserTaoLiJinRecordException(1,"璧犻�佹帹骞跨孩鍖呴噾棰濊嚦灏�" + giveMin + "鍏�"); - + throw new UserTaoLiJinRecordException(1, "璧犻�佹帹骞跨孩鍖呴噾棰濊嚦灏�" + giveMin + "鍏�"); + // 鐢ㄦ埛鍓╀綑鍙互娣樼ぜ閲戦獙璇� UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid); if (userMoneyExtra == null || userMoneyExtra.getTlj() == null) throw new UserTaoLiJinRecordException(1, "绾㈠寘浣欓涓嶈冻"); - + BigDecimal tlj = userMoneyExtra.getTlj(); if (amount.compareTo(tlj) > 0) throw new UserTaoLiJinRecordException(1, "绾㈠寘浣欓涓嶈冻"); - + Date nowDate = new Date(); // 璧犻�佽褰� UserTaoLiJinGiveRecord giveRecord = new UserTaoLiJinGiveRecord(); @@ -540,7 +540,7 @@ giveRecord.setGiveTime(nowDate); giveRecord.setEndTime(DateUtil.plusDayDate(Constant.GIVE_DAYS, new Date())); userTaoLiJinGiveRecordService.insertSelective(giveRecord); - + // 鍙d护璁板綍 TokenRecord tokenRecord = new TokenRecord(); tokenRecord.setUid(uid); @@ -550,27 +550,27 @@ tokenRecord.setEndTime(DateUtil.plusDayDate(Constant.TOKEN_DAYS, new Date())); tokenRecord.setState(0); tokenRecordService.insertSelective(tokenRecord); - + // 鍒涘缓鍙d护 String token = TokenUtil.createToken(tokenRecord.getId()); tokenRecord.setToken(token); tokenRecordService.updateByPrimaryKeySelective(tokenRecord); - + // 鏇存柊浣欓 UserMoneyExtra updateExtra = new UserMoneyExtra(); updateExtra.setUid(uid); updateExtra.setTlj(MoneyBigDecimalUtil.sub(tlj, amount)); updateExtra.setUpdateTime(new Date()); userMoneyExtraService.updateByPrimaryKeySelective(updateExtra); - + String tips = configTaoLiJinService.getValueByKey("give_taolijin_tips"); String projectChineseName = Constant.systemCommonConfig.getProjectChineseName(); - while(tips.contains("{APP鍚嶇О}")) { + while (tips.contains("{APP鍚嶇О}")) { tips = tips.replace("{APP鍚嶇О}", projectChineseName); } - tips = tips.replace("{鍙d护}", token).replace("{涓嬭浇閾炬帴}", configService.get("app_down_link")) - .replace("{闈㈤}", amount.setScale(0).toString()); - + tips = tips.replace("{鍙d护}", token).replace("{涓嬭浇閾炬帴}", configService.get(ConfigKeyEnum.appDownLink.getKey())).replace("{闈㈤}", + amount.setScale(0).toString()); + executor.execute(new Runnable() { @Override public void run() { @@ -620,9 +620,8 @@ } } }); - + return tips; } - } -- Gitblit v1.8.0