feat(exception): 添加数据警告异常处理机制
- 新增 DataAlertException 类用于处理数据警告情况 - 在全局控制器增强中添加 DataAlertException 的异常处理器 - 将多个控制器中的直接返回错误改为抛出 DataAlertException 异常 - 统一处理库存不足等数据警告场景的异常响应格式
This commit is contained in:
parent
110b189be3
commit
78ed6670e2
|
|
@ -16,6 +16,7 @@ import com.nflg.wms.admin.util.QRCodeUtil;
|
||||||
import com.nflg.wms.admin.util.ThymeleafUtil;
|
import com.nflg.wms.admin.util.ThymeleafUtil;
|
||||||
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
||||||
import com.nflg.wms.common.constant.STATE;
|
import com.nflg.wms.common.constant.STATE;
|
||||||
|
import com.nflg.wms.common.exception.DataAlertException;
|
||||||
import com.nflg.wms.common.exception.NflgException;
|
import com.nflg.wms.common.exception.NflgException;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
|
|
@ -361,7 +362,7 @@ public class OutAssistanceController extends BaseController {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (CollectionUtil.isNotEmpty(lockVOS)) {
|
if (CollectionUtil.isNotEmpty(lockVOS)) {
|
||||||
return ApiResult.errorWithExtras(STATE.OutOfStock, lockVOS);
|
throw new DataAlertException(STATE.OutOfStock, lockVOS);
|
||||||
}
|
}
|
||||||
outAssistanceItemService.updateBatchById(datas);
|
outAssistanceItemService.updateBatchById(datas);
|
||||||
outAssistanceTicketItemService.saveBatch(ticketItems);
|
outAssistanceTicketItemService.saveBatch(ticketItems);
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import com.nflg.wms.admin.util.QRCodeUtil;
|
||||||
import com.nflg.wms.admin.util.ThymeleafUtil;
|
import com.nflg.wms.admin.util.ThymeleafUtil;
|
||||||
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
||||||
import com.nflg.wms.common.constant.STATE;
|
import com.nflg.wms.common.constant.STATE;
|
||||||
|
import com.nflg.wms.common.exception.DataAlertException;
|
||||||
import com.nflg.wms.common.exception.NflgException;
|
import com.nflg.wms.common.exception.NflgException;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
|
|
@ -355,7 +356,7 @@ public class OutCostCenterController extends BaseController {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (CollectionUtil.isNotEmpty(lockVOS)) {
|
if (CollectionUtil.isNotEmpty(lockVOS)) {
|
||||||
return ApiResult.errorWithExtras(STATE.OutOfStock, lockVOS);
|
throw new DataAlertException(STATE.OutOfStock, lockVOS);
|
||||||
}
|
}
|
||||||
outCostcenterItemService.updateBatchById(datas);
|
outCostcenterItemService.updateBatchById(datas);
|
||||||
outCostcenterTicketItemService.saveBatch(ticketItems);
|
outCostcenterTicketItemService.saveBatch(ticketItems);
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import com.nflg.wms.admin.util.QRCodeUtil;
|
||||||
import com.nflg.wms.admin.util.ThymeleafUtil;
|
import com.nflg.wms.admin.util.ThymeleafUtil;
|
||||||
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
||||||
import com.nflg.wms.common.constant.STATE;
|
import com.nflg.wms.common.constant.STATE;
|
||||||
|
import com.nflg.wms.common.exception.DataAlertException;
|
||||||
import com.nflg.wms.common.exception.NflgException;
|
import com.nflg.wms.common.exception.NflgException;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
|
|
@ -192,7 +193,7 @@ public class OutProduceController extends BaseController {
|
||||||
if (CollectionUtil.isEmpty(lockVOS)) {
|
if (CollectionUtil.isEmpty(lockVOS)) {
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
} else {
|
} else {
|
||||||
return ApiResult.errorWithExtras(STATE.OutOfStock, lockVOS);
|
throw new DataAlertException(STATE.OutOfStock, lockVOS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -254,7 +255,7 @@ public class OutProduceController extends BaseController {
|
||||||
if (CollectionUtil.isEmpty(lockVOS)) {
|
if (CollectionUtil.isEmpty(lockVOS)) {
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
} else {
|
} else {
|
||||||
return ApiResult.errorWithExtras(STATE.OutOfStock, lockVOS);
|
throw new DataAlertException(STATE.OutOfStock, lockVOS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import com.nflg.wms.admin.util.ThymeleafUtil;
|
||||||
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
||||||
import com.nflg.wms.common.constant.STATE;
|
import com.nflg.wms.common.constant.STATE;
|
||||||
import com.nflg.wms.common.constant.UserType;
|
import com.nflg.wms.common.constant.UserType;
|
||||||
|
import com.nflg.wms.common.exception.DataAlertException;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
import com.nflg.wms.common.pojo.dto.*;
|
import com.nflg.wms.common.pojo.dto.*;
|
||||||
|
|
@ -132,7 +133,7 @@ public class PurchaseReturnController extends BaseController {
|
||||||
if (CollectionUtil.isEmpty(inventoryLockVOS)) {
|
if (CollectionUtil.isEmpty(inventoryLockVOS)) {
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
} else {
|
} else {
|
||||||
return ApiResult.errorWithExtras(STATE.OutOfStock, inventoryLockVOS);
|
throw new DataAlertException(STATE.OutOfStock, inventoryLockVOS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -442,7 +443,7 @@ public class PurchaseReturnController extends BaseController {
|
||||||
if (CollectionUtil.isEmpty(inventoryLockVOS)) {
|
if (CollectionUtil.isEmpty(inventoryLockVOS)) {
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
} else {
|
} else {
|
||||||
return ApiResult.errorWithExtras(STATE.OutOfStock, inventoryLockVOS);
|
throw new DataAlertException(STATE.OutOfStock, inventoryLockVOS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import com.nflg.wms.admin.service.SapService;
|
||||||
import com.nflg.wms.admin.util.*;
|
import com.nflg.wms.admin.util.*;
|
||||||
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
||||||
import com.nflg.wms.common.constant.STATE;
|
import com.nflg.wms.common.constant.STATE;
|
||||||
|
import com.nflg.wms.common.exception.DataAlertException;
|
||||||
import com.nflg.wms.common.exception.NflgException;
|
import com.nflg.wms.common.exception.NflgException;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
|
|
@ -169,7 +170,7 @@ public class TransferCompanyController extends BaseController {
|
||||||
if (CollectionUtil.isEmpty(lockVOS)) {
|
if (CollectionUtil.isEmpty(lockVOS)) {
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
} else {
|
} else {
|
||||||
return ApiResult.errorWithExtras(STATE.OutOfStock, lockVOS);
|
throw new DataAlertException(STATE.OutOfStock, lockVOS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import com.nflg.wms.admin.util.QRCodeUtil;
|
||||||
import com.nflg.wms.admin.util.ThymeleafUtil;
|
import com.nflg.wms.admin.util.ThymeleafUtil;
|
||||||
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
import com.nflg.wms.common.constant.BarCodeProcessStage;
|
||||||
import com.nflg.wms.common.constant.STATE;
|
import com.nflg.wms.common.constant.STATE;
|
||||||
|
import com.nflg.wms.common.exception.DataAlertException;
|
||||||
import com.nflg.wms.common.exception.NflgException;
|
import com.nflg.wms.common.exception.NflgException;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
|
|
@ -167,7 +168,7 @@ public class TransferFactoryController extends BaseController {
|
||||||
if (CollectionUtil.isEmpty(lockVOS)) {
|
if (CollectionUtil.isEmpty(lockVOS)) {
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
} else {
|
} else {
|
||||||
return ApiResult.errorWithExtras(STATE.OutOfStock, lockVOS);
|
throw new DataAlertException(STATE.OutOfStock, lockVOS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.nflg.wms.common.exception;
|
||||||
|
|
||||||
|
import com.nflg.wms.common.constant.STATE;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DataAlertException extends RuntimeException {
|
||||||
|
|
||||||
|
private final STATE state;
|
||||||
|
|
||||||
|
private final Object obj;
|
||||||
|
|
||||||
|
public DataAlertException(STATE state, Object obj) {
|
||||||
|
super(state.getType());
|
||||||
|
this.state = state;
|
||||||
|
this.obj = obj;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -4,6 +4,7 @@ import cn.dev33.satoken.exception.NotLoginException;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.nflg.wms.common.constant.Constant;
|
import com.nflg.wms.common.constant.Constant;
|
||||||
import com.nflg.wms.common.constant.STATE;
|
import com.nflg.wms.common.constant.STATE;
|
||||||
|
import com.nflg.wms.common.exception.DataAlertException;
|
||||||
import com.nflg.wms.common.exception.NflgException;
|
import com.nflg.wms.common.exception.NflgException;
|
||||||
import com.nflg.wms.common.exception.SAPException;
|
import com.nflg.wms.common.exception.SAPException;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
|
|
@ -81,4 +82,10 @@ public class GlobalRestControllerAdvice {
|
||||||
log.error("SAP错误: ", ex);
|
log.error("SAP错误: ", ex);
|
||||||
return ApiResult.error(ex.getState(), "SAP错误:" + ex.getMessage());
|
return ApiResult.error(ex.getState(), "SAP错误:" + ex.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ExceptionHandler(DataAlertException.class)
|
||||||
|
public ApiResult<Void> handleDataAlertException(DataAlertException ex) {
|
||||||
|
log.error("返回数据的错误: ", ex);
|
||||||
|
return ApiResult.errorWithExtras(ex.getState(), ex.getObj());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue