From 4db8023227b3900740b8be361c436ddadb1d0585 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 14 一月 2025 08:42:06 +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/controller/WithdrawalRequestsController.java |   31 ++++++++++++++++++-------------
 1 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java
index 7522ff0..bea2770 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java
@@ -16,6 +16,7 @@
 import com.ruoyi.account.util.payment.model.SinglePay;
 import com.ruoyi.account.util.payment.model.SinglePayCallbackResult;
 import com.ruoyi.account.util.payment.model.SinglePayResult;
+import com.ruoyi.account.vo.WithdrawalAuth;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import io.swagger.annotations.Api;
@@ -78,27 +79,29 @@
     
     @PostMapping("/auth")
     @ApiOperation(value = "提现申请审批", tags = {"后台"})
-    public R auth(@RequestParam("id") Long id,@ApiParam("2'审核通过',3'审核拒绝'") @RequestParam("auditStatus") Integer auditStatus){
-        WithdrawalRequests withdrawal = withdrawalRequestsService.getById(id);
+    public R auth(@RequestBody WithdrawalAuth withdrawalAuth){
+        WithdrawalRequests withdrawal = withdrawalRequestsService.getById(withdrawalAuth.getId());
         BigDecimal withdrawalAmount = withdrawal.getWithdrawalAmount();
         if(withdrawal.getAuditStatus() != 1){
             return R.fail("不能重复审核");
         }
+        Integer auditStatus = withdrawalAuth.getAuditStatus();
         if (auditStatus==2){
-            //先检查账户余额是否充足
-            AccountBalanceQueryResult accountBalanceQueryResult = TransferUtil.accountBalanceQuery();
-            if(null == accountBalanceQueryResult){
-                return R.fail("查询账户余额出错");
-            }
-            Double useAbleSettAmount = accountBalanceQueryResult.getUseAbleSettAmount();
-            if(useAbleSettAmount < withdrawal.getArrivalAmount().doubleValue()){
-                return R.fail("账户可用余额不足,请先补充账户余额");
-            }
             //执行转账操作
             if(withdrawal.getWithdrawalMethod() == 2){
+                //先检查账户余额是否充足
+                AccountBalanceQueryResult accountBalanceQueryResult = TransferUtil.accountBalanceQuery();
+                if(null == accountBalanceQueryResult){
+                    return R.fail("查询账户余额出错");
+                }
+                Double useAbleSettAmount = accountBalanceQueryResult.getUseAbleSettAmount();
+                //计算代付手续费
+                if(useAbleSettAmount < (withdrawal.getArrivalAmount().doubleValue() + 1)){
+                    return R.fail("账户可用余额不足,请先补充账户余额");
+                }
                 //银行卡转账
                 SinglePay singlePay = new SinglePay();
-                singlePay.setTradeMerchantNo("");
+                singlePay.setTradeMerchantNo(TransferUtil.sysTradeMerchantNo);
                 singlePay.setMerchantOrderNo(withdrawal.getId().toString());
                 singlePay.setReceiverAccountNoEnc(withdrawal.getBankCardNumber());
                 singlePay.setReceiverNameEnc(withdrawal.getAccountHolder());
@@ -114,6 +117,7 @@
                 withdrawal.setStatus(1);
             }else{
                 //微信转账
+                return R.fail("微信转账开发中");
             }
         }
         if(3 == auditStatus){
@@ -130,6 +134,7 @@
             //添加变动明细
             BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
             balanceChangeRecord.setAppUserId(appUser.getId());
+            balanceChangeRecord.setVipId(appUser.getVipId());
             balanceChangeRecord.setOrderId(withdrawal.getId());
             balanceChangeRecord.setChangeType(2);
             balanceChangeRecord.setBeforeAmount(balance);
@@ -153,7 +158,7 @@
     @PostMapping("/withdrawalCallback")
     public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){
         Integer status = singlePayCallbackResult.getStatus();
-        if(203 == status){
+        if(203 == status || 205 == status){
             String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo();
             WithdrawalRequests withdrawalRequests = withdrawalRequestsService.getById(merchantOrderNo);
             if(1 == withdrawalRequests.getStatus()){

--
Gitblit v1.7.1