feat(M04-A): 完成定价快照与并发时段预占
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
# M04-A 定价与时段预占 API
|
||||
|
||||
- `POST /app-api/pricing/quote`:按房间配置、节假日和定价模式返回服务端报价。
|
||||
- `POST /app-api/orders/reserve`:事务内锁定房间、检查重叠并创建待支付订单、价格快照和限时预占。
|
||||
- `POST /admin-api/reservations/release-expired`:租户管理员释放已过期待支付预占。
|
||||
|
||||
客户端提交的最终金额、折扣或套餐抵扣字段会被忽略。优惠和套餐抵扣只允许后续 M05 的可信服务端权益模块传入定价引擎。
|
||||
@@ -0,0 +1,10 @@
|
||||
# M04-A 定价与预占数据库变更
|
||||
|
||||
- 迁移版本:`2026061811`
|
||||
- 房间新增包场价和最低消费。
|
||||
- 订单新增预占过期时间。
|
||||
- `qipai_holiday_calendar`:租户节假日日历。
|
||||
- `qipai_order_price_snapshots`:不可变订单价格快照。
|
||||
- `qipai_room_reservations`:房间时段预占、过期和释放状态。
|
||||
|
||||
并发控制使用事务锁定房间行,再检查重叠预占;不引入 Redis。
|
||||
@@ -0,0 +1,27 @@
|
||||
# M04-A 定价引擎和可用性
|
||||
|
||||
- 日期:2026-06-18
|
||||
- 起始 commit:`6be7fa7`
|
||||
- 工程 commit:本阶段工程提交
|
||||
- ENGINEERING_DELTA=YES
|
||||
- 子阶段状态:待 push 与远端校验
|
||||
|
||||
## 工程增量
|
||||
|
||||
- 统一小时、工作日、节假日、通宵和包场定价。
|
||||
- 支持最低消费、押金及可信服务端优惠/套餐抵扣。
|
||||
- 创建订单时保存独立价格快照。
|
||||
- 房间行锁串行化并发预占,事务内检查重叠。
|
||||
- 待支付预占带过期时间,报价、预占和管理入口均可释放过期占位。
|
||||
- 客户端最终金额、优惠和套餐字段不进入定价输入。
|
||||
|
||||
## 验证
|
||||
|
||||
- Windows 后端全量测试通过。
|
||||
- WSL MySQL 8.4.9 往返迁移通过。
|
||||
- 迁移语句:up 56、verify 37、down 53。
|
||||
- 实测节假日/最低消费定价、历史快照不变、同房同时段并发仅一个成功、过期释放后可重新预占。
|
||||
|
||||
## 后续
|
||||
|
||||
M04-B 建立完整订单状态机、状态迁移历史和来源/原因审计。
|
||||
Reference in New Issue
Block a user