docs(changelog-v2): 新增60_房务订单详情itinerary收口为单父数组assignments(每项带confirmStatus+confirmStatusLabel),删currentAssignment/currentAssignments/inquiringAssignments/currentSelections
这个提交包含在:
父节点
10037c3266
当前提交
eae2998409
@ -0,0 +1,53 @@
|
||||
# 房务订单详情「配房行程」itinerary 收口为一个父数组 `assignments`(每项带 confirmStatus + confirmStatusLabel)
|
||||
|
||||
> 模块:管理后台 · 房务订单详情弹窗 · 配房行程
|
||||
> 接口:`GET /admin/house/orders/{orderId}` → `data.itinerary[]`
|
||||
> 类型:后端结构收口(破坏性变更,前端必改;已合并 dev-v3 + 部署测试服 + API 实测闭环)
|
||||
> 日期:2026-06-30 · 关联 PR #4672
|
||||
|
||||
## 背景
|
||||
原 `itinerary[].` 把同一批配房按状态拆进**多个并列父数组**,且彼此重叠(前端没法简单回显、不知道读哪个):
|
||||
- `currentAssignment`(已废弃单数)、`currentAssignments`(CONFIRMED 子集)、`inquiringAssignments`(INQUIRING 子集)、`currentSelections`(INQUIRING∪CONFIRMED 全集)。
|
||||
|
||||
经与前端讨论拍板:**同一种数据的不同状态用一个父数组、每项自带状态**(以后类似接口同此约定)。
|
||||
|
||||
## 变更(前端必改)
|
||||
`itinerary[]` 每个 Day:
|
||||
|
||||
### ❌ 删除的字段(不再返回)
|
||||
- `currentAssignment`
|
||||
- `currentAssignments`
|
||||
- `inquiringAssignments`
|
||||
- `currentSelections`(改名为 `assignments`)
|
||||
|
||||
### ✅ 新增/保留:唯一父数组 `assignments[]`
|
||||
当天**全部 active 配房**(询房中 INQUIRING ∪ 已确认 CONFIRMED 各态**混在一个数组**),无配房返空数组 `[]`(不返 null)。每项:
|
||||
|
||||
```json
|
||||
{
|
||||
"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`,如单日确认弹窗的 keepAssignmentIds)→ `assignments.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`,前端按状态字段渲染/过滤;**不再按状态拆成多个并列父数组**。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户