try {
if (!MsOnionRegexUtils.checkDigit(idxStr)) {
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, MessageConstants.MESSAGE_PARAMETER_ILLEGAL + ", idxStr=" + idxStr);
}
if (!MsOnionRegexUtils.isNumeric(statusStr)) {
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400,
MessageConstants.MESSAGE_PARAMETER_ILLEGAL + ", statusStr=" + statusStr);
}
idx = Long.parseLong(idxStr);
status = Short.parseShort(statusStr);
// 查询仓库是否关联商品,不能删除
CollectorItemExample example = new CollectorItemExample();
CollectorItemExample.Criteria criteria = example.createCriteria();
criteria.andWarehouseTypeIdxEqualTo(idx);
List list = itemService.queryByExample(msOnionApiVersion, example);
if (MsOnionCollectionUtils.isNotEmpty(list)) {
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, "仓库已关联商品,不能删除");
}
int result = warehouseTypeService.updateStatus(msOnionApiVersion, idx, status);
if (result > 0) {
return MsOnionResult.ok();
}
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, MessageConstants.MESSAGE_SERVER_ERROR);
} catch (MsOnionIllegalArgumentException e) {
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, MessageConstants.MESSAGE_PARAMETER_ILLEGAL);
} catch (MsOnionException e) {
return MsOnionResult.build(MsOnionStatusConstants.STATUS_500, MessageConstants.MESSAGE_SERVER_ERROR);
}