docs: notify house assignment price snapshot contract

这个提交包含在:
API Changelog Bot 2026-07-06 17:59:43 +08:00
父节点 32374f6be7
当前提交 bc0ae2c3f8

查看文件

@ -0,0 +1,110 @@
# 30_4782_房务配房价格快照与询房酒店名-修改接口-管理后台
- 状态frontend-todo
- 后端工单wx/HL#4782
- 影响端:管理后台 `hl-ui-v2.1` 房务/订单详情
- 关联文档:`docs/order-v3/api/API-SPEC-HOUSE-V1.1.html` v1.1.9
## 背景
房务配房时,协议价、结算价、成交价都需要按“配房当时”冻结到订单配房表。后续资源价格日历变化不能反向改历史订单。
同时,房务在配房弹窗里改协议价/结算价时,不能默认同步到资源价格日历,必须由房务显式选择是否同步。
## 前端改动点
### 1. 配房提交/替换要传价格快照
接口:`POST /v3/admin/order/hotel-requirements/{requirementId}/assignments`
`items[]` 新增/明确字段:
```json
{
"protoPrice": "320.00",
"settlementPrice": "300.00",
"sellPrice": "340.00",
"syncProtocolPrice": false,
"syncSettlementPrice": false
}
```
- `protoPrice`:协议价快照。
- `settlementPrice`:结算价快照。
- `sellPrice`:售价/成交价快照。
- `syncProtocolPrice`:是否把本次 `protoPrice` 写回资源价格日历。
- `syncSettlementPrice`:是否把本次 `settlementPrice` 写回资源价格日历。
### 2. 修改单条配房也要支持同步选择
接口:`PUT /v3/admin/order/assignments/{assignmentId}`
请求体同样支持:
```json
{
"protoPrice": "330.00",
"settlementPrice": "310.00",
"sellPrice": "350.00",
"syncProtocolPrice": false,
"syncSettlementPrice": true,
"remark": "酒店周末加价 20"
}
```
前端交互要求:
- 房务改了协议价时,弹出是否同步到资源价格日历,结果写入 `syncProtocolPrice`
- 房务改了结算价时,弹出是否同步到资源价格日历,结果写入 `syncSettlementPrice`
- 默认不同步,不能静默写回资源。
- `sellPrice` 不参与资源价格日历写回。
### 3. 选酒店列表需要展示并携带结算价
resource 候选/库存返回里会带 `settlementPrice`。前端选中房型加入已选列表时,需要保留:
- 协议价:`protocolPrice`/`protoPrice`
- 结算价:`settlementPrice`
- 成交价:`sellPrice`
提交配房时把这些快照一起传给 order-v3。
### 4. 清空配房必须二次确认
接口:`DELETE /v3/admin/order/hotel-requirements/{requirementId}/assignments`
前端清空前必须连续两次确认:
1. 第一次说明:将清空当前需求下全部已配房信息,不释放抢单人。
2. 第二次说明:清空后需要重新配房/重新最终确认,已扣库存会释放。
任一确认取消都不能调用接口。接口成功后刷新订单详情,状态会回退到配房中/待配房,不应继续显示最终确认。
### 5. 询房复制话术必须带酒店名
前端自拼 `messageBody` 时必须带酒店名,推荐格式:
```text
@张经理 伯爵大酒店 2026-07-24 入住 1 晚, 需要 1 间标间, 请问还有房吗? 方便报个价
```
没有联系人时不要生成孤立 `@`
后端 preview 兜底模板也会自动带酒店名,并兼容旧文案补酒店名;但前端仍应按新格式拼,避免复制框首屏缺酒店名。
### 6. Internal 配房快照响应新增价格字段
接口:`GET /v3/internal/house/orders/{orderId}/assignments`
`items[]` 新增:
```json
{
"protoPrice": "320.00",
"settlementPrice": "300.00",
"sellPrice": "340.00",
"confirmStatus": "CONFIRMED"
}
```
下游读取订单配房酒店信息时,以这些字段作为订单当时快照,不要重新按当前资源价格日历推断历史价格。