所有检测均成功
changelog-filename-gate / validate (push) Successful in 1s
修改原因:hl-ui changelog loop 需要把前端消费进度回写到契约源,避免领取、实现状态与实际交付脱节。 修改内容:将 frontend_status 与已有 legacy frontend 同步为 implemented,记录负责人 hl-ui-codex,并关联 mmg/hl-ui@28a4a78888777a50b11c37a69d4bb42d43d0e552;发布和验收字段保持不变。 实际验证:回写器已校验目标文件、状态单调性、提交范围和 Front Matter 内容,提交只包含当前 changelog。 Frontend-Status: tools/mcp-api-sync/.changelog-repo/changelogs-v2/2026-07/23_5176_房务配房彻底移除成交价历史字段-修改接口-管理后台.md
120 行
3.8 KiB
Markdown
120 行
3.8 KiB
Markdown
---
|
||
frontend_status: "implemented"
|
||
frontend_owner: "hl-ui-codex"
|
||
frontend_ref: "mmg/hl-ui@28a4a78888777a50b11c37a69d4bb42d43d0e552"
|
||
updated_at: "2026-07-25T03:14:52.995Z"
|
||
---
|
||
# 房务配房价格模型收口为协议价与结算价
|
||
|
||
> **服务**: hl-order-service-v3
|
||
> **Issue**: [wx/HL#5176](https://git.1814.love:8443/wx/HL/issues/5176)
|
||
> **PR**: [wx/HL#5179](https://git.1814.love:8443/wx/HL/pulls/5179)
|
||
> **日期**: 2026-07-23
|
||
> **影响范围**: 管理后台 · 房务配房提交/修改/详情、订单行程住宿回配展示
|
||
|
||
---
|
||
|
||
## 关键变化
|
||
|
||
房务配房价格只保留两个权威字段:
|
||
|
||
| 字段 | 含义 |
|
||
|------|------|
|
||
| `protoPrice` | 协议价快照,元/间·晚 |
|
||
| `settlementPrice` | 结算价快照,元/间·晚 |
|
||
|
||
历史 `sellPrice` 已从房务请求、响应、持久化、快照和内部契约中删除。订单行程住宿回配对象同时删除为兼容历史展示而重复返回的 `unitPrice`、`plannedCost`、`protocolPrice`;前端不得继续提交、读取或回退这些字段。
|
||
|
||
本变更仅清理房务配房链路,不影响行程节点、结算票等其他业务域中的同名价格字段。
|
||
|
||
---
|
||
|
||
## 变更接口
|
||
|
||
| 接口 | 方法 | 路径 | 变更 |
|
||
|------|------|------|------|
|
||
| 提交配房方案 | POST | `/v3/admin/order/hotel-requirements/{requirementId}/assignments` | 入参项删除 `sellPrice` |
|
||
| 修改单条配房 | PUT | `/v3/admin/order/assignments/{assignmentId}` | 入参删除 `sellPrice` |
|
||
| 房务订单详情 | GET | `/admin/house/orders/{orderId}` | `itinerary[].assignments[]` 删除 `sellPrice` |
|
||
| 订单行程详情 | GET | `/v3/admin/order/{orderId}/itinerary` | `hotelGroup.assignments[]` 删除重复价格字段,改为双价 |
|
||
|
||
### 配房提交/修改入参
|
||
|
||
只提交:
|
||
|
||
```json
|
||
{
|
||
"protoPrice": 588.00,
|
||
"settlementPrice": 688.00
|
||
}
|
||
```
|
||
|
||
不要再提交:
|
||
|
||
```json
|
||
{
|
||
"sellPrice": 688.00
|
||
}
|
||
```
|
||
|
||
### 房务详情配房项
|
||
|
||
`data.itinerary[].assignments[]` 当前价格字段:
|
||
|
||
```json
|
||
{
|
||
"protoPrice": "588.00",
|
||
"settlementPrice": "688.00"
|
||
}
|
||
```
|
||
|
||
已删除:`sellPrice`。
|
||
|
||
### 订单行程住宿回配项
|
||
|
||
`data.hotelGroup.assignments[]` 当前价格字段:
|
||
|
||
```json
|
||
{
|
||
"protoPrice": "588.00",
|
||
"settlementPrice": "688.00"
|
||
}
|
||
```
|
||
|
||
已删除:
|
||
|
||
- `sellPrice`
|
||
- `unitPrice`
|
||
- `plannedCost`
|
||
- `protocolPrice`
|
||
|
||
前端价格列直接读取 `settlementPrice`;需要同时展示成本参考时读取 `protoPrice`。不要为兼容旧页面在本地重新合成 `unitPrice`、`plannedCost` 或 `sellPrice`。
|
||
|
||
---
|
||
|
||
## 金额口径
|
||
|
||
- 房务配房、房务详情和订单行程详情均直接返回落库快照,不按当前资源价格日历重算。
|
||
- 终止退款住宿单价改为从房务只读契约读取 `settlementPrice`;对外退款明细字段名仍为 `dealPrice`。
|
||
- 签单住宿成本仍读取 `protoPrice`。
|
||
- 核单住宿计划/实际成本继续按 `settlementPrice × roomCount` 派生,对外核单字段不在本次删除范围。
|
||
|
||
---
|
||
|
||
## 前端处理
|
||
|
||
1. 删除所有房务配房请求中的 `sellPrice`。
|
||
2. 房务详情和订单行程住宿价格统一展示 `settlementPrice`。
|
||
3. 协议价展示读取 `protoPrice`。
|
||
4. 删除对 `sellPrice`、`unitPrice`、`plannedCost`、`protocolPrice` 的兼容读取与回退逻辑。
|
||
5. 若接口返回的 `protoPrice` 或 `settlementPrice` 为 `null`,按统一空值样式展示,不用另一字段伪造。
|
||
|
||
---
|
||
|
||
## 后端验证
|
||
|
||
- 房务提交、修改、详情、历史快照、内部聚合、订单详情、退款和核单定向测试通过。
|
||
- 订单详情集成测试确认仅返回 `protoPrice`、`settlementPrice`,旧价格字段不存在。
|
||
- Flyway 新增迁移,精确删除 `house_hotel_assignment.sell_price` 与 `house_requirement_assignment_snapshot.sell_price`;其他业务域同名列不受影响。
|
||
- `D:/work2/hl-ui` 未修改,前端适配由管理后台项目单独处理。
|