From 84de5a5d42d8540f9e5867b2feba1c334cf4f6ba Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期日, 09 十月 2022 09:26:18 +0800
Subject: [PATCH] update redisson 3.17.6 => 3.17.7 修复设置NameMapper导致队列功能异常问题
---
ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java | 37 ++++++++++++++++++++++++++++++-------
1 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
index 90b265e..e04d528 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
@@ -8,8 +8,11 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.exception.DemoModeException;
import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.StreamUtils;
import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.MyBatisSystemException;
import org.springframework.context.support.DefaultMessageSourceResolvable;
+import org.springframework.dao.DuplicateKeyException;
import org.springframework.validation.BindException;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
@@ -19,7 +22,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
-import java.util.stream.Collectors;
/**
* 鍏ㄥ眬寮傚父澶勭悊鍣�
@@ -72,6 +74,31 @@
}
/**
+ * 涓婚敭鎴朥NIQUE绱㈠紩锛屾暟鎹噸澶嶅紓甯�
+ */
+ @ExceptionHandler(DuplicateKeyException.class)
+ public R<Void> handleDuplicateKeyException(DuplicateKeyException e, HttpServletRequest request) {
+ String requestURI = request.getRequestURI();
+ log.error("璇锋眰鍦板潃'{}',鏁版嵁搴撲腑宸插瓨鍦ㄨ褰�'{}'", requestURI, e.getMessage());
+ return R.fail("鏁版嵁搴撲腑宸插瓨鍦ㄨ璁板綍锛岃鑱旂郴绠$悊鍛樼‘璁�");
+ }
+
+ /**
+ * Mybatis绯荤粺寮傚父 閫氱敤澶勭悊
+ */
+ @ExceptionHandler(MyBatisSystemException.class)
+ public R<Void> handleCannotFindDataSourceException(MyBatisSystemException e, HttpServletRequest request) {
+ String requestURI = request.getRequestURI();
+ String message = e.getMessage();
+ if (message.contains("CannotFindDataSourceException")) {
+ log.error("璇锋眰鍦板潃'{}', 鏈壘鍒版暟鎹簮", requestURI);
+ return R.fail("鏈壘鍒版暟鎹簮锛岃鑱旂郴绠$悊鍛樼‘璁�");
+ }
+ log.error("璇锋眰鍦板潃'{}', Mybatis绯荤粺寮傚父", requestURI, e);
+ return R.fail(message);
+ }
+
+ /**
* 涓氬姟寮傚父
*/
@ExceptionHandler(ServiceException.class)
@@ -107,9 +134,7 @@
@ExceptionHandler(BindException.class)
public R<Void> handleBindException(BindException e) {
log.error(e.getMessage(), e);
- String message = e.getAllErrors().stream()
- .map(DefaultMessageSourceResolvable::getDefaultMessage)
- .collect(Collectors.joining(", "));
+ String message = StreamUtils.join(e.getAllErrors(), DefaultMessageSourceResolvable::getDefaultMessage, ", ");
return R.fail(message);
}
@@ -119,9 +144,7 @@
@ExceptionHandler(ConstraintViolationException.class)
public R<Void> constraintViolationException(ConstraintViolationException e) {
log.error(e.getMessage(), e);
- String message = e.getConstraintViolations().stream()
- .map(ConstraintViolation::getMessage)
- .collect(Collectors.joining(", "));
+ String message = StreamUtils.join(e.getConstraintViolations(), ConstraintViolation::getMessage, ", ");
return R.fail(message);
}
--
Gitblit v1.9.3