From cda724da35beb1ffd84955cc42bda5ab399ebbe1 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 09 四月 2025 18:27:38 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/JiaDianHuiShou

---
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java
index d6b83d1..1e2bd89 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.order.api.entity.Withdraw;
 import com.ruoyi.order.api.entity.WithdrawDetailVO;
@@ -21,6 +22,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.util.concurrent.TimeUnit;
 
 /**
  * <p>
@@ -41,6 +43,8 @@
     private TokenService tokenService;
     @Resource
     private WithdrawClient withdrawClient;
+    @Resource
+    private RedisService redisService;
 
     @GetMapping("/withdrawList")
     @ApiOperation(value = "提现列表", tags = {"用户端-个人中心-提现"})
@@ -68,12 +72,24 @@
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", dataType = "Integer", required = true)
     })
-    public R<Boolean> confirmWithdraw(@RequestParam String orderId) {
+
+    public synchronized R<Boolean> confirmWithdraw(@RequestParam String orderId) {
         LoginUserInfo loginUser = tokenService.getLoginUserByUser();
         if (null == loginUser) {
             return R.loginExpire("登录失效!");
         }
-        return R.ok(withdrawService.confirmWithdraw(orderId, loginUser.getUserid()));
+        if (redisService.hasKey(orderId)) {
+            return R.fail("该笔订单已申请提现");
+//            return R.repeatedSubmission("请勿重复提交!");
+        }
+        redisService.setCacheObject(orderId, "1", 10L, TimeUnit.SECONDS);
+        Boolean b = withdrawService.confirmWithdraw(orderId, loginUser.getUserid());
+
+        if (b){
+            return R.ok();
+        }else {
+            return R.fail("该笔订单已申请提现");
+        }
     }
 
     @GetMapping("/withdrawRecord")

--
Gitblit v1.7.1