From 5a88c770debe086dd82ab5ce8a4c957a3debdae7 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: Fri, 24 Jan 2025 17:07:09 +0800
Subject: [PATCH] 煤矿缴费修改
---
ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 49 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..2664098 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,23 @@
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.http.converter.HttpMessageNotReadableException;
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 +25,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 +37,41 @@
public class GlobalExceptionHandler
{
private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+
+ @Autowired
+ private ObjectMapper objectMapper;
+
+
+ @ExceptionHandler(HttpMessageNotReadableException.class)
+ public AjaxResult handleHttpMessageNotReadableException(HttpMessageNotReadableException e, HttpServletRequest request)
+ {
+ String requestURI = request.getRequestURI();
+ log.error("请求地址'{}',参数异常'{}'", requestURI, e.getMessage());
+ return AjaxResult.error(ResultConstants.THREE_INSTITUTION_PARAMM_NULL);
+ }
+
+
+ /**
+ * 通用异常
+ */
+ @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 +168,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