From e6ab7ce19477e96e0c2bbebc028f050527840590 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Mon, 28 Oct 2024 14:33:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=B3=A8preventRepeatSubmit?= =?UTF-8?q?=E8=A7=A3=E4=B8=AD=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aspect/PreventRepeatSubmitAspect.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/aspect/PreventRepeatSubmitAspect.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/aspect/PreventRepeatSubmitAspect.java index 78975585..d00c80d3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/aspect/PreventRepeatSubmitAspect.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/aspect/PreventRepeatSubmitAspect.java @@ -18,6 +18,7 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; +import java.util.Objects; import java.util.concurrent.TimeUnit; @Aspect @@ -46,9 +47,20 @@ public class PreventRepeatSubmitAspect { //获取请求参数 Object[] args = pjp.getArgs(); - String argStr = JSON.toJSONString(args); - //这里替换是为了在redis可视化工具中方便查看 - argStr=argStr.replace(":","#"); + String argStr = ""; + for (int i = 0; i < args.length; i++) { + Object obj = args[i]; + try { + if (Objects.nonNull(obj)) { + //这里替换是为了在redis可视化工具中方便查看, argStr=argStr.replace(":","#"); + argStr = JSON.toJSONString(obj).replace(":", "#"); + } + break; + } catch (Exception e) { + e.printStackTrace(); + } + } + // 唯一值(没有消息头则使用请求地址) String submitKey = request.getHeader(header).trim(); // 唯一标识(指定key + url +参数+token)