From d2ce4553e18131b9a60d7be53c496f0cbce699ca Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期五, 08 九月 2023 14:47:47 +0800
Subject: [PATCH] 修改bug
---
framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
index 976777b..d449a4e 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
@@ -1,7 +1,10 @@
package com.yuanchu.limslaboratory.handler;
+import com.yuanchu.limslaboratory.exception.ApplicationException;
+import com.yuanchu.limslaboratory.exception.AuthException;
import com.yuanchu.limslaboratory.exception.MyFileException;
import com.yuanchu.limslaboratory.utils.MyUtil;
+import com.yuanchu.limslaboratory.utils.ServletUtils;
import com.yuanchu.limslaboratory.vo.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException;
@@ -10,17 +13,27 @@
import org.springframework.beans.TypeMismatchException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.dao.DataAccessException;
+import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.DuplicateKeyException;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.http.converter.HttpMessageNotWritableException;
import org.springframework.jdbc.BadSqlGrammarException;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.multipart.MultipartException;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.net.BindException;
import java.sql.SQLException;
+import java.sql.SQLIntegrityConstraintViolationException;
+import java.util.List;
+import java.util.stream.Collectors;
@Slf4j
@@ -51,6 +64,11 @@
log.error(String.valueOf(e));
String message = e.getCause().getMessage();
String[] split = message.split("'");
+ String servletPath = ServletUtils.getRequest().getServletPath();
+ System.out.println(servletPath);
+ if("/user/add_new_personnel".equals(servletPath)){
+ return Result.fail("璐﹀彿閲嶅锛屾坊鍔犲け璐ワ紝璇锋牳瀵瑰悗鎿嶄綔銆�");
+ }
return Result.fail("閲嶅娣诲姞锛氥��" + split[1] + "銆戞搷浣滃け璐ワ紒");
}
@@ -85,6 +103,7 @@
e.printStackTrace();
return Result.fail("鏁板瓧鏍煎紡寮傚父");
}
+
/** 瀹夊叏寮傚父 */
@ExceptionHandler(SecurityException.class)
public Result<?> SecurityException(SecurityException e) {
@@ -119,6 +138,7 @@
e.printStackTrace();
return Result.fail("鏁扮粍瓒婄晫寮傚父");
}
+
/** sql璇硶閿欒寮傚父 */
@ExceptionHandler(BadSqlGrammarException.class)
public Result<?> BadSqlGrammarException(BadSqlGrammarException e) {
@@ -191,10 +211,41 @@
return Result.fail("鎶辨瓑涓嶆敮鎸併��" + e.getMessage() +"銆戝悗缂�鐨勬枃浠讹紒");
}
+ /**
+ * 鍙傛暟妫�楠�
+ */
+ @ExceptionHandler({MethodArgumentNotValidException.class})
+ public Result<?> methodArgumentNotValidException(MethodArgumentNotValidException e) {
+ List<ObjectError> allErrors = e.getBindingResult().getAllErrors();
+ String message = allErrors.stream().map(s -> s.getDefaultMessage()).collect(Collectors.joining(";"));
+ return Result.fail(message);
+ }
+
/** 鍏朵粬閿欒 */
@ExceptionHandler({Exception.class})
public Result<?> exception(Exception e) {
e.printStackTrace();
return Result.fail("缃戠粶杩炴帴澶辫触锛岃閫�鍑哄悗鍐嶈瘯");
}
+
+ /**
+ * 鏉冮檺
+ * @param e
+ * @return
+ */
+ @ExceptionHandler({AuthException.class})
+ public Result<?> noAuth(AuthException e){
+ return Result.fail(Integer.valueOf(e.getCode()),e.getMsg());
+ }
+
+ /**
+ * 涓氬姟寮傚父
+ * @param e
+ * @return
+ */
+ @ExceptionHandler({ApplicationException.class })
+ public Result<?> applicationError(ApplicationException e){
+ return Result.fail(e.getMsg());
+ }
+
}
--
Gitblit v1.9.3