diff --git a/changelogs-v2/2026-06/23_4287_4293_订单取消房务生命周期收口+control_status词汇单源化_管理后台.md b/changelogs-v2/2026-06/23_4287_4293_订单取消房务生命周期收口+control_status词汇单源化_管理后台.md new file mode 100644 index 0000000..324d699 --- /dev/null +++ b/changelogs-v2/2026-06/23_4287_4293_订单取消房务生命周期收口+control_status词汇单源化_管理后台.md @@ -0,0 +1,33 @@ +# 【行为变更·管理后台】订单取消房务侧生命周期收口 + control_status 词汇单源化 (#4287 / #4293) + +> **PR**: #4287 / #4293 | **服务**: hl-order-service-v3 | **更新**: 2026-06-23 +> **前端**: @mmg —— #4287 房务侧取消后行为有变化(影响抢单池/我的接单/异常桶展示),需知悉;#4293 纯后端重构无契约变化。 +> 来源:房务模块整体审计 flag 收尾。均已部署测试服(双实例滚动 UP)+ API smoke + DB 地面真相核对。 + +## 1. 订单取消 → 房务侧生命周期收口(#4287,行为变更) + +此前订单取消后房务侧需求/配房**不做任何回退**(残留在抢单池/我的接单,已扣库存不释放)。本次按是否已配房二分处理: + +| 场景 | 取消后房务侧行为 | +|---|---| +| **未抢单 / 已抢未配房**(无 active 配房) | 该房型需求**直接软删** → 从抢单池 / 我的接单消失;**不产生退款待办**(无已配房屋) | +| **已配房**(有 active 配房) | 需求**转「异常」态** → 进入异常桶;同时给接单房务产一条 **REFUND(退款核对)待办**,由房务手动取消已配房屋、释放库存后再标完成「订单已取消无需配房」 | +| 两种场景共同 | 配房前置工作类待办(非 REFUND)**自动 RESOLVE**,备注「订单已取消」 | + +- 前端影响: + - 抢单池 / 我的接单列表:取消的未配房需求不再出现(后端软删,前端无需特殊处理)。 + - 异常桶 / 房务工作台:已配房订单取消后,对应需求出现在异常态,附 REFUND 待办;房务按现有「异常桶手动取消已配房屋 → 标完成」流程处理。 + - 无新增/变更接口字段,房务列表/详情按既有 house_status / 待办类型渲染即可。 + +## 2. control_status 词汇单源化(#4293,无前端契约变化) + +`order_main.room_control_status` / `vehicle_control_status` 列此前混用三套词汇(RequirementStatus / 残留废枚举 ResourceControlStatus / 裸字面量 "PROCESSING")。本次统一到单一权威值集 **RequirementStatus**,删除残留废枚举。 + +- **存库值集不变**:仍为 `PENDING / PROCESSING / PENDING_REVIEW / REJECTED_TO_CONSULTANT / REJECTED_TO_ADMIN / DONE`(NULL=待提交需求)。 +- 详情接口 `progressStepper` 的 HOTEL/VEHICLE 子流程 status / statusName 派生口径**完全不变**(仍由 OrderInfoConverter 同一套映射产出)。 +- 纯后端内部重构,**前端无需任何改动**。 + +## 3. 关联 +- **PR**: [#4287](https://git.1814.love:8443/wx/HL/pulls/4287) / [#4293](https://git.1814.love:8443/wx/HL/pulls/4293)(房务整体审计驱动,无关联 Issue) +- **后端**: @wx | **前端**: @mmg +- 补记:前序 changelog(#4256/#4266/#4274)§6 曾标「取消订单后房务态彻底回退(待定)」,本批 #4287 已落地(采用「已配房转异常 + 退款待办」而非新增 CANCELLED 房务态,复用现有异常桶流程)。