# #4727 房务回配状态、价格、推荐标识与待办超时

## 背景

房务配房中的订单，前端不能仅根据是否已有配房行显示“已回配”。“已回配”只等价于房务最终确认完成。
同时，订单详情已配置房型需要展示单价，候选酒店需要展示定制师推荐标识，房务待办需要标记询房超过 10 分钟未确认的订单。

## 修改接口

- `GET /v3/admin/order/{orderId}/itinerary`
- `GET /v3/admin/hotel-candidates`
- `GET /admin/house/orders/{orderId}`
- `GET /admin/house/todos`

## 出参变更

### `GET /v3/admin/order/{orderId}/itinerary`

`hotelGroup` 新增：

| 字段 | 类型 | 含义 |
| --- | --- | --- |
| `houseStatus` | string | 房务状态，如 `CLAIMING` / `PENDING_FINALIZE` / `CONFIRMED` |
| `houseStatusLabel` | string | 房务状态中文 |
| `finalized` | boolean | 是否最终确认完成，只有 `houseStatus=CONFIRMED` 为 `true` |
| `returnStatusLabel` | string | 住宿卡片建议展示文案，未最终确认不得显示“已回配” |

`hotelGroup.assignments[]` 新增：

| 字段 | 类型 | 含义 |
| --- | --- | --- |
| `unitPrice` | string | 单价，优先用于前端价格列，等同 `sellPrice` |
| `sellPrice` | string | 成交/结算单价 |
| `protocolPrice` | string | 协议成本单价 |
| `returnStatus` | string | 所属房务状态 |
| `returnStatusLabel` | string | 单行展示状态，未最终确认不得显示“已回配” |
| `finalized` | boolean | 是否最终确认完成 |

### `GET /v3/admin/hotel-candidates`

定制师推荐判断增强：除 `hotelId` 精确匹配外，后端会按酒店名称兜底匹配，兼容历史测试数据 hotelId 脏值。

前端展示要求：

- `isConsultantRecommended=true` 时展示 `consultantRecommendBadge`。
- `isPoolMatch=true` 时仍展示 `poolMatchBadge`。
- 同时命中产品池和定制师推荐时，`recommendSource=CONSULTANT`，但产品池标识不要丢。

### `GET /admin/house/orders/{orderId}`

`actions.canReopen` 固定为不可用：

```json
{
  "enabled": false,
  "code": "REOPEN",
  "label": "回配",
  "disabledReason": "最终确认即回配，无需再次回配",
  "endpoint": null
}
```

前端展示要求：

- 房务详情中移除“回配”按钮。
- 房务详情/配房弹窗中移除“提交配房方案”按钮；最终确认就是回配闭环。

### `GET /admin/house/todos`

房务待办列表新增实时派生项：

| 字段 | 值 |
| --- | --- |
| `todoType` | `HOTEL_REPLY_TIMEOUT` |
| `urgency` | `WARN` |
| `derived` | `true` |
| `title` | `询房超过 10 分钟未确认` |

口径：本人已抢单、房务状态仍在 `CLAIMING`，且存在 `confirmStatus=INQUIRING` 超过 10 分钟的配房行时，在待办列表中标记，避免房务错过长时间询房中的订单。

## 前端接入要求

- 订单详情住宿安排：只在 `finalized=true` 或 `returnStatusLabel=已回配` 时显示“已回配”。
- 已配置房型弹窗：价格列优先取 `unitPrice`，没有时再兼容旧字段 `plannedCost`。
- 选择酒店弹窗：支持同一酒店同时显示“定制师推荐”和“产品池内”。
- 房务详情：移除“回配”和“提交配房方案”按钮。
- 待办列表：`HOTEL_REPLY_TIMEOUT` + `WARN` 需要有明显超时/待跟进标记。

## 验收点

- 未最终确认的配房中订单不显示“已回配”。
- 已配置房型弹窗单价不显示 `—`。
- 定制师写过的候选酒店按名称兜底也能显示“定制师推荐”。
- 房务详情最终确认后不再出现“回配”按钮。
- 询房超过 10 分钟的订单在房务待办列表中有超时标记。
