From 28231163c688c379a688ce6878a1126ee218aa52 Mon Sep 17 00:00:00 2001
From: huangzhen <867217663@qq.com>
Date: Tue, 26 Sep 2023 16:53:48 +0800
Subject: [PATCH] 煤矿功能
---
ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java | 40 ++++++++++++++++++++++++++++++++++++++--
1 files changed, 38 insertions(+), 2 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..32f1903 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;
/**
* 全局异常处理器
@@ -26,6 +36,31 @@
public class GlobalExceptionHandler
{
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();
+ }
/**
* 权限校验异常
@@ -122,9 +157,10 @@
@ExceptionHandler(MethodArgumentNotValidException.class)
public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e)
{
- log.error(e.getMessage(), e);
+ //log.error(e.getMessage(), e);
+ //log.error(e.getBindingResult().getFieldError()+"");
String message = e.getBindingResult().getFieldError().getDefaultMessage();
- return AjaxResult.error(message);
+ return AjaxResult.error(ResultConstants.PARAM_ERROR.getCode(),message);
}
/**
--
Gitblit v1.9.2