From bbe9dc7dc8826d0ccfdad7deb572d8e0200d8c0f Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期五, 16 六月 2023 01:48:19 +0800 Subject: [PATCH] update 优化代码结构 --- ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/MessageUtils.java | 7 +++ ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ServletUtils.java | 43 +++++++++++++++++++-- ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java | 25 ++++++------ ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java | 10 +---- 4 files changed, 60 insertions(+), 25 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java index de9a9bc..9a32afe 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java @@ -2,16 +2,14 @@ import cn.hutool.core.util.ArrayUtil; import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.SpringUtils; import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.scheduling.annotation.AsyncConfigurer; import org.springframework.scheduling.annotation.EnableAsync; import java.util.Arrays; import java.util.concurrent.Executor; -import java.util.concurrent.ScheduledExecutorService; /** * 寮傛閰嶇疆 @@ -22,16 +20,12 @@ @AutoConfiguration public class AsyncConfig implements AsyncConfigurer { - @Autowired - @Qualifier("scheduledExecutorService") - private ScheduledExecutorService scheduledExecutorService; - /** * 鑷畾涔� @Async 娉ㄨВ浣跨敤绯荤粺绾跨▼姹� */ @Override public Executor getAsyncExecutor() { - return scheduledExecutorService; + return SpringUtils.getBean("scheduledExecutorService"); } /** diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java index 00825c2..45c5bd1 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java @@ -22,18 +22,19 @@ */ @Bean public Validator validator(MessageSource messageSource) { - LocalValidatorFactoryBean factoryBean = new LocalValidatorFactoryBean(); - // 鍥介檯鍖� - factoryBean.setValidationMessageSource(messageSource); - // 璁剧疆浣跨敤 HibernateValidator 鏍¢獙鍣� - factoryBean.setProviderClass(HibernateValidator.class); - Properties properties = new Properties(); - // 璁剧疆 蹇�熷紓甯歌繑鍥� - properties.setProperty("hibernate.validator.fail_fast", "true"); - factoryBean.setValidationProperties(properties); - // 鍔犺浇閰嶇疆 - factoryBean.afterPropertiesSet(); - return factoryBean.getValidator(); + try (LocalValidatorFactoryBean factoryBean = new LocalValidatorFactoryBean()) { + // 鍥介檯鍖� + factoryBean.setValidationMessageSource(messageSource); + // 璁剧疆浣跨敤 HibernateValidator 鏍¢獙鍣� + factoryBean.setProviderClass(HibernateValidator.class); + Properties properties = new Properties(); + // 璁剧疆 蹇�熷紓甯歌繑鍥� + properties.setProperty("hibernate.validator.fail_fast", "true"); + factoryBean.setValidationProperties(properties); + // 鍔犺浇閰嶇疆 + factoryBean.afterPropertiesSet(); + return factoryBean.getValidator(); + } } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/MessageUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/MessageUtils.java index 6f3729b..48dfc08 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/MessageUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/MessageUtils.java @@ -3,6 +3,7 @@ import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.springframework.context.MessageSource; +import org.springframework.context.NoSuchMessageException; import org.springframework.context.i18n.LocaleContextHolder; /** @@ -23,6 +24,10 @@ * @return 鑾峰彇鍥介檯鍖栫炕璇戝�� */ public static String message(String code, Object... args) { - return MESSAGE_SOURCE.getMessage(code, args, LocaleContextHolder.getLocale()); + try { + return MESSAGE_SOURCE.getMessage(code, args, LocaleContextHolder.getLocale()); + } catch (NoSuchMessageException e) { + return code; + } } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ServletUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ServletUtils.java index 91e2990..a1316eb 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ServletUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ServletUtils.java @@ -10,6 +10,7 @@ import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.springframework.http.MediaType; +import org.springframework.util.LinkedCaseInsensitiveMap; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -19,6 +20,7 @@ import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.Collections; +import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -101,14 +103,22 @@ * 鑾峰彇request */ public static HttpServletRequest getRequest() { - return getRequestAttributes().getRequest(); + try { + return getRequestAttributes().getRequest(); + } catch (Exception e) { + return null; + } } /** * 鑾峰彇response */ public static HttpServletResponse getResponse() { - return getRequestAttributes().getResponse(); + try { + return getRequestAttributes().getResponse(); + } catch (Exception e) { + return null; + } } /** @@ -119,8 +129,33 @@ } public static ServletRequestAttributes getRequestAttributes() { - RequestAttributes attributes = RequestContextHolder.getRequestAttributes(); - return (ServletRequestAttributes) attributes; + try { + RequestAttributes attributes = RequestContextHolder.getRequestAttributes(); + return (ServletRequestAttributes) attributes; + } catch (Exception e) { + return null; + } + } + + public static String getHeader(HttpServletRequest request, String name) { + String value = request.getHeader(name); + if (StringUtils.isEmpty(value)) { + return StringUtils.EMPTY; + } + return urlDecode(value); + } + + public static Map<String, String> getHeaders(HttpServletRequest request) { + Map<String, String> map = new LinkedCaseInsensitiveMap<>(); + Enumeration<String> enumeration = request.getHeaderNames(); + if (enumeration != null) { + while (enumeration.hasMoreElements()) { + String key = enumeration.nextElement(); + String value = request.getHeader(key); + map.put(key, value); + } + } + return map; } /** -- Gitblit v1.9.3