From eb357bb9938d569734b04948695726b80c5dfb85 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Wed, 19 Nov 2025 10:40:27 +0800
Subject: [PATCH] 代理后台新增删除用户、提现审核
---
src/main/java/com/nq/controller/agent/AgentWithdrawController.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/nq/controller/agent/AgentWithdrawController.java b/src/main/java/com/nq/controller/agent/AgentWithdrawController.java
index 16f6bad..3ef01e0 100644
--- a/src/main/java/com/nq/controller/agent/AgentWithdrawController.java
+++ b/src/main/java/com/nq/controller/agent/AgentWithdrawController.java
@@ -6,6 +6,7 @@
import com.nq.service.IUserWithdrawService;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
@@ -20,6 +21,9 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
@Controller
@@ -38,4 +42,54 @@
public ServerResponse list(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "8") int pageSize, @RequestParam(value = "realName", required = false) String realName, @RequestParam(value = "state", required = false) Integer state, @RequestParam(value = "agentId", required = false) Integer agentId, HttpServletRequest request) {
return this.iUserWithdrawService.listByAgent(agentId, realName, state, request, pageNum, pageSize);
}
+
+ /**
+ *
+ * @param withId
+ * @param state 1.审核通过(走代付) 2.审核(不走代付) 3.驳回
+ * @param authMsg
+ * @return
+ */
+ //修改资金管理 提现列表 提现状态
+ @RequestMapping({"updateState.do"})
+ @ResponseBody
+ public ServerResponse updateState(@RequestParam(value = "withId", required = false) Integer withId,
+ @RequestParam(value = "state", required = false) Integer state,
+ @RequestParam(value = "authMsg", required = false) String authMsg,
+ HttpServletRequest request, HttpServletResponse response) {
+ ServerResponse serverResponse = null;
+ try {
+ String requestId = withId + "_" + state;
+ // 检查是否在短时间内重复请求
+ if (isDuplicateRequest(requestId)) {
+ return ServerResponse.createByErrorMsg("重复提交,请稍后再试。");
+ }
+
+ // 更新请求时间戳
+ requestTimestamps.put(requestId, System.currentTimeMillis());
+ synchronized (withId){
+ serverResponse = this.iUserWithdrawService.updateState(withId, state, authMsg,request,response);
+ }
+ } catch (Exception e) {
+ log.error("admin修改充值订单状态出错 ,异常 = {}", e);
+ return ServerResponse.createByErrorMsg("操作失败");
+ }
+ return serverResponse;
+ }
+ private final Map<String, Long> requestTimestamps = new ConcurrentHashMap<>();
+ private static final long REPEAT_REQUEST_THRESHOLD = 1000; // 5秒内重复提交视为无效请求
+ private boolean isDuplicateRequest(String requestId) {
+ Long lastRequestTime = requestTimestamps.get(requestId);
+ if (lastRequestTime == null) {
+ return false; // 如果没有该请求记录,认为是首次请求
+ }
+ // 如果请求时间小于设定的时间窗口,则视为重复请求
+ return System.currentTimeMillis() - lastRequestTime < REPEAT_REQUEST_THRESHOLD;
+ }
+
+ @RequestMapping({"deleteWithdraw.do"})
+ @ResponseBody
+ public ServerResponse deleteWithdraw(Integer withdrawId) {
+ return this.iUserWithdrawService.deleteWithdraw(withdrawId);
+ }
}
--
Gitblit v1.9.3