From 82f1f5d0cf1b51a5d81915e842e01760f404fa74 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 20 十月 2021 13:07:16 +0800 Subject: [PATCH] update 优化xxl-job-admin相关pr代码 增加格式化日志输出与docker镜像 --- ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java | 40 ++++++++-------------------------------- 1 files changed, 8 insertions(+), 32 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 b91b2e3..41116d8 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 @@ -14,16 +14,12 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.Signature; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; -import org.aspectj.lang.annotation.Pointcut; -import org.aspectj.lang.reflect.MethodSignature; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; -import java.lang.reflect.Method; /** * 闃叉閲嶅鎻愪氦 @@ -40,20 +36,14 @@ private final RepeatSubmitProperties repeatSubmitProperties; private final LockTemplate lockTemplate; - // 閰嶇疆缁囧叆鐐� - @Pointcut("@annotation(com.ruoyi.common.annotation.RepeatSubmit)") - public void repeatSubmitPointCut() { - } - - @Before("repeatSubmitPointCut()") - public void doBefore(JoinPoint point) throws Throwable { - RepeatSubmit repeatSubmit = getAnnotationRateLimiter(point); + @Before("@annotation(repeatSubmit)") + public void doBefore(JoinPoint point, RepeatSubmit repeatSubmit) throws Throwable { // 濡傛灉娉ㄨВ涓嶄负0 鍒欎娇鐢ㄦ敞瑙f暟鍊� - long intervalTime = repeatSubmitProperties.getIntervalTime(); - if (repeatSubmit.intervalTime() > 0) { - intervalTime = repeatSubmit.timeUnit().toMillis(repeatSubmit.intervalTime()); + long interval = repeatSubmitProperties.getInterval(); + if (repeatSubmit.interval() > 0) { + interval = repeatSubmit.timeUnit().toMillis(repeatSubmit.interval()); } - if (intervalTime < 1000) { + if (interval < 1000) { throw new ServiceException("閲嶅鎻愪氦闂撮殧鏃堕棿涓嶈兘灏忎簬'1'绉�"); } HttpServletRequest request = ServletUtils.getRequest(); @@ -70,24 +60,10 @@ submitKey = SecureUtil.md5(submitKey + ":" + nowParams); // 鍞竴鏍囪瘑锛堟寚瀹歬ey + 娑堟伅澶达級 String cacheRepeatKey = Constants.REPEAT_SUBMIT_KEY + submitKey; - LockInfo lock = lockTemplate.lock(cacheRepeatKey, intervalTime, intervalTime / 2); + LockInfo lock = lockTemplate.lock(cacheRepeatKey, interval, interval / 2); if (lock == null) { - throw new ServiceException("涓嶅厑璁搁噸澶嶆彁浜わ紝璇风◢鍚庡啀璇�!"); + throw new ServiceException(repeatSubmit.message()); } - } - - /** - * 鏄惁瀛樺湪娉ㄨВ锛屽鏋滃瓨鍦ㄥ氨鑾峰彇 - */ - private RepeatSubmit getAnnotationRateLimiter(JoinPoint joinPoint) { - Signature signature = joinPoint.getSignature(); - MethodSignature methodSignature = (MethodSignature) signature; - Method method = methodSignature.getMethod(); - - if (method != null) { - return method.getAnnotation(RepeatSubmit.class); - } - return null; } } -- Gitblit v1.9.3