From 2ed6444f45d227e2acc6de65c3e8b582440fb83a Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期四, 06 三月 2025 09:20:40 +0800 Subject: [PATCH] 迭代版本:2.28 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java | 26 +++++++++++++++++++++----- 1 files changed, 21 insertions(+), 5 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java index 146fbb7..d0e20c6 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java @@ -1,15 +1,15 @@ package com.ruoyi.account.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.other.api.enums.WithdrawalAuditStatus; import com.ruoyi.account.api.model.AppUser; +import com.ruoyi.account.api.model.AppUserGiveawayTemporary; +import com.ruoyi.account.api.model.BalanceChangeRecordCopy; import com.ruoyi.account.api.model.WithdrawalRequests; -import com.ruoyi.account.service.AppUserService; -import com.ruoyi.account.service.WalletService; -import com.ruoyi.account.service.WithdrawalRequestsService; +import com.ruoyi.account.service.*; import com.ruoyi.account.vo.WalletVO; import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.VipSetting; +import com.ruoyi.other.api.enums.WithdrawalAuditStatus; import com.ruoyi.other.api.feignClient.RemoteVipSettingClient; import org.springframework.stereotype.Service; @@ -25,6 +25,9 @@ private RemoteVipSettingClient remoteVipSettingClient; @Resource private WithdrawalRequestsService withdrawalRequestsService; + @Resource + private IAppUserGiveawayTemporaryService appUserGiveawayTemporaryService; + @Override public WalletVO getWalletByUserId(Long userId) { @@ -39,12 +42,23 @@ throw new RuntimeException("会员设置信息为空"); } + + List<AppUserGiveawayTemporary> list = appUserGiveawayTemporaryService.list(new LambdaQueryWrapper<AppUserGiveawayTemporary>().eq(AppUserGiveawayTemporary::getAppUserId, userId)); + BigDecimal commissionAmount = BigDecimal.ZERO; + if(list.size() > 0){ + commissionAmount = list.stream().map(AppUserGiveawayTemporary::getTotalDistributionAmount).reduce(BigDecimal.ZERO, BigDecimal::add); + } + // 获取提现审核中的金额 List<WithdrawalRequests> waitAuditList = withdrawalRequestsService.list(new LambdaQueryWrapper<WithdrawalRequests>() .eq(WithdrawalRequests::getAppUserId, userId) .eq(WithdrawalRequests::getAuditStatus, WithdrawalAuditStatus.WAIT_AUDIT.getCode())); BigDecimal reduce = waitAuditList.stream().map(WithdrawalRequests::getWithdrawalAmount).reduce(BigDecimal.ZERO, BigDecimal::add); + + WalletVO walletVO = new WalletVO(); + BigDecimal balance = appUser.getBalance(); + walletVO.setCommissionAmount(appUser.getTotalDistributionAmount().add(commissionAmount).setScale(2, BigDecimal.ROUND_HALF_UP)); walletVO.setWithdrawalAmount(appUser.getWithdrawableAmount()); walletVO.setWithdrawnAmount(appUser.getWithdrawnAmount().subtract(reduce)); walletVO.setVipWithdrawalMinAmount(data.getVipWithdrawalMinAmount()); @@ -52,8 +66,10 @@ walletVO.setTotalRedPacketAmount(appUser.getTotalRedPacketAmount()); walletVO.setTotalDistributionAmount(appUser.getTotalDistributionAmount()); walletVO.setAuditAmount(reduce); - walletVO.setBalance(appUser.getBalance()); + walletVO.setBalance(balance); return walletVO; } + + } -- Gitblit v1.7.1