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