|
|
|
@@ -11,8 +11,11 @@ import com.orion.ops.interceptor.AuthenticateInterceptor;
|
|
|
|
|
import com.orion.ops.interceptor.IpFilterInterceptor;
|
|
|
|
|
import com.orion.ops.interceptor.RoleInterceptor;
|
|
|
|
|
import com.orion.ops.interceptor.UserActiveInterceptor;
|
|
|
|
|
import com.orion.utils.Exceptions;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.apache.poi.EncryptedDocumentException;
|
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
import org.springframework.dao.DataAccessResourceFailureException;
|
|
|
|
|
import org.springframework.http.converter.HttpMessageNotReadableException;
|
|
|
|
|
import org.springframework.validation.BindException;
|
|
|
|
|
import org.springframework.web.bind.MethodArgumentNotValidException;
|
|
|
|
@@ -86,109 +89,109 @@ public class WebMvcConfig implements WebMvcConfigurer {
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = Exception.class)
|
|
|
|
|
public HttpWrapper<?> normalExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("normalExceptionHandler url: {}, 抛出异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("normalExceptionHandler url: {}, 抛出异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.EXCEPTION_MESSAGE).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = ApplicationException.class)
|
|
|
|
|
public HttpWrapper<?> applicationExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("applicationExceptionHandler url: {}, 抛出异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("applicationExceptionHandler url: {}, 抛出异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = DataAccessResourceFailureException.class)
|
|
|
|
|
public HttpWrapper<?> dataAccessResourceFailureExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("dataAccessResourceFailureExceptionHandler url: {}, 抛出异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.NETWORK_FLUCTUATION);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = {HttpMessageNotReadableException.class, MethodArgumentTypeMismatchException.class,
|
|
|
|
|
HttpMessageNotReadableException.class, MethodArgumentNotValidException.class, BindException.class})
|
|
|
|
|
public HttpWrapper<?> httpRequestExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("httpRequestExceptionHandler url: {}, http请求异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("httpRequestExceptionHandler url: {}, http请求异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.INVALID_PARAM);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = {InvalidArgumentException.class, IllegalArgumentException.class, DisabledException.class})
|
|
|
|
|
public HttpWrapper<?> invalidArgumentExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("invalidArgumentExceptionHandler url: {}, 参数异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("invalidArgumentExceptionHandler url: {}, 参数异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = {IOException.class, IORuntimeException.class})
|
|
|
|
|
public HttpWrapper<?> ioExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("ioExceptionHandler url: {}, io异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("ioExceptionHandler url: {}, io异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.IO_EXCEPTION_MESSAGE).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = {SftpException.class, com.jcraft.jsch.SftpException.class})
|
|
|
|
|
public HttpWrapper<?> sftpExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("sftpExceptionHandler url: {}, sftp处理异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("sftpExceptionHandler url: {}, sftp处理异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.OPERATOR_ERROR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = ParseRuntimeException.class)
|
|
|
|
|
public HttpWrapper<?> parseExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("parseExceptionHandler url: {}, 解析异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
if (Exceptions.isCausedBy(ex, EncryptedDocumentException.class)) {
|
|
|
|
|
// excel 密码错误
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.OPEN_TEMPLATE_ERROR).data(ex.getMessage());
|
|
|
|
|
} else {
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.PARSE_TEMPLATE_DATA_ERROR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = EncryptException.class)
|
|
|
|
|
public HttpWrapper<?> encryptExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("encryptExceptionHandler url: {}, 数据加密异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("encryptExceptionHandler url: {}, 数据加密异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.ENCRYPT_ERROR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = DecryptException.class)
|
|
|
|
|
public HttpWrapper<?> decryptExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("decryptExceptionHandler url: {}, 数据解密异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("decryptExceptionHandler url: {}, 数据解密异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.DECRYPT_ERROR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = VcsException.class)
|
|
|
|
|
public HttpWrapper<?> vcsExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("vcsExceptionHandler url: {}, vcs处理异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("vcsExceptionHandler url: {}, vcs处理异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.VCS_OPERATOR_ERROR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = {TaskExecuteException.class, ExecuteException.class})
|
|
|
|
|
public HttpWrapper<?> taskExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("taskExceptionHandler url: {}, task处理异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("taskExceptionHandler url: {}, task处理异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.TASK_ERROR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = ConnectionRuntimeException.class)
|
|
|
|
|
public HttpWrapper<?> connectionExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("connectionExceptionHandler url: {}, connect异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("connectionExceptionHandler url: {}, connect异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.CONNECT_ERROR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = {TimeoutException.class, java.util.concurrent.TimeoutException.class})
|
|
|
|
|
public HttpWrapper<?> timeoutExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("timeoutExceptionHandler url: {}, timeout异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("timeoutExceptionHandler url: {}, timeout异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.TIMEOUT_ERROR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = {InterruptedException.class, InterruptedRuntimeException.class, InterruptedIOException.class})
|
|
|
|
|
public HttpWrapper<?> interruptExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("interruptExceptionHandler url: {}, interrupt异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("interruptExceptionHandler url: {}, interrupt异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.INTERRUPT_ERROR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = UnsafeException.class)
|
|
|
|
|
public HttpWrapper<?> unsafeExceptionHandler(HttpServletRequest request, Exception ex) {
|
|
|
|
|
log.error("unsafeExceptionHandler url: {}, unsafe异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
log.error("unsafeExceptionHandler url: {}, unsafe异常: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.UNSAFE_OPERATOR).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ExceptionHandler(value = LogException.class)
|
|
|
|
|
public HttpWrapper<?> logExceptionHandler(HttpServletRequest request, LogException ex) {
|
|
|
|
|
log.error("logExceptionHandler url: {}, 处理异常打印日志: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage());
|
|
|
|
|
if (ex.hasCause()) {
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
log.error("logExceptionHandler url: {}, 处理异常打印日志: {}, message: {}", request.getRequestURI(), ex.getClass(), ex.getMessage(), ex);
|
|
|
|
|
return HttpWrapper.error().msg(MessageConst.EXCEPTION_MESSAGE).data(ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|