From 20bf12dc209329b29ac96d01efabaa3a0ff30cb2 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期日, 26 一月 2025 17:27:31 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WithdrawalRequestsServiceImpl.java | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WithdrawalRequestsServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WithdrawalRequestsServiceImpl.java
index 8c63510..fbf8840 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WithdrawalRequestsServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WithdrawalRequestsServiceImpl.java
@@ -53,33 +53,36 @@
@Override
public void withdrawalApply(WithdrawalRequestsDTO params) {
BigDecimal withdrawalAmount = params.getWithdrawalAmount();
- if (withdrawalAmount.compareTo(MAX_WITHDRAWAL_AMOUNT) > 0) {
+ if (withdrawalAmount.compareTo(MAX_WITHDRAWAL_AMOUNT) > 0 && params.getWithdrawalMethod().equals(1)) {
throw new ServiceException("提现失败,单次提现金额不能超过200元!");
}
LoginUser loginUserApplet = tokenService.getLoginUserApplet();
AppUser appUser = appUserService.getById(loginUserApplet.getUserid());
+ Integer vipId = appUser.getVipId();
+ VipSetting vipSetting = vipSettingService.getVipSettingById(vipId);
+ BigDecimal withdrawableAmount = appUser.getWithdrawableAmount();
+
+ BigDecimal vipWithdrawalMinAmount = vipSetting.getVipWithdrawalMinAmount();
+ if (vipWithdrawalMinAmount.compareTo(withdrawableAmount) > 0) {
+ throw new ServiceException("提现失败,提现门槛为:"+vipWithdrawalMinAmount+"元!");
+ }
+
if (appUser.getWithdrawableAmount().compareTo(withdrawalAmount) < 0) {
throw new ServiceException("提现失败,可提现金额不足!");
}
- Integer vipId = appUser.getVipId();
- VipSetting vipSetting = vipSettingService.getVipSettingById(vipId);
+
if (vipSetting.getVipWithdrawalRole() == 0) {
throw new ServiceException("提现失败,当前会员等级不允许提现!");
}
- BigDecimal vipWithdrawalMinAmount = vipSetting.getVipWithdrawalMinAmount();
- if (withdrawalAmount.compareTo(vipWithdrawalMinAmount) < 0) {
- throw new ServiceException("提现失败,提现金额不能小于" + vipWithdrawalMinAmount + "元!");
- }
-
+
// 提现手续费
BigDecimal vipWithdrawalFee = vipSetting.getVipWithdrawalFee()
.divide(VIP_WITHDRAWAL_FEE_DENOMINATOR, 2, RoundingMode.HALF_UP);
// 减去手续费
BigDecimal multiply = params.getWithdrawalAmount().multiply(vipWithdrawalFee);
- params.setWithdrawalAmount(params.getWithdrawalAmount()
- .subtract(multiply));
+ params.setWithdrawalAmount(params.getWithdrawalAmount().subtract(multiply));
WithdrawalRequests withdrawalRequests = new WithdrawalRequests();
BeanUtils.copyBeanProp(withdrawalRequests, params);
@@ -92,14 +95,13 @@
withdrawalRequests.setBankCardNumber(appUserBank.getBankNumber());
}
withdrawalRequests.setWithdrawalAmount(withdrawalAmount);
- withdrawalRequests.setArrivalAmount(withdrawalRequests.getWithdrawalAmount());
+ withdrawalRequests.setArrivalAmount(params.getWithdrawalAmount());
withdrawalRequests.setServiceCharge(multiply);
withdrawalRequests.setDelFlag(0);
withdrawalRequests.setAppUserId(SecurityUtils.getUserId());
withdrawalRequests.setAuditStatus(1);
save(withdrawalRequests);
//修改用户的可提现金额
- BigDecimal withdrawableAmount = appUser.getWithdrawableAmount();
BigDecimal withdrawnAmount = appUser.getWithdrawnAmount();
BigDecimal balance = appUser.getBalance();
appUser.setWithdrawableAmount(withdrawableAmount.subtract(withdrawalAmount).setScale(2, RoundingMode.HALF_EVEN));
--
Gitblit v1.7.1