# 房务配房弹窗改用资源结算价，并移除“同步协议价”（前端待处理）

- 日期：2026-07-05
- 端：管理后台
- 页面：房务管家 / 待处理 / 订单详情配房弹窗
- 关联前序：`05_4745_资源结算价结算方式-修改接口-管理后台.md`
- 结论：房务配房里的“协议价 / 结算价”都应以资源价格日历为准，不再把结算价作为房务模块自有价格维护。

## 背景

资源侧酒店房型价格日历已经新增 `settlementPrice`（结算价）。当前房务配房弹窗里的“结算价”历史上直接使用或等同 `protocolPrice`，并且底部已选配房行还有“同步协议价”开关，这个交互已经不符合新口径。

新口径：

- 协议价：资源酒店房型价格日历 `protocolPrice`。
- 结算价：资源酒店房型价格日历 `settlementPrice`。
- 房务模块不再维护自己的结算价单源；配房时只选择酒店、房型、日期、间数等业务信息。
- “同步协议价”功能废弃，不再需要把房务结算价写回资源协议价。

## 前端必须调整

### 1. 结算价展示来源

房务选择酒店弹窗中，“结算价”列不要再用协议价兜底成同一个值。

应使用当前房型当前入住日期在资源价格日历上的：

| 页面字段 | 取值 |
|----------|------|
| 协议价 | `protocolPrice` |
| 结算价 | `settlementPrice` |

如果候选列表接口暂时只返回 `protocolPrice`，前端不要把 `protocolPrice` 当成结算价展示；应等待候选接口补 `settlementPrice`，或按房型和日期读取价格日历接口后再展示。

### 2. 去掉“同步协议价”

底部已选配房行里的“同步协议价”勾选项需要移除。

前端也不要再提交：

```json
{
  "syncProtocolPrice": true
}
```

这个功能的旧含义是“把本次房务结算价写回资源协议价”，现在协议价和结算价已经是资源价格日历里的两个独立字段，不应再通过房务配房动作互相覆盖。

### 3. 弹窗内支持修改协议价 / 结算价

在选择酒店弹窗里，需要让房务可以直接修改当前行的协议价和结算价。

建议交互位置：

- 候选酒店 / 房型行：在协议价、结算价列提供可编辑入口或内联输入。
- 底部“已选配房”行：移除“同步协议价”后，提供协议价、结算价的修改入口。

保存时应写资源价格日历，而不是写房务 assignment 自有价格。

酒店房型价格日历接口：

```http
GET /admin/hotel/room-type/{roomTypeId}/prices
PUT /admin/hotel/room-type/{roomTypeId}/prices
```

单日修改时，请按当前入住日期提交：

```json
{
  "startDate": "2026-07-24",
  "endDate": "2026-07-24",
  "protocolPrice": 320.00,
  "settlementPrice": 300.00
}
```

保存成功后需要刷新候选列表和底部已选配房行，避免页面仍显示旧价格。

## 后端契约依赖

资源价格日历接口已按 4745/4746 约定新增：

| 字段 | 含义 |
|------|------|
| `protocolPrice` | 协议价 |
| `settlementPrice` | 结算价 |

房务候选酒店接口也需要透出房型维度的 `settlementPrice`，否则前端无法在配房弹窗中直接展示正确结算价。

候选链路涉及：

```http
GET /internal/resource/hotels/available
```

前端页面实际使用的房务候选接口如果由 order-v3 包装，也需要同步透出：

```json
{
  "roomTypes": [
    {
      "roomTypeId": "80125",
      "protocolPrice": "320.00",
      "settlementPrice": "300.00"
    }
  ]
}
```

当前旧房务提交/修改接口里仍可见历史字段：

- `sellPrice`
- `syncProtocolPrice`

这些字段属于旧口径。前端后续不要依赖 `syncProtocolPrice`；如测试环境后端在过渡期仍要求 `sellPrice` 必填，只能临时按资源 `settlementPrice` 透传兼容，不要把它当成房务模块可独立维护的结算价，也不要再提供“同步协议价”操作。

## 验收标准

- 房务配房弹窗候选行可同时看到协议价和结算价，且结算价取资源 `settlementPrice`。
- 协议价与结算价不同时，页面不能把二者显示成同一个协议价。
- 底部已选配房行不再出现“同步协议价”勾选项。
- 提交配房或修改配房时，前端不再发送 `syncProtocolPrice`。
- 在弹窗内修改协议价 / 结算价后，资源价格日历对应日期被更新，重新打开弹窗能看到新值。
- 修改结算价不会覆盖协议价；修改协议价也不会覆盖结算价，除非用户明确同时改两个字段。

