# 提房需求「每家酒店备注 + 每晚备注 + 分住明细」完整转发房务详情 — 修改接口 — 管理后台 > 变更类型:✨ 请求字段新增(每家酒店备注)+ 响应字段新增(房务详情转发结构化数据) > 端类型:管理后台(定制师 · 调整订单/提房需求 → 房务 · 订单详情) > 日期: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 由前端实现,后端字段已就位。