From db751b1fda37f52134cdc1730a4037138b7f3550 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 四月 2020 10:02:19 +0800 Subject: [PATCH] 升级消息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java | 86 +++++++++++++++++++++++++++++++++++------- 1 files changed, 71 insertions(+), 15 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java index 257cf2c..ca2e963 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java @@ -6,6 +6,7 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.yeshi.fanli.dao.mybatis.user.UserInviteValidNumMapper; import com.yeshi.fanli.dao.mybatis.user.UserInviteValidRecordMapper; @@ -30,7 +31,6 @@ private ThreeSaleSerivce threeSaleSerivce; - @Override public UserInviteValidNum selectByPrimaryKey(Long id) { return userInviteValidNumMapper.selectByPrimaryKey(id); @@ -41,29 +41,94 @@ * 鐩存帴绮変笣 +1 * @param uid */ + @Transactional(rollbackFor = Exception.class) private void addNumFirst(Long uid) { UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid); if (inviteValid != null) { userInviteValidNumMapper.addNumFirst(uid, 1); } else { inviteValid = new UserInviteValidNum(); + inviteValid.setId(uid); inviteValid.setNumFirst(1); inviteValid.setNumSecond(0); inviteValid.setUpdateTime(new Date()); userInviteValidNumMapper.insertSelective(inviteValid); } } + + /** + * 鐩存帴绮変笣 -1 + * @param uid + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void reduceValidNumFirst(Long uid, Long workerId) { + UserInviteValidRecord record = userInviteValidRecordMapper.getByUidAndWorkerId(uid, workerId, + UserInviteValidRecord.TYPE_ONE); + if (record == null) { + return; + } + + UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid); + if (inviteValid != null) { + int num = 0; + if (inviteValid.getNumFirst() > 0) { + num = inviteValid.getNumFirst() - 1; + } + inviteValid.setId(uid); + inviteValid.setNumFirst(num); + inviteValid.setUpdateTime(new Date()); + userInviteValidNumMapper.updateByPrimaryKeySelective(inviteValid); + } + + // 鍒犻櫎鏈夋晥璁板綍 + userInviteValidRecordMapper.deleteByPrimaryKey(record.getId()); + } + + /** + * 鐩存帴绮変笣 -1 + * @param uid + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void reduceValidNumSecond(Long uid, Long workerId) { + UserInviteValidRecord record = userInviteValidRecordMapper.getByUidAndWorkerId(uid, workerId, + UserInviteValidRecord.TYPE_TWO); + if (record == null) { + return; + } + + UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid); + if (inviteValid != null) { + int num = 0; + if (inviteValid.getNumFirst() > 0) { + num = inviteValid.getNumSecond() - 1; + } + inviteValid.setId(uid); + inviteValid.setNumSecond(num); + inviteValid.setUpdateTime(new Date()); + userInviteValidNumMapper.updateByPrimaryKeySelective(inviteValid); + } + + // 鍒犻櫎鏈夋晥璁板綍 + userInviteValidRecordMapper.deleteByPrimaryKey(record.getId()); + } + + + /** * 闂存帴绮変笣 +1 * @param uid */ + @Transactional(rollbackFor = Exception.class) private void addNumSecond(Long uid) { UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid); if (inviteValid != null) { userInviteValidNumMapper.addNumSecond(uid, 1); } else { inviteValid = new UserInviteValidNum(); + inviteValid.setId(uid); inviteValid.setNumFirst(0); inviteValid.setNumSecond(1); inviteValid.setUpdateTime(new Date()); @@ -72,6 +137,7 @@ } @Override + @Transactional(rollbackFor = Exception.class) public void addValidTeamNum(Long uid, BigDecimal payment, Date payDate) { if (uid == null || payment == null || payDate == null) { return; @@ -101,7 +167,7 @@ } Long bossId = threeSale.getBoss().getId(); - String uniqueKey = StringUtil.Md5(bossId + "#" + uid + "#" + UserInviteValidRecord.TYPE_ONE); + String uniqueKey = StringUtil.Md5(uid + "#" + UserInviteValidRecord.TYPE_ONE); UserInviteValidRecord record = userInviteValidRecordMapper.selectByUniqueKey(uniqueKey); if (record == null) { record = new UserInviteValidRecord(); @@ -121,14 +187,14 @@ if (threeSaleSuper == null) { return; } - + // 闂存帴鍏崇郴 Long bossIdSuper = threeSaleSuper.getBoss().getId(); - String uniqueKeySuper = StringUtil.Md5(bossIdSuper + "#" + bossId + "#" + UserInviteValidRecord.TYPE_TWO); + String uniqueKeySuper = StringUtil.Md5(uid + "#" + UserInviteValidRecord.TYPE_TWO); UserInviteValidRecord recordSuper = userInviteValidRecordMapper.selectByUniqueKey(uniqueKeySuper); if (recordSuper == null) { recordSuper = new UserInviteValidRecord(); recordSuper.setUid(bossIdSuper); - recordSuper.setWorkerId(bossId); + recordSuper.setWorkerId(uid); recordSuper.setType(UserInviteValidRecord.TYPE_TWO); recordSuper.setUniqueKey(uniqueKeySuper); recordSuper.setCreateTime(new Date()); @@ -141,15 +207,5 @@ LogHelper.error(e); } } - - - - - - - - - - } -- Gitblit v1.8.0