hl-api-changelog/changelogs-v2/2026-06/60_房务订单详情配房行程itinerary收口为单父数组assignments_前端对接-管理后台.md

2.9 KiB

房务订单详情「配房行程」itinerary 收口为一个父数组 assignments(每项带 confirmStatus + confirmStatusLabel

模块:管理后台 · 房务订单详情弹窗 · 配房行程 接口:GET /admin/house/orders/{orderId}data.itinerary[] 类型:后端结构收口(破坏性变更,前端必改;已合并 dev-v3 + 部署测试服 + API 实测闭环) 日期2026-06-30 · 关联 PR #4672

背景

itinerary[]. 把同一批配房按状态拆进多个并列父数组,且彼此重叠(前端没法简单回显、不知道读哪个):

  • currentAssignment(已废弃单数)、currentAssignmentsCONFIRMED 子集)、inquiringAssignmentsINQUIRING 子集)、currentSelectionsINQUIRINGCONFIRMED 全集)。

经与前端讨论拍板:同一种数据的不同状态用一个父数组、每项自带状态(以后类似接口同此约定)。

变更(前端必改)

itinerary[] 每个 Day

删除的字段(不再返回)

  • currentAssignment
  • currentAssignments
  • inquiringAssignments
  • currentSelections(改名为 assignments

新增/保留:唯一父数组 assignments[]

当天全部 active 配房(询房中 INQUIRING 已确认 CONFIRMED 各态混在一个数组),无配房返空数组 [](不返 null。每项

{
  "assignmentId": "2071869830406815746",
  "hotelId": "2029926129876320258",
  "hotelName": "海拉尔嘉世豪酒店",
  "roomTypeId": "2029944763138936834",
  "roomTypeName": "豪华大床房",
  "roomCategory": "DELUXE",
  "confirmStatus": "INQUIRING",        // INQUIRING=询房中 / CONFIRMED=已确认
  "confirmStatusLabel": "询房中",       // 新增confirmStatus 的中文 label
  "roomCount": 4,
  "protoPrice": "420.00",
  "sellPrice": "420.00"
}

前端怎么用

  • 直接渲染 assignments[] 这一个列表,每项按自己的 confirmStatusLabel 显示状态徽章(询房中/已确认)。
  • 要某状态子集自行过滤:
    • 询房中候选(原 inquiringAssignments,如单日确认弹窗的 keepAssignmentIdsassignments.filter(a => a.confirmStatus === 'INQUIRING')
    • 已确认(原 currentAssignments)→ assignments.filter(a => a.confirmStatus === 'CONFIRMED')

不变(无需改)

  • Day 级整体状态徽章 arrange / arrangeLabel(待配房 pending / 询房中 waiting / 已确认 confirmed保留不变——这是「整天」状态,与「单项」confirmStatus 是两回事。
  • dayNumber / stayDate / cityCode / cityName / expectedRoom / candidatePoolSummary / primaryAction 等其它 Day 字段不变。

约定(团队级,后续接口同此)

凡「同一种数据有多种状态」的列表,统一返一个父数组、每项带 xxxStatus + xxxStatusLabel,前端按状态字段渲染/过滤;不再按状态拆成多个并列父数组