diff --git a/changelogs-v2/2026-06/24_配房选酒店弹窗需补房型选择与房间数输入_管理后台.md b/changelogs-v2/2026-06/24_配房选酒店弹窗需补房型选择与房间数输入_管理后台.md new file mode 100644 index 0000000..701a01b --- /dev/null +++ b/changelogs-v2/2026-06/24_配房选酒店弹窗需补房型选择与房间数输入_管理后台.md @@ -0,0 +1,35 @@ +# 配房「选择酒店」弹窗需补「选房型 + 填房间数」(后端 roomTypes 已就绪,前端加 UI;后端无改动) + +> 变更类型:📖 前端待办(后端数据 / 契约已齐备,本篇为对接说明) +> 端类型:管理后台(配房·「选择酒店」弹窗) +> 日期:2026-06-24 | 服务:hl-order-service-v3 | 接口:`GET /v3/admin/hotel-candidates` + +--- + +## ⚠️ 关键说明(前端功能缺失,后端无需改) +- **现象**:配房「选择酒店」弹窗当前只能勾选酒店,不能选房型、不能填房间数。 +- **定位**:**后端已备好数据**——`hotel-candidates` 每个候选酒店已返回完整 `roomTypes`(房型选项数组);提交配房需求 VO 也支持 `roomTypeId` + `roomCount`。**缺的是前端弹窗的房型下拉 + 房间数输入控件**。 + +## 1. 候选房型选项(已返回,前端据此生成房型下拉) +`GET /v3/admin/hotel-candidates` → `data.candidates[].roomTypes[]`(`RoomTypeOption`): + +| 字段 | 类型 | 说明 | +|---|---|---| +| `roomTypeId` | String(雪花) | 房型 ID(提交配房需求时回传) | +| `name` | String | 房型名称(如「精品标间」「豪华大床房」) | +| `roomCategory` | String | 房型分类(字典 room_category:TWIN/KING/...) | +| `bedType` | String | 床型 | +| `maxOccupancy` | Integer | 最大入住人数 | +| `available` / `stock` | Integer | 今日可用房数 / 总库存 | +| `protocolPrice` / `basePrice` | String | 协议价 / 标价 | +| `inventoryStatus` | String | AVAILABLE / FULL / CLOSED | + +## 2. 前端动作 +- 弹窗每个候选酒店行,**操作区加**: + 1. **房型下拉**:用该酒店的 `candidate.roomTypes` 生成(展示 `name`,可附协议价 / 可用房;`inventoryStatus≠AVAILABLE` 的房型置灰或标记)。 + 2. **房间数输入框**:整数,默认 1。 +- 选定酒店 + 房型 + 房间数后回填配房需求候选,**提交时带回**:候选 `roomTypeId`(选中房型)+ 段 `roomCount`(房间数)。 +- 提交契约见配房需求提交 VO `HotelRequirementReqVO`:`days[].segments[].roomCount`(房间数)+ `segments[].candidates[].roomTypeId` / `roomTypeName`(房型)。 + +## 3. 说明 +后端在工单 #4204 已把房型下沉到候选级、`hotel-candidates` 暴露 `roomTypes`,本期「默认不按城市」(#4363)也已让候选跨城列全。房型选择与房间数填写纯属前端弹窗交互补全,后端无改动。