diff --git a/src/main/java/com/ruoyi/mybasic/service/Impl/InvitationServiceImpl.java b/src/main/java/com/ruoyi/mybasic/service/Impl/InvitationServiceImpl.java index 20953d6..e49abca 100644 --- a/src/main/java/com/ruoyi/mybasic/service/Impl/InvitationServiceImpl.java +++ b/src/main/java/com/ruoyi/mybasic/service/Impl/InvitationServiceImpl.java @@ -3,7 +3,6 @@ package com.ruoyi.mybasic.service.Impl; import com.ruoyi.mybasic.api.domain.Purse; import com.ruoyi.mybasic.api.domain.UserMoneyLogs; import com.ruoyi.mybasic.common.domain.request.RequestInvitationRecord; -import com.ruoyi.mybasic.common.domain.response.PurseResponse; import com.ruoyi.mybasic.mapper.InvitationMapper; import com.ruoyi.mybasic.service.InvitationService; import com.ruoyi.mybasic.service.PurseServiceTwo; @@ -12,6 +11,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.concurrent.locks.ReentrantLock; /** * @ClassName InvitationServiceImpl @@ -53,34 +53,46 @@ public class InvitationServiceImpl implements InvitationService { //邀请人id Integer userId = requestInvitationRecord.getUserId(); - //修改邀请人钱包 (1.可用余额+300 2.总计收入+300 3.修改时间) - i = invitationMapper.updateUserPurse(userId); - if (i < 0){ - throw new RuntimeException("获利金额未增加到可用余额"); - } - //同时添加钱包变更记录表 - UserMoneyLogs PurseMoneyLogs = new UserMoneyLogs(); - PurseMoneyLogs.setUserId(userId); - PurseMoneyLogs.setMoneyTypeName("NEW_USER_INVITE"); - PurseMoneyLogs.setStatus(2); - PurseMoneyLogs.setAmountIncome(300); - PurseMoneyLogs.setCreateTime(new Date()); - invitationMapper.insertUserMoneyLogs(PurseMoneyLogs); + //创建锁 + ReentrantLock reentrantLock = new ReentrantLock(); + //加锁 + reentrantLock.lock(); + try{ + //修改邀请人钱包 (1.可用余额+300 2.总计收入+300 3.修改时间) + i = invitationMapper.updateUserPurse(userId); + if (i < 0){ + throw new RuntimeException("获利金额未增加到可用余额"); + } + //同时添加钱包变更记录表 + UserMoneyLogs PurseMoneyLogs = new UserMoneyLogs(); + PurseMoneyLogs.setUserId(userId); + PurseMoneyLogs.setMoneyTypeName("NEW_USER_INVITE"); + PurseMoneyLogs.setStatus(2); + PurseMoneyLogs.setAmountIncome(300); + PurseMoneyLogs.setCreateTime(new Date()); + invitationMapper.insertUserMoneyLogs(PurseMoneyLogs); - //修改被邀请人钱包 (1.可用余额+300 2.总计收入+300 3.修改时间) - i = invitationMapper.updateUserPurse(userPid); - if (i < 0){ - throw new RuntimeException("获利金额未增加到可用余额"); + //修改被邀请人钱包 (1.可用余额+300 2.总计收入+300 3.修改时间) + i = invitationMapper.updateUserPurse(userPid); + if (i < 0){ + throw new RuntimeException("获利金额未增加到可用余额"); + } + //同时添加钱包变更记录表 + UserMoneyLogs PurseMoneyLogsTwo = new UserMoneyLogs(); + PurseMoneyLogsTwo.setUserId(userPid); + PurseMoneyLogsTwo.setMoneyTypeName("NEW_USER_INVITE"); + PurseMoneyLogsTwo.setStatus(2); + PurseMoneyLogsTwo.setAmountIncome(300); + PurseMoneyLogsTwo.setCreateTime(new Date()); + invitationMapper.insertUserMoneyLogs(PurseMoneyLogsTwo); + + }finally { + //解锁 + reentrantLock.unlock(); } - //同时添加钱包变更记录表 - UserMoneyLogs PurseMoneyLogsTwo = new UserMoneyLogs(); - PurseMoneyLogsTwo.setUserId(userPid); - PurseMoneyLogsTwo.setMoneyTypeName("NEW_USER_INVITE"); - PurseMoneyLogsTwo.setStatus(2); - PurseMoneyLogsTwo.setAmountIncome(300); - PurseMoneyLogsTwo.setCreateTime(new Date()); - invitationMapper.insertUserMoneyLogs(PurseMoneyLogsTwo); + + } diff --git a/src/main/java/com/ruoyi/mybasic/util/BankScan.java b/src/main/java/com/ruoyi/mybasic/util/BankScan.java index 3afc285..2caac22 100644 --- a/src/main/java/com/ruoyi/mybasic/util/BankScan.java +++ b/src/main/java/com/ruoyi/mybasic/util/BankScan.java @@ -1,8 +1,6 @@ package com.ruoyi.mybasic.util; import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.JSONPObject; -import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.mybasic.common.domain.BankConfig; @@ -13,11 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; -import java.io.IOException; import java.io.OutputStream; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; /** @@ -96,7 +91,6 @@ public class BankScan { bankConfig.setBankName(bankConfig1.getBankName()); bankConfig.setBankId(bankConfig1.getBankId()); bankConfig.setUserId(SecurityUtils.getUserId()); - //绑定银行卡 添加到银行卡表中 messageMapper.addBank(bankConfig);