From 8b09fbc19a96b57bf1d0e4d7c79b51a76aeca554 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 28 三月 2025 19:57:56 +0800
Subject: [PATCH] 修改bug

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
index a918143..10dc9da 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
@@ -1,10 +1,14 @@
 package com.stylefeng.guns.modular.api;
 
 
+import com.stylefeng.guns.core.util.MD5Util;
+import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.model.Withdrawal;
 import com.stylefeng.guns.modular.system.service.IDriverService;
 import com.stylefeng.guns.modular.system.service.IWithdrawalService;
+import com.stylefeng.guns.modular.system.util.RedisUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.stylefeng.guns.modular.system.warpper.WithdrawalListWarpper;
 import com.stylefeng.guns.modular.system.warpper.WithdrawalWarpper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -16,6 +20,7 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 
@@ -32,6 +37,9 @@
 
     @Autowired
     private IDriverService driverService;
+    
+    @Resource
+    private RedisUtil redisUtil;
 
 
     /**
@@ -53,6 +61,13 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
+            String format = String.format("uid=%s&money=%s&type=%s", uid, money, type);
+            String key = MD5Util.encrypt(format);
+            String value = redisUtil.getValue(key);
+            if(ToolUtil.isNotEmpty(value) && (System.currentTimeMillis() - Long.valueOf(value)) <= 1000){
+                return ResultUtil.error(language == 1 ? "请勿重复操作" : language == 2 ? "Don't repeat the operation" : "Ne répétez pas l’opération");
+            }
+            redisUtil.setStrValue(key, System.currentTimeMillis() + "", 5);
             return withdrawalService.withdrawal(money, uid, type, remark, language);
         }catch (Exception e){
             e.printStackTrace();
@@ -91,21 +106,26 @@
      */
     @ResponseBody
     @PostMapping("/api/withdrawal/queryWithdrawal")
-    @ApiOperation(value = "获取历史提现数据", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "获取历史提现数据【2.0】", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "页码,首页1", name = "pageNum", required = true, dataType = "int"),
             @ApiImplicitParam(value = "页条数", name = "size", required = true, dataType = "int"),
-            @ApiImplicitParam(value = "提现类型(1=活动收入提现,2=业务收入提现)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "体现类型(1=活动收入提现,2=业务收入提现)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "状态(1=处理中,2=已提现,3=提现失败)", name = "state", required = false, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<List<WithdrawalWarpper>> queryWithdrawal(Integer language, Integer pageNum, Integer size, Integer type, HttpServletRequest request){
+    public ResultUtil<WithdrawalWarpper> queryWithdrawal(Integer language, Integer pageNum, Integer size, Integer type, Integer state, HttpServletRequest request){
         try {
             Integer uid = driverService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            List<Map<String, Object>> list = withdrawalService.queryWithdrawal(language, uid, type, pageNum, size);
-            return ResultUtil.success(WithdrawalWarpper.getWithdrawalWarpper(list));
+            List<Map<String, Object>> list = withdrawalService.queryWithdrawal(language, uid, type, state, pageNum, size);
+            List<WithdrawalListWarpper> withdrawalWarpper = WithdrawalListWarpper.getWithdrawalWarpper(list);
+            WithdrawalWarpper withdrawalWarpper1 = new WithdrawalWarpper();
+            withdrawalWarpper1.setTotal(withdrawalService.queryWithdrawalSum(uid, type));
+            withdrawalWarpper1.setList(withdrawalWarpper);
+            return ResultUtil.success(withdrawalWarpper1);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();

--
Gitblit v1.7.1