This commit is contained in:
parent
375d2129b0
commit
1d618b7677
|
@ -1,209 +0,0 @@
|
||||||
package com.supervision.edh.common;
|
|
||||||
|
|
||||||
|
|
||||||
import com.supervision.edh.constant.HttpStatus;
|
|
||||||
import org.springframework.util.StringUtils;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 操作消息提醒
|
|
||||||
*
|
|
||||||
* @author tcctyn
|
|
||||||
*/
|
|
||||||
public class AjaxResult extends HashMap<String, Object> {
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 状态码
|
|
||||||
*/
|
|
||||||
public static final String CODE_TAG = "code";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回内容
|
|
||||||
*/
|
|
||||||
public static final String MSG_TAG = "msg";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据对象
|
|
||||||
*/
|
|
||||||
public static final String DATA_TAG = "data";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。
|
|
||||||
*/
|
|
||||||
public AjaxResult() {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始化一个新创建的 AjaxResult 对象
|
|
||||||
*
|
|
||||||
* @param code 状态码
|
|
||||||
* @param msg 返回内容
|
|
||||||
*/
|
|
||||||
public AjaxResult(int code, String msg) {
|
|
||||||
super.put(CODE_TAG, code);
|
|
||||||
super.put(MSG_TAG, msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始化一个新创建的 AjaxResult 对象
|
|
||||||
*
|
|
||||||
* @param code 状态码
|
|
||||||
* @param msg 返回内容
|
|
||||||
* @param data 数据对象
|
|
||||||
*/
|
|
||||||
public AjaxResult(int code, String msg, Object data) {
|
|
||||||
super.put(CODE_TAG, code);
|
|
||||||
super.put(MSG_TAG, msg);
|
|
||||||
if (!StringUtils.isEmpty(data)) {
|
|
||||||
super.put(DATA_TAG, data);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回成功消息
|
|
||||||
*
|
|
||||||
* @return 成功消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult success() {
|
|
||||||
return AjaxResult.success("操作成功");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回成功数据
|
|
||||||
*
|
|
||||||
* @return 成功消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult success(Object data) {
|
|
||||||
return AjaxResult.success("操作成功", data);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回成功消息
|
|
||||||
*
|
|
||||||
* @param msg 返回内容
|
|
||||||
* @return 成功消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult success(String msg) {
|
|
||||||
return AjaxResult.success(msg, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回成功消息
|
|
||||||
*
|
|
||||||
* @param msg 返回内容
|
|
||||||
* @param data 数据对象
|
|
||||||
* @return 成功消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult success(String msg, Object data) {
|
|
||||||
return new AjaxResult(HttpStatus.SUCCESS, msg, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回警告消息
|
|
||||||
*
|
|
||||||
* @param msg 返回内容
|
|
||||||
* @return 警告消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult warn(String msg) {
|
|
||||||
return AjaxResult.warn(msg, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回警告消息
|
|
||||||
*
|
|
||||||
* @param msg 返回内容
|
|
||||||
* @param data 数据对象
|
|
||||||
* @return 警告消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult warn(String msg, Object data) {
|
|
||||||
return new AjaxResult(HttpStatus.WARN, msg, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回错误消息
|
|
||||||
*
|
|
||||||
* @return 错误消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult error() {
|
|
||||||
return AjaxResult.error("操作失败");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回错误消息
|
|
||||||
*
|
|
||||||
* @param msg 返回内容
|
|
||||||
* @return 错误消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult error(String msg) {
|
|
||||||
return AjaxResult.error(msg, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回错误消息
|
|
||||||
*
|
|
||||||
* @param msg 返回内容
|
|
||||||
* @param data 数据对象
|
|
||||||
* @return 错误消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult error(String msg, Object data) {
|
|
||||||
return new AjaxResult(HttpStatus.ERROR, msg, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回错误消息
|
|
||||||
*
|
|
||||||
* @param code 状态码
|
|
||||||
* @param msg 返回内容
|
|
||||||
* @return 错误消息
|
|
||||||
*/
|
|
||||||
public static AjaxResult error(int code, String msg) {
|
|
||||||
return new AjaxResult(code, msg, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否为成功消息
|
|
||||||
*
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public boolean isSuccess() {
|
|
||||||
return Objects.equals(HttpStatus.SUCCESS, this.get(CODE_TAG));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否为警告消息
|
|
||||||
*
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public boolean isWarn() {
|
|
||||||
return Objects.equals(HttpStatus.WARN, this.get(CODE_TAG));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否为错误消息
|
|
||||||
*
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public boolean isError() {
|
|
||||||
return Objects.equals(HttpStatus.ERROR, this.get(CODE_TAG));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 方便链式调用
|
|
||||||
*
|
|
||||||
* @param key 键
|
|
||||||
* @param value 值
|
|
||||||
* @return 数据对象
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public AjaxResult put(String key, Object value) {
|
|
||||||
super.put(key, value);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
System.out.println(AjaxResult.success());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,7 +2,6 @@ package com.supervision.edh.controller;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.supervision.edh.common.AjaxResult;
|
|
||||||
import com.supervision.edh.domain.EdhReceiveDataLog;
|
import com.supervision.edh.domain.EdhReceiveDataLog;
|
||||||
import com.supervision.edh.enums.BuzStatusEnum;
|
import com.supervision.edh.enums.BuzStatusEnum;
|
||||||
import com.supervision.edh.enums.EventTypeEnum;
|
import com.supervision.edh.enums.EventTypeEnum;
|
||||||
|
@ -181,10 +180,4 @@ public class SupervisionEdhServerController {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/test")
|
|
||||||
public AjaxResult test(HttpServletRequest request) {
|
|
||||||
|
|
||||||
return AjaxResult.success();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,127 +0,0 @@
|
||||||
package com.supervision.edh.exception;
|
|
||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.convert.Convert;
|
|
||||||
import com.supervision.edh.common.AjaxResult;
|
|
||||||
import com.supervision.edh.constant.HttpStatus;
|
|
||||||
import com.supervision.edh.utils.EscapeUtil;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.util.StringUtils;
|
|
||||||
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.RestControllerAdvice;
|
|
||||||
import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import java.nio.file.AccessDeniedException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 全局异常处理器
|
|
||||||
*
|
|
||||||
* @author tcctyn
|
|
||||||
*/
|
|
||||||
@RestControllerAdvice
|
|
||||||
public class GlobalExceptionHandler {
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 权限校验异常
|
|
||||||
*/
|
|
||||||
@ExceptionHandler(AccessDeniedException.class)
|
|
||||||
public AjaxResult handleAccessDeniedException(AccessDeniedException e, HttpServletRequest request) {
|
|
||||||
String requestURI = request.getRequestURI();
|
|
||||||
log.error("请求地址'{}',权限校验失败'{}'", requestURI, e.getMessage());
|
|
||||||
return AjaxResult.error(HttpStatus.FORBIDDEN, "没有权限,请联系管理员授权");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 请求方式不支持
|
|
||||||
*/
|
|
||||||
@ExceptionHandler(HttpRequestMethodNotSupportedException.class)
|
|
||||||
public AjaxResult handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e,
|
|
||||||
HttpServletRequest request) {
|
|
||||||
String requestURI = request.getRequestURI();
|
|
||||||
log.error("请求地址'{}',不支持'{}'请求", requestURI, e.getMethod());
|
|
||||||
return AjaxResult.error(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务异常
|
|
||||||
*/
|
|
||||||
@ExceptionHandler(ServiceException.class)
|
|
||||||
public AjaxResult handleServiceException(ServiceException e, HttpServletRequest request) {
|
|
||||||
log.error(e.getMessage(), e);
|
|
||||||
Integer code = e.getCode();
|
|
||||||
return StringUtils.isEmpty(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 请求路径中缺少必需的路径变量
|
|
||||||
*/
|
|
||||||
@ExceptionHandler(MissingPathVariableException.class)
|
|
||||||
public AjaxResult handleMissingPathVariableException(MissingPathVariableException e, HttpServletRequest request) {
|
|
||||||
String requestURI = request.getRequestURI();
|
|
||||||
log.error("请求路径中缺少必需的路径变量'{}',发生系统异常.", requestURI, e);
|
|
||||||
return AjaxResult.error(String.format("请求路径中缺少必需的路径变量[%s]", e.getVariableName()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 请求参数类型不匹配
|
|
||||||
*/
|
|
||||||
@ExceptionHandler(MethodArgumentTypeMismatchException.class)
|
|
||||||
public AjaxResult handleMethodArgumentTypeMismatchException(MethodArgumentTypeMismatchException e, HttpServletRequest request) {
|
|
||||||
String requestURI = request.getRequestURI();
|
|
||||||
String value = Convert.toStr(e.getValue());
|
|
||||||
if (!StringUtils.isEmpty(value)) {
|
|
||||||
value = EscapeUtil.clean(value);
|
|
||||||
}
|
|
||||||
log.error("请求参数类型不匹配'{}',发生系统异常.", requestURI, e);
|
|
||||||
return AjaxResult.error(String.format("请求参数类型不匹配,参数[%s]要求类型为:'%s',但输入值为:'%s'", e.getName(), e.getRequiredType().getName(), value));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 拦截未知的运行时异常
|
|
||||||
*/
|
|
||||||
@ExceptionHandler(RuntimeException.class)
|
|
||||||
public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request) {
|
|
||||||
String requestURI = request.getRequestURI();
|
|
||||||
log.error("请求地址'{}',发生未知异常.", requestURI, e);
|
|
||||||
return AjaxResult.error(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 系统异常
|
|
||||||
*/
|
|
||||||
@ExceptionHandler(Exception.class)
|
|
||||||
public AjaxResult handleException(Exception e, HttpServletRequest request) {
|
|
||||||
String requestURI = request.getRequestURI();
|
|
||||||
log.error("请求地址'{}',发生系统异常.", requestURI, e);
|
|
||||||
return AjaxResult.error(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 自定义验证异常
|
|
||||||
*/
|
|
||||||
@ExceptionHandler(BindException.class)
|
|
||||||
public AjaxResult handleBindException(BindException e) {
|
|
||||||
log.error(e.getMessage(), e);
|
|
||||||
String message = e.getAllErrors().get(0).getDefaultMessage();
|
|
||||||
return AjaxResult.error(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 自定义验证异常
|
|
||||||
*/
|
|
||||||
@ExceptionHandler(MethodArgumentNotValidException.class)
|
|
||||||
public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
|
|
||||||
log.error(e.getMessage(), e);
|
|
||||||
String message = e.getBindingResult().getFieldError().getDefaultMessage();
|
|
||||||
return AjaxResult.error(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,73 +0,0 @@
|
||||||
package com.supervision.edh.exception;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务异常
|
|
||||||
*
|
|
||||||
* @author tcctyn
|
|
||||||
*/
|
|
||||||
public final class ServiceException extends RuntimeException
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 错误码
|
|
||||||
*/
|
|
||||||
private Integer code;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 错误提示
|
|
||||||
*/
|
|
||||||
private String message;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 错误明细,内部调试错误
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private String detailMessage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 空构造方法,避免反序列化问题
|
|
||||||
*/
|
|
||||||
public ServiceException()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public ServiceException(String message)
|
|
||||||
{
|
|
||||||
this.message = message;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ServiceException(String message, Integer code)
|
|
||||||
{
|
|
||||||
this.message = message;
|
|
||||||
this.code = code;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDetailMessage()
|
|
||||||
{
|
|
||||||
return detailMessage;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getMessage()
|
|
||||||
{
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getCode()
|
|
||||||
{
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ServiceException setMessage(String message)
|
|
||||||
{
|
|
||||||
this.message = message;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ServiceException setDetailMessage(String detailMessage)
|
|
||||||
{
|
|
||||||
this.detailMessage = detailMessage;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue