diff --git a/changelogs-v2/2026-06/20_4116_提房需求每家酒店备注+分住明细转发房务详情-修改接口-管理后台.md b/changelogs-v2/2026-06/20_4116_提房需求每家酒店备注+分住明细转发房务详情-修改接口-管理后台.md new file mode 100644 index 0000000..9f7b5df --- /dev/null +++ b/changelogs-v2/2026-06/20_4116_提房需求每家酒店备注+分住明细转发房务详情-修改接口-管理后台.md @@ -0,0 +1,80 @@ +# 提房需求「每家酒店备注 + 每晚备注 + 分住明细」完整转发房务详情 — 修改接口 — 管理后台 + +> 变更类型:✨ 请求字段新增(每家酒店备注)+ 响应字段新增(房务详情转发结构化数据) +> 端类型:管理后台(定制师 · 调整订单/提房需求 → 房务 · 订单详情) +> 日期:2026-06-20 +> 服务:hl-order-service-v3 +> PR:https://git.1814.love:8443/wx/HL/pulls/4116 + +--- + +## ⚠️ 关键说明(给前端) + +定制师「调整订单 / 提房需求」填的结构化数据,要在房务抢单后的订单详情里**完整看到**。本次补齐:每家选的酒店可写备注、每晚可写备注,连同同晚分住的多家酒店全部透传房务。 + +### 1. 提房需求表单(定制师端,写入) + +`PUT /v3/admin/order/{id}/hotel-requirement`,body 里: + +| 备注类型 | 字段 | 状态 | +|---|---|---| +| **整单自定义备注** | 顶层 `remark`(≤500) | **早已存在**,前端把那个自定义备注输入框接到它即可(后端无改动) | +| **每晚备注** | `days[].remark`(≤200) | 早已存在 | +| **每家酒店备注** | `days[].hotels[].remark`(≤200) | **本次新增**,每家选的酒店可单独写备注(如「靠湖一侧/含双早/可加床」) | + +请求示例: + +```json +PUT /v3/admin/order/60001/hotel-requirement +{ + "days": [ + { + "dayNumber": 1, + "remark": "当晚整体安排说明", + "hotels": [ + {"hotelId": 80001, "hotelName": "湖景酒店", "roomCategory": "KING", "roomCount": 2, "budget": 900.00, "remark": "靠湖一侧"}, + {"hotelId": 80002, "hotelName": "山景酒店", "roomCategory": "TWIN", "roomCount": 1, "remark": "含双早(同一晚分住)"} + ] + } + ], + "specialTags": ["高楼层", "景观房"], + "remark": "整单自定义备注:客人怕吵" +} +``` + +### 2. 房务订单详情(房务端,读取 → 抢单后能看到全部) + +`GET /admin/house/orders/{orderId}` 的 `requirement.current`(即 `RequirementSnapshot`): + +| 字段 | 说明 | 状态 | +|---|---|---| +| `consultantRemark` | **整单自定义备注**(= 提房的顶层 `remark`) | 早已转发 | +| `specialTags` / `specialTagLabels` | 特殊诉求标签 | 早已转发 | +| `days[].remark` | **当晚备注** | **本次新增转发** | +| `days[].hotels[]` | **当晚定制师选的全部酒店明细**(含同晚分住多家,不再只给 1 家) | **本次新增** | + +`days[].hotels[]` 每项(`HotelChoice`): + +| 字段 | 类型 | 说明 | +|---|---|---| +| hotelId | String(雪花) | 定制师指定酒店 ID | +| hotelName | String | 酒店名快照 | +| roomCategory | String | 房型字典 code | +| roomCount | Integer | 房间数 | +| budget | String/null | 预算/晚 | +| remark | String | **每家酒店备注** | + +> 兼容:`days[]` 原有的扁平字段(`roomCategory/roomCount/budget/preferredHotelId`,取自当晚第 1 家)**保持不变**,老前端不受影响;本次只是**新增** `days[].remark` 与 `days[].hotels[]` 两项,房务详情其余结构零变化。 + +--- + +## 测试 + +- `HouseDetailAggregatorTest` 21/21 绿(新增 1 例:同晚分住 2 家 + 每家 hotelName/remark + 当晚 remark 完整转发,含既有扁平字段防回归断言);`RequirementServiceTest` 99/0(VO 加字段无序列化回归)。 +- 已部署测试服 order-v3 双实例 success;9443 实测:房务详情端点无回归、提房 VO 接受新 `days[].hotels[].remark`/`days[].remark` 字段。 +- 注:测试环境当前无可抢房务单,未在真实订单上观测到转发取值;映射逻辑由单测覆盖。 + +## 备注 + +- 网关无需改。 +- 定制师端「自定义备注输入框」「每家酒店备注输入框」UI 由前端实现,后端字段已就位。