From 571b72212b00c5819c9ea1729cb1051459701504 Mon Sep 17 00:00:00 2001 From: Derran Date: Mon, 2 Dec 2024 13:55:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E5=A8=98=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../walletaccount/valueobj/WalletAccountRecord.java | 12 +++++++++++- .../WalletAccountApplicationService.java | 3 ++- .../service/reward/RewardApplicationService.java | 12 ++++++++---- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/walletaccount/valueobj/WalletAccountRecord.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/walletaccount/valueobj/WalletAccountRecord.java index 059e8c7..300c3f7 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/walletaccount/valueobj/WalletAccountRecord.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/walletaccount/valueobj/WalletAccountRecord.java @@ -26,16 +26,26 @@ public class WalletAccountRecord extends ValueObject { @ApiModelProperty("是否收入") private Boolean isIncome; + @ApiModelProperty("原始金额") + private BigDecimal originalBalance; + + @ApiModelProperty("当前金额") + private BigDecimal currentBalance; + @ApiModelProperty("备注") private String remark; public static WalletAccountRecord build(TradeTypeEnum tradeType, BigDecimal tradeAmount, - Boolean isIncome) { + Boolean isIncome, + BigDecimal originalBalance, + BigDecimal currentBalance) { WalletAccountRecord record = new WalletAccountRecord(); record.setTradeType(tradeType); record.setTradeAmount(tradeAmount); record.setIsIncome(isIncome); + record.setOriginalBalance(originalBalance); + record.setCurrentBalance(currentBalance); return record; } } 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 b68e200..01bfcdc 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 @@ -21,9 +21,10 @@ public class WalletAccountApplicationService { public void confirmWithdraw(Long walletAccountId, BigDecimal withdrawAmount) { 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); + WalletAccountRecord walletAccountRecord = WalletAccountRecord.build(TradeTypeEnum.WITHDRAW, withdrawAmount, false, originalBalance, walletAccount.getTotalBalance()); walletAccount.setRecordList(Collections.singletonList(walletAccountRecord)); walletAccountAggregate.save(walletAccount); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java index 9251f69..e558baf 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java @@ -90,9 +90,10 @@ public class RewardApplicationService { //钱包信息 WalletAccount walletAccount = walletAccountQueryService.queryByType(dto.getInitiatorUserId(), IdentityTypeEnum.INDIVIDUAL); + BigDecimal originalBalance = walletAccount.getTotalBalance(); walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().add(revenue)); walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); - WalletAccountRecord record = WalletAccountRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, revenue, true); + WalletAccountRecord record = WalletAccountRecord.build(TradeTypeEnum.MATCHMAKER_JOIN_RECOMMEND_FEE, revenue, true, originalBalance, walletAccount.getTotalBalance()); walletAccount.setRecordList(Collections.singletonList(record)); acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); } @@ -190,9 +191,10 @@ public class RewardApplicationService { revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); //钱包 WalletAccount walletAccount = walletAccountQueryService.queryByType(dto.getReceiver(), IdentityTypeEnum.INDIVIDUAL); + BigDecimal originalBalance = walletAccount.getTotalBalance(); walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().add(earnings)); walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); - WalletAccountRecord walletAccountRecord = WalletAccountRecord.build(tradeType, earnings, true); + WalletAccountRecord walletAccountRecord = WalletAccountRecord.build(tradeType, earnings, true, originalBalance, walletAccount.getTotalBalance()); walletAccount.setRecordList(Collections.singletonList(walletAccountRecord)); acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); } @@ -250,9 +252,10 @@ public class RewardApplicationService { revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); //钱包信息 WalletAccount walletAccount = walletAccountQueryService.queryByType(identityId, identityType); + BigDecimal originalBalance = walletAccount.getTotalBalance(); walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().add(revenue)); walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); - WalletAccountRecord record = WalletAccountRecord.build(tradeType, revenue, true); + WalletAccountRecord record = WalletAccountRecord.build(tradeType, revenue, true, originalBalance, walletAccount.getTotalBalance()); walletAccount.setRecordList(Collections.singletonList(record)); acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); } @@ -293,9 +296,10 @@ public class RewardApplicationService { revenueReward.setRecordList(Collections.singletonList(revenueRewardRecord)); WalletAccount walletAccount = walletAccountQueryService.queryByType(dto.getReceiver(), IdentityTypeEnum.INDIVIDUAL); + BigDecimal originalBalance = walletAccount.getTotalBalance(); walletAccount.setAvailableBalance(walletAccount.getAvailableBalance().add(earnings)); walletAccount.setTotalBalance(walletAccount.getAvailableBalance().add(walletAccount.getFrozenBalance())); - WalletAccountRecord record = WalletAccountRecord.build(tradeType, earnings, true); + WalletAccountRecord record = WalletAccountRecord.build(tradeType, earnings, true, originalBalance, walletAccount.getTotalBalance()); walletAccount.setRecordList(Collections.singletonList(record)); acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); }