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 |   46 ++++++++++++++++++++++++++++++----------------
 1 files changed, 30 insertions(+), 16 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 fff9df9..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,34 +37,38 @@
 
     @Autowired
     private IDriverService driverService;
+    
+    @Resource
+    private RedisUtil redisUtil;
 
 
     /**
      * 账户余额提现操作
-     * @param money
-     * @param code
-     * @param name
      * @param request
      * @return
      */
     @ResponseBody
     @PostMapping("/api/withdrawal/withdrawal")
-    @ApiOperation(value = "账户余额提现", tags = {"司机端-个人中心"}, notes = "")
+    @ApiOperation(value = "账户余额提现【1.1】", tags = {"司机端-个人中心"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "提现金额", name = "money", required = true, dataType = "double"),
-            @ApiImplicitParam(value = "银行卡号", name = "code", required = true, dataType = "string"),
-            @ApiImplicitParam(value = "银行卡持有人姓名", name = "name", required = true, dataType = "string"),
-            @ApiImplicitParam(value = "开户行名称", name = "bankName", required = false, dataType = "string"),
             @ApiImplicitParam(value = "提现类型(1=活动收入提现,2=业务收入提现)", name = "type", required = true, dataType = "int"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil withdrawal(Double money, String code, String name, Integer type,String bankName, HttpServletRequest request){
+    public ResultUtil withdrawal(Double money, Integer type, String remark, Integer language, HttpServletRequest request){
         try {
             Integer uid = driverService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
-            return withdrawalService.withdrawal(money, code, name, uid, type,bankName);
+            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();
             return ResultUtil.runErr();
@@ -75,9 +84,9 @@
      */
     @ResponseBody
     @PostMapping("/base/withdrawal/withdrawalAudit")
-    public ResultUtil withdrawalAudit(Integer id, Integer state){
+    public ResultUtil withdrawalAudit(Integer id, Integer state, Integer language){
         try {
-            return withdrawalService.withdrawalAudit(id, state);
+            return withdrawalService.withdrawalAudit(id, state, language);
         }catch (Exception e){
             e.printStackTrace();
             return ResultUtil.runErr();
@@ -97,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 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(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