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<>() {