提交 90a95ed7 authored 作者: 吴德鹏's avatar 吴德鹏

减库存

上级 1cb8b83f
......@@ -200,20 +200,25 @@ public class OrderController extends Controller {
return new Result<>(ResultCodeEnum.SERVICE_ERROR.getCode(), "Missing information !");
TbCfStationItem stationItem = byId.get();
//减库存 Inventory reduction
subCount(itemId, itemNum);
boolean success = subCount(itemId, itemNum);
if (!success) {
return new Result<>(v_code, "Goods in short stock!");
}
allByUserId.add(getCart(stationItem, itemSku, itemNum, itemPrice));
} else {
System.out.println(Arrays.toString(tbCfOrder.getIds()));
allByUserId = cartRepository.findAllByCartRecordIdIn(tbCfOrder.getIds());
allByUserId.forEach(cart -> {
for (TbCfCartRecordR cart : allByUserId) {
String id = cart.getItemId();
Integer num = cart.getItemNum();
subCount(id, num);
});
boolean success = subCount(id, num);
if (!success) {
return new Result<>(v_code, "Goods in short stock!");
}
}
}
String addressId = tbCfOrder.getDeliveryAddressId();
if (addressId == null || addressId.isEmpty()) return new Result<>(v_code, "Address id is required");
......@@ -297,14 +302,20 @@ public class OrderController extends Controller {
}
//减库存 Inventory reduction
public void subCount(String itemId, Integer num) {
public boolean subCount(String itemId, Integer num) {
boolean success = false;
logger.info("减库存操作开始...");
Optional<TbCfStationItem> itemOptional = itemRepository.findById(itemId);
if (itemOptional.isPresent()) {
TbCfStationItem item = itemOptional.get();
if (item.getItemCount() <= 0 || num > item.getItemCount()) {
success = false;
}
logger.info("商品[" + item.getItemId() + "]原库存:" + item.getItemCount() + ",购买数量:" + num + ",现库存:" + (item.getItemCount() - num));
item.setItemCount(item.getItemCount() - num);
success = true;
}
return success;
}
@GetMapping
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论