From 9e239cd627e9b48b35768ed09bcf51474b4fd5b3 Mon Sep 17 00:00:00 2001
From: zf <1603559716@qq.com>
Date: Thu, 07 Sep 2023 16:32:18 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/swspkmas into zf
---
ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 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 a3ec182..1d6d9e5 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
@@ -1,14 +1,22 @@
package com.ruoyi.framework.web.exception;
import javax.servlet.http.HttpServletRequest;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.common.constant.ResultConstants;
+import com.ruoyi.common.exception.BusinessException;
+import com.ruoyi.common.exception.ExceptionInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.validation.BindException;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.MissingPathVariableException;
import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
import com.ruoyi.common.constant.HttpStatus;
@@ -16,6 +24,8 @@
import com.ruoyi.common.exception.DemoModeException;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
+
+import java.time.LocalDateTime;
/**
* 全局异常处理器
@@ -27,6 +37,31 @@
{
private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+ @Autowired
+ private ObjectMapper objectMapper;
+
+ /**
+ * 通用异常
+ */
+ @ResponseBody
+ @ExceptionHandler(value = BusinessException.class)
+ public AjaxResult businessExceptionHandler(BusinessException e) throws JsonProcessingException {
+ ExceptionInfo exceptionInfo = new ExceptionInfo();
+ exceptionInfo.setTime(LocalDateTime.now());
+ exceptionInfo.setCode(e.getCode());
+ exceptionInfo.setMsg(e.getMessage());
+ exceptionInfo.setCauseClass(e.getCauseClass());
+ log.error(objectMapper.writeValueAsString(exceptionInfo));
+ if(e.getMessage() == null || e.getMessage().isEmpty()){
+ ResultConstants code = ResultConstants.prase(e.getCode());
+ if(code != null)
+ return AjaxResult.error(e.getCode(),code.getDesc());
+ }else {
+ return AjaxResult.error(e.getCode(),e.getMessage());
+ }
+ return AjaxResult.error();
+ }
+
/**
* 权限校验异常
*/
--
Gitblit v1.9.2