| | |
| | | |
| | | @Override |
| | | public void addBalance(BigDecimal amount, Long memberId) { |
| | | int i = 0; |
| | | boolean flag = true; |
| | | |
| | | while (flag) { |
| | | i++; |
| | | MallMemberWallet wallet = this.baseMapper.selectWalletByMemberId(memberId); |
| | | wallet.setBalance(wallet.getBalance().add(amount)); |
| | | |
| | | int result = this.baseMapper.updateBalanceWithVersion(wallet); |
| | | if (result > 0) { |
| | | flag = false; |
| | | } else { |
| | | if (i > 2) { |
| | | throw new FebsException("余额增加失败"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | while (flag) { |
| | | i++; |
| | | MallMemberWallet wallet = this.baseMapper.selectWalletByMemberId(memberId); |
| | | if (amount.compareTo(wallet.getBalance()) < 0) { |
| | | if (amount.compareTo(wallet.getBalance()) > 0) { |
| | | throw new FebsException("余额不足"); |
| | | } |
| | | |