fix(#181): 销售开单库存校验前置
Summary
Closes #181
销售开单时库存校验从结算保存时前置到选品/修改数量阶段,提升用户体验。
改动点
-
后端: 新增
POST /api/inventory/stock-check轻量批量库存查询接口(只返回 sku_id + current_stock) -
前端:
useStockCheckhook 实时查询购物车 SKU 库存(staleTime 10s) - CartItemCard: 库存不足时红色边框 + "库存不足(剩余X件)" 警告文字
- CartItemEditSheet: 数量行显示库存余量,超出时显示红色警告
- 结算按钮: 点击结算时若有库存不足商品,弹窗列出并可选择继续或返回修改
- 数量步进器: 修改数量超出库存时 Toast 提示
设计决策
- 库存不足是警告而非阻断 — 用户确认后仍可继续结算(后端兜底校验仍保留)
- 批量查询接口最多 200 个 SKU,覆盖正常开单场景
- 销售订单(orderMode=order)跳过库存校验(订单不扣库存)
Test plan
- 添加库存充足的商品,无警告显示
- 添加库存不足的商品,卡片显示红框+警告文字
- 编辑商品数量超过库存,编辑弹窗显示红色警告
- 点击结算时有库存不足商品,弹出确认弹窗
- 确认弹窗选择"继续结算"可正常进入结算页
- 销售订单模式下不显示库存校验