From a8d2cb07f6440dc54dc4005b0b06d5a47cb1517d Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期一, 16 十二月 2024 13:34:03 +0800 Subject: [PATCH] 12.16 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 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 new file mode 100644 index 0000000..06caeb7 --- /dev/null +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java @@ -0,0 +1,61 @@ +package com.ruoyi.account.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.account.enums.WithdrawalAuditStatus; +import com.ruoyi.account.api.model.AppUser; +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.vo.WalletVO; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.other.api.domain.VipSetting; +import com.ruoyi.other.api.feignClient.RemoteVipSettingClient; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.List; + +@Service +public class WalletServiceImpl implements WalletService { + @Resource + private AppUserService appUserService; + @Resource + private RemoteVipSettingClient remoteVipSettingClient; + @Resource + private WithdrawalRequestsService withdrawalRequestsService; + + @Override + public WalletVO getWalletByUserId(Long userId) { + AppUser appUser = appUserService.getById(userId); + if (appUser == null) { + throw new RuntimeException("用户不存在"); + } + Integer vipId = appUser.getVipId(); + R<VipSetting> r = remoteVipSettingClient.getVipSettingById(vipId); + VipSetting data = r.getData(); + if (data == null) { + throw new RuntimeException("会员设置信息为空"); + } + + // 获取提现审核中的金额 + List<WithdrawalRequests> waitAuditList = withdrawalRequestsService.list(new LambdaQueryWrapper<WithdrawalRequests>() + .eq(WithdrawalRequests::getAppUserId, userId) + .eq(WithdrawalRequests::getAuditStatus, WithdrawalAuditStatus.WAIT_AUDIT)); + + WalletVO walletVO = new WalletVO(); + walletVO.setWithdrawalAmount(appUser.getWithdrawableAmount()); + walletVO.setWithdrawnAmount(appUser.getWithdrawnAmount()); + walletVO.setVipWithdrawalMinAmount(data.getVipWithdrawalMinAmount()); + walletVO.setTotalRechargeAmount(appUser.getTotalRechargeAmount()); + walletVO.setTotalRedPacketAmount(appUser.getTotalRedPacketAmount()); + walletVO.setTotalDistributionAmount(appUser.getTotalDistributionAmount()); + walletVO.setAuditAmount(waitAuditList.stream() + .map(WithdrawalRequests::getWithdrawalAmount) + .reduce(BigDecimal.ZERO, BigDecimal::add)); + walletVO.setBalance(appUser.getBalance()); + return walletVO; + } + +} -- Gitblit v1.7.1