hl-api-changelog/changelogs-v2/2026-06/24_4367_配房选酒店一步定房型房间数_管理后台.md

3.2 KiB

配房「选酒店一步定房型+房间数」(后端提交链路 + 回显已就绪,前端做弹窗交互;已上线测试服)

变更类型: 修改接口(回显补 roomCount,additive+ 📖 提交契约说明(提交链路本就支持,前端按此对接) 端类型:管理后台(房务管家·配房「选择酒店」弹窗) 日期2026-06-24 工单:#4367 PR#4368 服务hl-order-service-v3 关联:配合产品需求「配房选酒店时选房型+填房间数,一天多酒店多房型,房间数与房型绑定」。


⚠️ 关键说明

  • 后端提交链路早就支持多酒店多房型 + 房间数绑房型,前端按下方契约对接即可;本次后端只补了回显 roomCount(原漏接)。
  • 「房间数与房型绑定」= 提交时 roomTypeIdroomCount同一个 item 里;一天多酒店多房型 = 一天提交多个 item。

1. 提交配房方案(房控选酒店实配)

POST /v3/admin/order/hotel-requirements/{requirementId}/assignments

请求体 AssignmentSubmitReqVO

{
  "items": [
    {"dayNumber":1, "hotelId":3001000000000000002, "roomTypeId":3002000000000000002, "roomCategory":"STANDARD", "roomCount":2, "sellPrice":320.00, "remark":"靠湖"},
    {"dayNumber":1, "hotelId":2023714929877450753, "roomTypeId":2023727403196502017, "roomCategory":"STANDARD", "roomCount":1, "sellPrice":320.00, "remark":""}
  ]
}

items[]AssignmentItemReqVO)字段:

字段 类型 必填 说明
dayNumber Integer 第几晚1-based一天多酒店多房型 = 多个 item 用同一 dayNumber
hotelId Long 酒店 ID取自 hotel-candidates 候选)
roomTypeId Long 房型 ID取自候选的 roomTypes[].roomTypeId
roomCategory String 房型字典 coderoomTypes[].roomCategory,如 STANDARD/TWIN/KING
roomCount Integer 间数≥1。与本 item 的 roomTypeId 同行 = 房间数绑房型
sellPrice BigDecimal 售价(元/间·晚)
remark String 备注

→ 后端每个 item 落一行 house_hotel_assignment(含 room_type_id + room_count

2. 回显(本次后端补 roomCount

GET /v3/admin/order/{id}/itinerarydata.hotelGroup.assignments[]HotelAssignmentVO新增

字段 类型 说明
roomCount Integer 本晚本酒店本房型的间数(房间数与房型同行绑定回显;原漏接,本次补)

assignments 其余字段 dayNumber/stayDate/hotelName/roomType/plannedCost/remark 不变。)

3. 前端动作(弹窗交互,后端无需再改)

  • 「选择酒店」弹窗每个候选酒店行,操作区加:
    1. 房型下拉:用 candidate.roomTypes 生成(展示 name + 协议价 + 可用房;inventoryStatus≠AVAILABLE 置灰)。
    2. 房间数输入:整数,默认 1。
  • 支持一天加多行(同一晚选多个酒店 / 同酒店多房型),每行 = 一个酒店+房型+房间数。
  • 提交时构造 items[](每行一个 item,同晚多行用同 dayNumber,调上面的 assignments 接口。
  • 详情回显读 assignments[].roomCount 展示已配间数。