# 【行为变更·管理后台】订单取消房务侧生命周期收口 + 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 房务态，复用现有异常桶流程）。
