gis-bi/sdk/common/src/main/java/io/gisbi/exception/GlobalExceptionHandler.java

44 lines
1.7 KiB
Java
Raw Normal View History

2025-02-28 17:56:48 +08:00
package io.gisbi.exception;
2025-02-27 14:44:08 +08:00
2025-02-28 17:56:48 +08:00
import io.gisbi.i18n.Translator;
import io.gisbi.result.ResultCode;
import io.gisbi.result.ResultMessage;
import io.gisbi.utils.LogUtil;
2025-02-27 14:44:08 +08:00
import org.apache.commons.lang3.StringUtils;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResultMessage MethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {
ObjectError objectError = e.getBindingResult().getAllErrors().get(0);
String msg = objectError.getDefaultMessage();
msg = Translator.get(msg);
LogUtil.error(msg);
return new ResultMessage(ResultCode.PARAM_IS_INVALID.code(), msg);
}
@ExceptionHandler(DEException.class)
public ResultMessage deExceptionHandler(DEException e) {
LogUtil.error(e.getMessage(), e);
return new ResultMessage(e.getCode(), e.getMessage());
}
@ExceptionHandler(NullPointerException.class)
public ResultMessage noUserExceptionHandler(Exception e) {
String message = e.getMessage();
LogUtil.error(message, e);
if (StringUtils.contains(message, "Cannot invoke \"io.dataease.auth.bo.TokenUserBO.getUserId()\" because \"user\" is null")) {
return new ResultMessage(ResultCode.USER_NOT_LOGGED_IN.code(), ResultCode.USER_NOT_LOGGED_IN.message());
}
return new ResultMessage(ResultCode.PARAM_IS_BLANK.code(), message);
}
}