From 5ccd9877b4ebdb5c17eae6d8b66e91872fb877b5 Mon Sep 17 00:00:00 2001
From: 若依 <yzz_ivy@163.com>
Date: Sat, 18 Sep 2021 18:47:06 +0800
Subject: [PATCH] !325 update 优化aop语法 使用spring自动注入注解 基于注解拦截的aop注解不可能为空 Merge pull request !325 from 疯狂的狮子Li/master
---
ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java | 23 +++++++++++++++++------
1 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
index 36e6c10..3e82309 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
@@ -51,8 +51,12 @@
@Override
public boolean isRepeatSubmit(HttpServletRequest request)
{
- RepeatedlyRequestWrapper repeatedlyRequest = (RepeatedlyRequestWrapper) request;
- String nowParams = HttpHelper.getBodyString(repeatedlyRequest);
+ String nowParams = "";
+ if (request instanceof RepeatedlyRequestWrapper)
+ {
+ RepeatedlyRequestWrapper repeatedlyRequest = (RepeatedlyRequestWrapper) request;
+ nowParams = HttpHelper.getBodyString(repeatedlyRequest);
+ }
// body参数为空,获取Parameter的数据
if (StringUtils.isEmpty(nowParams))
@@ -66,10 +70,17 @@
// 请求地址(作为存放cache的key值)
String url = request.getRequestURI();
- // 唯一标识(指定key + 消息头)
- String cache_repeat_key = Constants.REPEAT_SUBMIT_KEY + request.getHeader(header);
+ // 唯一值(没有消息头则使用请求地址)
+ String submitKey = request.getHeader(header);
+ if (StringUtils.isEmpty(submitKey))
+ {
+ submitKey = url;
+ }
- Object sessionObj = redisCache.getCacheObject(cache_repeat_key);
+ // 唯一标识(指定key + 消息头)
+ String cacheRepeatKey = Constants.REPEAT_SUBMIT_KEY + submitKey;
+
+ Object sessionObj = redisCache.getCacheObject(cacheRepeatKey);
if (sessionObj != null)
{
Map<String, Object> sessionMap = (Map<String, Object>) sessionObj;
@@ -84,7 +95,7 @@
}
Map<String, Object> cacheMap = new HashMap<String, Object>();
cacheMap.put(url, nowDataMap);
- redisCache.setCacheObject(cache_repeat_key, cacheMap, intervalTime, TimeUnit.SECONDS);
+ redisCache.setCacheObject(cacheRepeatKey, cacheMap, intervalTime, TimeUnit.SECONDS);
return false;
}
--
Gitblit v1.9.2