From d1dccd08a249b830a95eeeb04af25f87d5c056be Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 03 九月 2019 11:13:04 +0800 Subject: [PATCH] 金币明细bug --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java | 95 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 79 insertions(+), 16 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java index 57dbc70..1c8df95 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java @@ -8,6 +8,7 @@ import javax.annotation.Resource; +import org.springframework.context.annotation.Lazy; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service; @@ -21,12 +22,15 @@ import com.yeshi.fanli.entity.bus.user.UserSystemCoupon; import com.yeshi.fanli.entity.bus.user.UserSystemCouponGiveRecord; import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord; +import com.yeshi.fanli.entity.system.SystemCoupon; import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum; import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException; import com.yeshi.fanli.exception.user.TokenRecordException; import com.yeshi.fanli.exception.user.UserInfoExtraException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.config.SystemCouponService; import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.integral.IntegralGetService; import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinGiveRecordService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService; @@ -54,6 +58,7 @@ private UserInfoService userInfoService; @Resource + @Lazy private UserSystemCouponService userSystemCouponService; @Resource @@ -76,6 +81,14 @@ @Resource private UserOtherMsgNotificationService userOtherMsgNotificationService; + + @Lazy + @Resource + private IntegralGetService integralGetService; + + @Resource + private SystemCouponService systemCouponService; + @Override public void insertSelective(TokenRecord record) { @@ -102,10 +115,14 @@ if (StringUtil.isNullOrEmpty(parseToken)) throw new TokenRecordException(1, "鏈彂鐜板彛浠�"); - TokenRecord rokenRecord = tokenRecordMapper.getByToken(token); + TokenRecord rokenRecord = tokenRecordMapper.getByToken(parseToken); if (rokenRecord == null) throw new TokenRecordException(1, "鍙d护涓嶅瓨鍦�"); + Long uidToken = rokenRecord.getUid(); + if (uid != null && uidToken != null && uid.longValue() == uidToken.longValue()) + throw new TokenRecordException(1, "涓嶈兘鑷繁璧犻�佺粰鑷繁"); + Date now = new Date(); Date endTimeToken = rokenRecord.getEndTime(); Integer stateTtoken = rokenRecord.getState(); @@ -241,7 +258,7 @@ } if (StringUtil.isNullOrEmpty(nickName)) - nickName = Constant.systemCommonConfig.getDefaultNickName(); + nickName = Constant.systemCommonConfig.getDefaultNickName() + inviteId; if (StringUtil.isNullOrEmpty(portrait)) portrait = Constant.systemCommonConfig.getDefaultPortrait(); @@ -252,7 +269,7 @@ TokenVO tokenVO = new TokenVO(); tokenVO.setAmount(num); - tokenVO.setToken(token); + tokenVO.setToken(parseToken); tokenVO.setNickName(nickName + "璧犻��"); tokenVO.setPortrait(portrait); tokenVO.setTips(tips); @@ -274,7 +291,11 @@ TokenRecord rokenRecord = tokenRecordMapper.getByToken(token); if (rokenRecord == null) throw new TokenRecordException(1, "鍙d护宸插け鏁�"); - + + Long uidToken = rokenRecord.getUid(); + if (uidToken != null && uid.longValue() == uidToken.longValue()) + throw new TokenRecordException(1, "涓嶈兘鑷繁璧犻�佺粰鑷繁"); + Date now = new Date(); Date endTimeToken = rokenRecord.getEndTime(); if (endTimeToken != null && endTimeToken.getTime() < now.getTime()) @@ -311,10 +332,11 @@ if (userCoupon == null || userCoupon.getGive() == null || !userCoupon.getGive() || userCoupon.getState() != UserSystemCoupon.STATE_IN_USE) throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦ㄦ垨闈炶禒閫�"); - + + UserSystemCoupon userSystemCoupon= null; try { - userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(), - UserSystemCoupon.SOURCE_GIVE); + userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(), + UserSystemCoupon.SOURCE_GIVE, null); } catch (Exception e) { LogHelper.errorDetailInfo(e); throw new TokenRecordException(1, "棰嗗彇澶辫触"); @@ -340,17 +362,23 @@ // 鏇存柊璧犻�佽褰� UserSystemCouponGiveRecord updateGiveRecord = new UserSystemCouponGiveRecord(); + updateGiveRecord.setId(giveRecord.getId()); updateGiveRecord.setReceiveUid(uid); updateGiveRecord.setReceiveTime(new Date()); updateGiveRecord.setState(UserSystemCouponGiveRecord.STATE_RECEIVE); + if (userSystemCoupon != null) { + updateGiveRecord.setReceiveId(userSystemCoupon.getId()); + } userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateGiveRecord); + integralGetService.addGiveFreeCoupon(giveUid); + msg = "棰嗗彇鎴愬姛[鍏嶅崟鍒竇鎴愬姛锛岃鍒癧鎴戠殑-绂忓埄涓績]涓煡鐪�"; // 娑堟伅 + 闃熷憳 executor.execute(new Runnable() { @Override public void run() { - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm"); + SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra); String beiZhu = "鏃�"; if (addTeam) @@ -365,7 +393,7 @@ msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON); msgOther.setTitle("璧犻�佸厤鍗曞埜"); msgOther.setGiveType("浣犺禒閫佺殑鍏嶅崟鍒歌鎴愬姛棰嗗彇"); - msgOther.setReceiveInfo("鏄电О: " + userName + " ID:" + uid); + msgOther.setReceiveInfo("鏄电О: 锛�" + userName + " ID锛�" + uid); msgOther.setGiveTime(sd.format(giveRecord.getGiveTime())); msgOther.setReceiveTime(sd.format(new Date())); userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther); @@ -387,9 +415,18 @@ || userCoupon.getState() != UserSystemCoupon.STATE_IN_USE) throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦ㄦ垨闈炶禒閫�"); + SystemCoupon systemCoupon = userCoupon.getSystemCoupon(); + if (systemCoupon == null) + throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦�"); + + systemCoupon = systemCouponService.selectByPrimaryKey(systemCoupon.getId()); + if (systemCoupon == null) + throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦�"); + + UserSystemCoupon userSystemCoupon= null; try { - userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(), - UserSystemCoupon.SOURCE_GIVE); + userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(), + UserSystemCoupon.SOURCE_GIVE, systemCoupon.getPercent()); } catch (Exception e) { LogHelper.errorDetailInfo(e); throw new TokenRecordException(1, "棰嗗彇澶辫触"); @@ -415,17 +452,23 @@ // 鏇存柊璧犻�佽褰� UserSystemCouponGiveRecord updateGiveRecord = new UserSystemCouponGiveRecord(); + updateGiveRecord.setId(giveRecord.getId()); updateGiveRecord.setReceiveUid(uid); updateGiveRecord.setReceiveTime(new Date()); updateGiveRecord.setState(UserSystemCouponGiveRecord.STATE_RECEIVE); + if (userSystemCoupon != null) { + updateGiveRecord.setReceiveId(userSystemCoupon.getId()); + } userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateGiveRecord); + integralGetService.addGiveRebateCoupon(giveUid); + msg = "棰嗗彇鎴愬姛[杩斿埄濂栧姳鍒竇鎴愬姛锛岃鍒癧鎴戠殑-绂忓埄涓績]涓煡鐪�"; // 娑堟伅 + 闃熷憳 executor.execute(new Runnable() { @Override public void run() { - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm"); + SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra); String beiZhu = "鏃�"; if (addTeam) @@ -440,7 +483,7 @@ msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON); msgOther.setTitle("璧犻�佸鍔卞埜"); msgOther.setGiveType("浣犺禒閫佺殑濂栧姳鍒歌鎴愬姛棰嗗彇"); - msgOther.setReceiveInfo("鏄电О: " + userName + " ID:" + uid); + msgOther.setReceiveInfo("鏄电О锛� " + userName + " ID锛�" + uid); msgOther.setGiveTime(sd.format(giveRecord.getGiveTime())); msgOther.setReceiveTime(sd.format(new Date())); userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther); @@ -469,13 +512,15 @@ updateRecord.setState(UserTaoLiJinGiveRecord.STATE_RECEIVE); userTaoLiJinGiveRecordService.updateByPrimaryKeySelective(updateRecord); + integralGetService.addGiveTaoLiJin(giveUid); + msg = "棰嗗彇鎴愬姛[鎺ㄥ箍绾㈠寘]鎴愬姛锛岃鍒癧鎴戠殑-鎺ㄥ箍绾㈠寘]涓煡鐪�"; // 娑堟伅 + 闃熷憳 executor.execute(new Runnable() { @Override public void run() { - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm"); + SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra); String beiZhu = "鏃�"; if (addTeam) @@ -487,10 +532,10 @@ userName = user.getNickName(); MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO(); - msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON); + msgOther.setType(MsgOtherGiveContentDTO.TYEP_TLJ); msgOther.setTitle("璧犻�佹帹骞跨孩鍖�"); msgOther.setGiveType("浣犺禒閫佺殑鎺ㄥ箍绾㈠寘琚垚鍔熼鍙�"); - msgOther.setReceiveInfo("鏄电О: " + userName + " ID:" + uid); + msgOther.setReceiveInfo("鏄电О锛�" + userName + " ID锛�" + uid); msgOther.setGiveTime(sd.format(giveRecord.getGiveTime())); msgOther.setReceiveTime(sd.format(new Date())); userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther); @@ -532,5 +577,23 @@ } return invite; } + + + @Override + public List<TokenRecord> overdueList(int count) { + return tokenRecordMapper.overdueList(count); + } + + @Override + public void overdue(List<TokenRecord> list) { + if (list == null || list.size() == 0) + return; + Date date = new Date(); + for (TokenRecord tokenRecord: list) { + tokenRecord.setState(1); + tokenRecord.setUpdateTime(date); + tokenRecordMapper.updateByPrimaryKeySelective(tokenRecord); + } + } } -- Gitblit v1.8.0