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

减库存

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