优化防重复提交拦截器,请求没有消息头则使用地址
This commit is contained in:
parent
8bbe60975a
commit
f9006bdc0b
@ -6,7 +6,6 @@ import java.util.concurrent.TimeUnit;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.http.MediaType;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.ruoyi.common.constant.Constants;
|
import com.ruoyi.common.constant.Constants;
|
||||||
@ -71,8 +70,15 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor
|
|||||||
// 请求地址(作为存放cache的key值)
|
// 请求地址(作为存放cache的key值)
|
||||||
String url = request.getRequestURI();
|
String url = request.getRequestURI();
|
||||||
|
|
||||||
|
// 唯一值(没有消息头则使用请求地址)
|
||||||
|
String submitKey = request.getHeader(header);
|
||||||
|
if (StringUtils.isEmpty(submitKey))
|
||||||
|
{
|
||||||
|
submitKey = url;
|
||||||
|
}
|
||||||
|
|
||||||
// 唯一标识(指定key + 消息头)
|
// 唯一标识(指定key + 消息头)
|
||||||
String cache_repeat_key = Constants.REPEAT_SUBMIT_KEY + request.getHeader(header);
|
String cache_repeat_key = Constants.REPEAT_SUBMIT_KEY + submitKey;
|
||||||
|
|
||||||
Object sessionObj = redisCache.getCacheObject(cache_repeat_key);
|
Object sessionObj = redisCache.getCacheObject(cache_repeat_key);
|
||||||
if (sessionObj != null)
|
if (sessionObj != null)
|
||||||
|
Loading…
Reference in New Issue
Block a user