feat(M09-D3): 完成商品寄存与安全取出闭环

This commit is contained in:
Codex
2026-08-11 07:39:46 +08:00
parent 1a3ea7bdf0
commit 60264cbd11
28 changed files with 2735 additions and 72 deletions
@@ -0,0 +1,12 @@
# 2026-08-11 M09-D3 商品寄存与取出流水
- 版本:`2026081109_m09d3_product_storage`
- 新增 `qipai_product_storage_records``qipai_product_storage_items``qipai_product_storage_events``qipai_product_storage_event_items` 4 张表。
- 寄存记录保存租户、门店、寄存人、可选来源商品订单、状态、总量/余量、到期时间、领取凭证 SHA-256、凭证版本、消费时间、创建来源和乐观版本;不保存原始领取凭证。
- 寄存明细保存来源订单项、商品/SKU 代码和名称、规格、单位、总量及余量快照;订单来源用复合外键保持租户、门店、订单和订单项一致。
- 寄存事件保存幂等请求指纹、状态转换、动作、数量、操作人、凭证版本和资源版本;事件项逐行保存 SKU、本次取出量与取出后余量。
- 事件与事件项各有 UPDATE/DELETE 禁止触发器;客户端请求、订单来源、事件请求、事件版本和来源订单项使用唯一键防重。
- 新增 `goods.storage.read``goods.storage.manage` 并授予活动 STAFF、STORE_ADMIN、TENANT_ADMIN、PLATFORM_ADMIN;新租户通过认证/RBAC 初始化路径取得相同权限。
- down 先删除触发器和角色权限,再按事件项、事件、明细、主记录的依赖逆序删除表,最后删除商品订单项新增索引与 marker。
- verify 校验 4 张表、30 个关键列、17 个索引、14 个外键、16 个 CHECK、4 个触发器、2 项权限、角色授权和 migration marker。
- MySQL 8.4.10 已完成 217 up、159 verify、199 down 的完整往返;迁移中断恢复、并发取出、凭证轮换和不可变流水均通过。