|
|
|
@ -19,12 +19,13 @@ public class WalletAccountApplicationService { |
|
|
|
@Resource |
|
|
|
private WalletAccountAggregate walletAccountAggregate; |
|
|
|
|
|
|
|
public void confirmWithdraw(Long walletAccountId, BigDecimal withdrawAmount) { |
|
|
|
public void confirmWithdraw(Long walletAccountId, BigDecimal withdrawAmount, Long associateId) { |
|
|
|
WalletAccount walletAccount = walletAccountDao.selectById(walletAccountId); |
|
|
|
BigDecimal originalBalance = walletAccount.getTotalBalance(); |
|
|
|
walletAccount.setFrozenBalance(walletAccount.getFrozenBalance().subtract(withdrawAmount)); |
|
|
|
walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); |
|
|
|
WalletAccountRecord walletAccountRecord = WalletAccountRecord.build(TradeTypeEnum.WITHDRAW, withdrawAmount, false, originalBalance, walletAccount.getTotalBalance()); |
|
|
|
walletAccountRecord.setAssociateId(associateId); |
|
|
|
walletAccount.setRecordList(Collections.singletonList(walletAccountRecord)); |
|
|
|
walletAccountAggregate.save(walletAccount); |
|
|
|
} |
|
|
|
|