diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/walletaccount/WalletAccountApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/walletaccount/WalletAccountApplicationService.java index 0c288ab..b68e200 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/walletaccount/WalletAccountApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/walletaccount/WalletAccountApplicationService.java @@ -27,4 +27,12 @@ public class WalletAccountApplicationService { walletAccount.setRecordList(Collections.singletonList(walletAccountRecord)); walletAccountAggregate.save(walletAccount); } + + public void failWithdraw(Long walletAccountId, BigDecimal withdrawAmount) { + WalletAccount walletAccount = walletAccountDao.selectById(walletAccountId); + walletAccount.setFrozenBalance(walletAccount.getFrozenBalance().subtract(withdrawAmount)); + walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().add(withdrawAmount)); + walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); + walletAccountAggregate.save(walletAccount); + } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/withdrawaudit/WithdrawAuditEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/withdrawaudit/WithdrawAuditEventHandler.java index a75e54e..ca5a9a0 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/withdrawaudit/WithdrawAuditEventHandler.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/withdrawaudit/WithdrawAuditEventHandler.java @@ -28,6 +28,8 @@ public class WithdrawAuditEventHandler extends BaseApplicationService { WithdrawAudit withdrawAudit = withdrawAuditDao.selectById(event.getId()); if (WithdrawAuditStatus.PASS_VERIFICATION.equals(withdrawAudit.getStatus())) { walletAccountApplicationService.confirmWithdraw(withdrawAudit.getWalletAccountId(), withdrawAudit.getWithdrawAmount()); + }else if (WithdrawAuditStatus.AUDIT_FAILURE.equals(withdrawAudit.getStatus())) { + walletAccountApplicationService.failWithdraw(withdrawAudit.getWalletAccountId(), withdrawAudit.getWithdrawAmount()); } } catch (Exception e) { log.error("提现申请审核事件处理异常");