docs(changelog-v2): 房务详情逐日城市改区县+候选真实房型roomTypeId(#4300/#4305)+聊天发送人企微名(#4309)
这个提交包含在:
父节点
a47eeeedcb
当前提交
b658d8671d
@ -0,0 +1,46 @@
|
|||||||
|
# 房务订单详情:逐日城市改显区县(跨区县拆分)+ 配房需求候选酒店暴露真实房型 roomTypeId(已上线测试服·可对接)
|
||||||
|
|
||||||
|
> 变更类型:✅ 修改接口(字段语义变更 + 新增字段,已部署测试服并 API 验证,可对接)
|
||||||
|
> 端类型:管理后台(房务订单详情「配房行程 / 定制师需求」DAY 卡片)
|
||||||
|
> 日期:2026-06-23 | 工单:#4297、#4204(P3) | PR:#4300、#4305 | 服务:hl-order-service-v3
|
||||||
|
> 接口:`GET /admin/house/orders/{orderId}` → `data.requirement.current.days[]`(及历史版本 `recentHistory[].snapshot.days[]`)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 背景
|
||||||
|
1. 之前 DAY 卡片的「城市」显示**市级**(呼伦贝尔市)。wx 要求改显**区县**(海拉尔区),且**同一天多家候选酒店分属不同区县时,全部拆分展示**。
|
||||||
|
2. wx 要求配房需求**按酒店分类、一个酒店一个房型**——候选酒店应携带**自己的真实房型**(#4204 epic 的房控侧读取 P3)。
|
||||||
|
|
||||||
|
## 1. `days[].city` 语义变更:市级 → 区县(可多值)
|
||||||
|
`requirement.current.days[].city`(字段名**不变**)取值由市级改为**区县级**,取该天**全部候选酒店**的资源区县去重:
|
||||||
|
- 单区县:`"海拉尔区"`
|
||||||
|
- **多区县**(候选跨区县):用顿号 `、` 拼接,如 `"满洲里市、海拉尔区"`、`"额尔古纳市、满洲里市"`
|
||||||
|
- 区县均解析不到时兜底市级,**绝不为空**。
|
||||||
|
|
||||||
|
**前端注意**:该字段现在**可能是多个区县拼接的字符串**,按整串原样展示即可,**勿假设单值/勿按固定宽度截断**。无需改数据结构,仅展示语义。
|
||||||
|
|
||||||
|
## 2. 候选/酒店新增真实房型字段(#4204 P3,additive)
|
||||||
|
`days[].hotels[]`(逐酒店平铺)与 `days[].segments[].candidates[]`(逐段候选)各**新增 3 字段**:
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|---|---|---|
|
||||||
|
| `roomTypeId` | String(雪花,可空) | 该候选酒店的**真实房型 ID**(指向 resource 域具体房型) |
|
||||||
|
| `roomTypeName` | String(可空) | 该候选酒店的**真实房型名称**(如「豪华大床房」),定制师提交时所选 |
|
||||||
|
| `protocolPrice` | 数值(可空) | 该候选的协议价快照 |
|
||||||
|
|
||||||
|
**前端「按酒店分类」渲染**:以 `hotels[]` 为主体逐家展示,每家显示**它自己的** `roomTypeName`(而非段级抽象 `roomCategory`)。段级 `roomCategory/roomCount/budget` 仍保留(兼容、分住分组用)。
|
||||||
|
|
||||||
|
**数据可见性**:`roomTypeId/roomTypeName` 仅当定制师提交需求时**录入了每家酒店的真实房型**才有值;历史/旧单缺数据时为 `null`(前端回退展示段级 `roomCategory` 即可)。
|
||||||
|
|
||||||
|
## 3. 待前端配合(#4204 P5,mmg)
|
||||||
|
要让候选酒店都带上真实房型,定制师**提交配房需求的面板**需改为「**先选候选酒店 → 再从该酒店真实房型里选**」,把所选 `roomTypeId` 随候选提交(后端写入侧 P1 已就绪)。本条后端读侧(P3)已备好,该面板改造完成后真实房型即贯穿展示。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 附:聊天发送人名(#4309,纯后端,前端无需改)
|
||||||
|
内部留言/聊天发送人名解析(hl-user-service `resolveName`)改为「**绑企微 → 企微名,未绑 → 用户名**」三级口径(落地已登记 P2)。`senderName` 字段**不变**,为发送时快照(改名不影响历史),**对新发消息生效**,历史消息保持原快照。前端无需任何改动。
|
||||||
|
|
||||||
|
## 验证(测试服 order `2068234602970828802` 实测)
|
||||||
|
- `days[0].city = "满洲里市、海拉尔区"`、`days[1].city = "额尔古纳市、满洲里市"`(多区县拆分生效)。
|
||||||
|
- `days[].hotels[].roomTypeId/roomTypeName` 已暴露(如 `普通标间`/`俄式标准房` + 真实 roomTypeId)。
|
||||||
|
- order-v3 全量单测 + ArchTest 门禁全绿;双实例滚动部署健康。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户