docs(house): align assignment pricing with resource settlement
这个提交包含在:
父节点
98094ec861
当前提交
6d6ee1ced1
@ -0,0 +1,126 @@
|
|||||||
|
# 房务配房弹窗改用资源结算价,并移除“同步协议价”(前端待处理)
|
||||||
|
|
||||||
|
- 日期: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`。
|
||||||
|
- 在弹窗内修改协议价 / 结算价后,资源价格日历对应日期被更新,重新打开弹窗能看到新值。
|
||||||
|
- 修改结算价不会覆盖协议价;修改协议价也不会覆盖结算价,除非用户明确同时改两个字段。
|
||||||
|
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户