一、Synchronized实现
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<CollectorItem> 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);
}
1
try {
2
if (!MsOnionRegexUtils.checkDigit(idxStr)) {
3
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, MessageConstants.MESSAGE_PARAMETER_ILLEGAL + ", idxStr=" + idxStr);
4
}
5
if (!MsOnionRegexUtils.isNumeric(statusStr)) {
6
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400,
7
MessageConstants.MESSAGE_PARAMETER_ILLEGAL + ", statusStr=" + statusStr);
8
}
9
idx = Long.parseLong(idxStr);
10
status = Short.parseShort(statusStr);
11
12
// 查询仓库是否关联商品,不能删除
13
CollectorItemExample example = new CollectorItemExample();
14
CollectorItemExample.Criteria criteria = example.createCriteria();
15
criteria.andWarehouseTypeIdxEqualTo(idx);
16
List<CollectorItem> list = itemService.queryByExample(msOnionApiVersion, example);
17
if (MsOnionCollectionUtils.isNotEmpty(list)) {
18
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, "仓库已关联商品,不能删除");
19
}
20
int result = warehouseTypeService.updateStatus(msOnionApiVersion, idx, status);
21
if (result > 0) {
22
return MsOnionResult.ok();
23
}
24
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, MessageConstants.MESSAGE_SERVER_ERROR);
25
26
} catch (MsOnionIllegalArgumentException e) {
27
return MsOnionResult.build(MsOnionStatusConstants.STATUS_400, MessageConstants.MESSAGE_PARAMETER_ILLEGAL);
28
} catch (MsOnionException e) {
29
return MsOnionResult.build(MsOnionStatusConstants.STATUS_500, MessageConstants.MESSAGE_SERVER_ERROR);
30
}