feat(exception): 添加二级系统连接失败异常处理

- 引入 ResourceAccessException 处理器
- 实现二级系统连接失败的特殊错误响应
- 添加 Connection refused 和 sql-server-api 相关错误检测
- 返回 503 状态码并提示二级系统停机
- 记录详细的错误日志信息
- 提供用户友好的错误提示信息
This commit is contained in:
2026-05-18 09:53:35 +08:00
parent 5c2910987e
commit 9d4a5afb49

View File

@@ -18,6 +18,7 @@ import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.client.ResourceAccessException;
import javax.servlet.http.HttpServletRequest;
import javax.validation.ConstraintViolation;
@@ -158,6 +159,21 @@ public class GlobalExceptionHandler {
return R.fail(message);
}
/**
* 二级系统L2连接失败
*/
@ExceptionHandler(ResourceAccessException.class)
public R<Void> handleResourceAccessException(ResourceAccessException e, HttpServletRequest request) {
String requestURI = request.getRequestURI();
String message = e.getMessage();
if (message != null && (message.contains("Connection refused") || message.contains("sql-server-api"))) {
log.error("请求地址'{}', 二级系统连接失败'{}'", requestURI, message);
return R.fail(503, "二级系统状态异常,已停机,请稍后重试或联系管理员确认");
}
log.error("请求地址'{}', 资源访问异常", requestURI, e);
return R.fail("服务连接异常,请稍后重试");
}
/**
* 演示模式异常
*/