From cf746ceb0021bef51da98f5873b633f784956831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Wed, 13 May 2026 08:51:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(service):=20=E4=BF=AE=E6=AD=A3=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=88=86=E7=B1=BB=E6=8E=A5=E5=8F=A3=E5=92=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=BB=9F=E4=B8=80HTTP=E5=BC=82=E5=B8=B8=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改物料分类API请求路径,去除多余/api前缀 - 在全局异常处理类中新增对HttpClientErrorException的捕获处理 - 记录HTTP请求错误的详细日志,返回统一错误状态和信息 - 在状态常量中新增HTTP错误状态码和描述 --- .../main/java/com/nflg/wms/common/constant/STATE.java | 3 ++- .../wms/starter/advice/GlobalRestControllerAdvice.java | 10 +++++++++- .../nflg/wms/starter/service/BomMaterialService.java | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/STATE.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/STATE.java index 4d5f6a28..8afd1b81 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/STATE.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/constant/STATE.java @@ -27,7 +27,8 @@ public enum STATE { InconsistentDataError(117, "需要用户确认"), NoOrderData(118, "订单不存在"), SAPErr(119, "SAP错误"), - OutOfStock(120, "库存不足"); + OutOfStock(120, "库存不足"), + HttpError(121, "HTTP错误"); @Getter private final Integer state; diff --git a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/advice/GlobalRestControllerAdvice.java b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/advice/GlobalRestControllerAdvice.java index e58bf4b0..94fc890f 100644 --- a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/advice/GlobalRestControllerAdvice.java +++ b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/advice/GlobalRestControllerAdvice.java @@ -20,6 +20,7 @@ import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.servlet.resource.NoResourceFoundException; import java.util.ArrayList; @@ -86,10 +87,17 @@ public class GlobalRestControllerAdvice { @ExceptionHandler(DataAlertException.class) public ApiResult handleDataAlertException(DataAlertException ex) { - printLog("返回数据的错误", ex); + printLog("返回数据错误", ex); return ApiResult.errorWithExtras(ex.getState(), ex.getObj()); } + @ExceptionHandler(HttpClientErrorException.class) + public ApiResult handleHttpClientErrorException(HttpClientErrorException ex) { + Throwable rootCause = ex.getRootCause() != null ? ex.getRootCause() : ex; + printLog("HTTP请求错误", rootCause); + return ApiResult.error(STATE.HttpError, rootCause.getMessage()); + } + private void printLog(String msg, Throwable ex) { log.error("{}:{},{}", msg, ex.getMessage(), ExceptionUtil.stacktraceToString(ex)); } diff --git a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/BomMaterialService.java b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/BomMaterialService.java index 6dc28cb7..3fe65e4b 100644 --- a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/BomMaterialService.java +++ b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/BomMaterialService.java @@ -68,7 +68,7 @@ public class BomMaterialService { headers.add("authorization", getToken()); HttpEntity requestEntity = new HttpEntity<>(qo, headers); ResponseEntity>> response = restTemplate.exchange( - baseUrl + "/api/material/category/getAlllist", + baseUrl + "/material/category/getAlllist", HttpMethod.POST, requestEntity, new ParameterizedTypeReference<>() {