From c4d861d166f64a295d0a1acb692af8fe9a721b50 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期四, 13 十月 2022 17:42:02 +0800
Subject: [PATCH] 统一异常处理

---
 ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java |    2 +-
 ycl-common/src/main/java/com/ycl/config/ExceptionConfiguration.java            |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java                      |    2 +-
 3 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/config/ExceptionConfiguration.java b/ycl-common/src/main/java/com/ycl/config/ExceptionConfiguration.java
new file mode 100644
index 0000000..dbd835d
--- /dev/null
+++ b/ycl-common/src/main/java/com/ycl/config/ExceptionConfiguration.java
@@ -0,0 +1,48 @@
+package com.ycl.config;
+
+import com.ycl.api.CommonResult;
+import com.ycl.enums.common.ResultCode;
+import com.ycl.exception.ApiException;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Controller;
+import org.springframework.validation.FieldError;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+@Configuration
+@ControllerAdvice(annotations = {RestController.class, Controller.class})
+@ResponseBody
+public class ExceptionConfiguration {
+    // 鎹曡幏鑷畾涔夊紓甯告暟鎹�
+    @ExceptionHandler(value = ApiException.class)
+    public CommonResult HandlePubException(ApiException pubExceptions) {
+        System.out.println(String.format("閿欒锛�%d锛� %s",
+                pubExceptions.getErrorCode().getCode(),
+                pubExceptions.getErrorCode().getMessage()));
+        return CommonResult.failed(pubExceptions.getErrorCode());
+    }
+
+    @ExceptionHandler(value = MethodArgumentNotValidException.class)
+    public CommonResult HandleParamsException(HttpServletRequest request, MethodArgumentNotValidException exception) {
+        StringBuffer buffer = new StringBuffer();
+        for (FieldError error : exception.getBindingResult().getFieldErrors()) {
+            buffer.append(String.format("鍙傛暟:%s,鍊间负:%s, 鍘熷洜:%s銆�", error.getField(), error.getRejectedValue(), error.getDefaultMessage()));
+        }
+        return CommonResult.failed(ResultCode.VALIDATE_FAILED, buffer.toString());
+    }
+
+    // 鎹曡幏鍏朵粬寮傚父
+    @ExceptionHandler// 鐩存帴杩斿洖500
+    public CommonResult HandleAllException(Exception exception) {
+
+
+        exception.printStackTrace();
+        // todo 璁板綍鏃ュ織
+
+        return CommonResult.failed(ResultCode.FAILED, "绯荤粺閿欒");
+    }
+
+}
diff --git a/ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java b/ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java
index 504f5be..bdc2361 100644
--- a/ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java
+++ b/ycl-common/src/main/java/com/ycl/entity/user/UmsRole.java
@@ -36,7 +36,7 @@
     private String name;
 
     @ApiModelProperty(value = "瑙掕壊绫诲瀷")
-    private String type;
+    private Long type;
 
     @ApiModelProperty(value = "鎻忚堪")
     private String description;
diff --git a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
index 760c03b..801bdf2 100644
--- a/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
@@ -168,7 +168,7 @@
                     List<AdminDepartDTO.UserInfoDTO> userInfoDTOS = umsAdminDeparts.stream().map(a -> {
                         AdminDepartDTO.UserInfoDTO userInfoDTO = new AdminDepartDTO.UserInfoDTO();
                         userInfoDTO.setUserId(a.getUserId());
-                        userInfoDTO.setUsername(umsAdminService.getById(a.getUserId()).getUsername());
+//                        userInfoDTO.setUsername(umsAdminService.getById(a.getUserId()).getUsername());
                         return userInfoDTO;
                     }).collect(Collectors.toList());
                     record.setUserInfoDTOS(userInfoDTOS);

--
Gitblit v1.8.0