| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | 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.BalanceChangeRecordCopyService; |
| | | 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; |
| | |
| | | @Resource |
| | | private WithdrawalRequestsService withdrawalRequestsService; |
| | | @Resource |
| | | private BalanceChangeRecordCopyService balanceChangeRecordCopyService; |
| | | private IAppUserGiveawayTemporaryService appUserGiveawayTemporaryService; |
| | | |
| | | |
| | | @Override |
| | |
| | | throw new RuntimeException("会员设置信息为空"); |
| | | } |
| | | |
| | | List<BalanceChangeRecordCopy> recordCopies = balanceChangeRecordCopyService.list(new LambdaQueryWrapper<BalanceChangeRecordCopy>() |
| | | .eq(BalanceChangeRecordCopy::getAppUserId, userId) |
| | | .eq(BalanceChangeRecordCopy::getChangeType, 4)); |
| | | |
| | | BigDecimal commissionAmount = recordCopies.stream() |
| | | .map(BalanceChangeRecordCopy::getChangeAmount) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | |
| | | |
| | | 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>() |
| | |
| | | |
| | | WalletVO walletVO = new WalletVO(); |
| | | BigDecimal balance = appUser.getBalance(); |
| | | walletVO.setCommissionAmount(commissionAmount); |
| | | 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()); |