Browse Source

红娘订单

master
张彭杰 1 year ago
parent
commit
571b72212b
3 changed files with 21 additions and 6 deletions
  1. 12
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/walletaccount/valueobj/WalletAccountRecord.java
  2. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/walletaccount/WalletAccountApplicationService.java
  3. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java

12
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<WalletAccountRecord> {
@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;
}
}

3
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);
}

12
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);
}

Loading…
Cancel
Save