From da247c61b715dafaba58e8dd4f106f0954f6cbf4 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期四, 09 十二月 2021 16:32:32 +0800 Subject: [PATCH] update 过滤离线用户 --- ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java index 71d438c..fd02a9b 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java @@ -1,13 +1,12 @@ package com.ruoyi.framework.aspectj; +import cn.dev33.satoken.SaManager; import cn.hutool.crypto.SecureUtil; -import com.baomidou.lock.LockInfo; -import com.baomidou.lock.LockTemplate; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.properties.TokenProperties; import com.ruoyi.common.utils.JsonUtils; +import com.ruoyi.common.utils.RedisUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.config.properties.RepeatSubmitProperties; @@ -25,6 +24,7 @@ import javax.servlet.http.HttpServletResponse; import java.util.Collection; import java.util.Map; +import java.util.concurrent.TimeUnit; /** * 闃叉閲嶅鎻愪氦 @@ -37,9 +37,7 @@ @Component public class RepeatSubmitAspect { - private final TokenProperties tokenProperties; private final RepeatSubmitProperties repeatSubmitProperties; - private final LockTemplate lockTemplate; @Before("@annotation(repeatSubmit)") public void doBefore(JoinPoint point, RepeatSubmit repeatSubmit) throws Throwable { @@ -58,15 +56,17 @@ String url = request.getRequestURI(); // 鍞竴鍊硷紙娌℃湁娑堟伅澶村垯浣跨敤璇锋眰鍦板潃锛� - String submitKey = request.getHeader(tokenProperties.getHeader()); + String submitKey = request.getHeader(SaManager.getConfig().getTokenName()); if (StringUtils.isEmpty(submitKey)) { submitKey = url; } submitKey = SecureUtil.md5(submitKey + ":" + nowParams); // 鍞竴鏍囪瘑锛堟寚瀹歬ey + 娑堟伅澶达級 String cacheRepeatKey = Constants.REPEAT_SUBMIT_KEY + submitKey; - LockInfo lock = lockTemplate.lock(cacheRepeatKey, interval, interval / 2); - if (lock == null) { + String key = RedisUtils.getCacheObject(cacheRepeatKey); + if (key == null) { + RedisUtils.setCacheObject(cacheRepeatKey, "", interval, TimeUnit.MILLISECONDS); + } else { throw new ServiceException(repeatSubmit.message()); } } -- Gitblit v1.9.3