diff --git a/changelogs-v2/2026-07/75_5097_改期旧配房人工清理-管理后台.md b/changelogs-v2/2026-07/75_5097_改期旧配房人工清理-管理后台.md new file mode 100644 index 0000000..b4dc141 --- /dev/null +++ b/changelogs-v2/2026-07/75_5097_改期旧配房人工清理-管理后台.md @@ -0,0 +1,107 @@ +# 房务改期旧配房人工清理 + +## 目标前端 + +- 端类型:管理后台(Web) +- 目标仓库:`mmg/hl-ui`(`https://git.1814.love:8443/mmg/hl-ui.git`) +- 联调/验收环境:`http://192.168.100.160:9527` +- 其他前端:小程序、H5 无需处理 + +> 服务:`hl-order-service-v3`(8086) +> PR:#5097 +> 日期:2026-07-21 +> 影响范围:房务订单详情弹窗的改期后旧配房清理和重新配房流程 + +--- + +## 关键变化 + +订单改期后,既有配房不再自动迁移到新日期,也不会自动变为新需求的可确认候选。后端将这些配房标记为待人工删除;房务必须逐条删除旧配房,再按新行程重新提交并确认配房。 + +当前后端已返回待清理数据和删除接口,但管理后台尚未消费该字段,导致页面无法完成该流程。 + +--- + +## 接口清单 + +| 接口 | 方法 | 路径 | 变更 | 用途 | +|------|------|------|------|------| +| 房务订单详情 | GET | `/admin/house/orders/{orderId}` | 响应新增字段 | 返回改期后待删除旧配房 | +| 删除配房 | DELETE | `/v3/admin/order/assignments/{assignmentId}` | 既有接口 | 删除一条待清理旧配房 | + +--- + +## 房务订单详情 + +### `GET /admin/house/orders/{orderId}` + +响应 `data` 新增 `pendingRescheduleAssignments`: + +| 字段 | 类型 | 说明 | +|------|------|------| +| `assignmentId` | String | 待删除配房 ID | +| `originalStayDate` | String | 原入住日期,格式 `yyyy-MM-dd` | +| `hotelId` | String | 原酒店 ID | +| `hotelName` | String | 原酒店名称快照 | +| `roomTypeId` | String | 原房型 ID | +| `roomTypeName` | String | 原房型名称,资源不可用时可为空 | +| `roomCategory` | String | 房型字典 code | +| `roomCategoryLabel` | String | 房型中文 | +| `roomCount` | Integer | 房间数量 | +| `assignmentStage` | String | `UNCONFIRMED`、`DAY_CONFIRMED`、`FINAL_CONFIRMED` | +| `assignmentStageLabel` | String | 未单日确认、单日确认、最终确认 | +| `deleteEndpoint` | String | 本条配房的删除接口 | + +无待清理配房时该字段返回空数组。 + +```json +{ + "code": 0, + "data": { + "pendingRescheduleAssignments": [ + { + "assignmentId": "2079430000000000001", + "originalStayDate": "2026-07-23", + "hotelId": "2001", + "hotelName": "旧日期酒店", + "roomTypeId": "3001", + "roomTypeName": "标准大床房", + "roomCategory": "STANDARD", + "roomCategoryLabel": "标准间", + "roomCount": 2, + "assignmentStage": "DAY_CONFIRMED", + "assignmentStageLabel": "单日确认", + "deleteEndpoint": "DELETE /v3/admin/order/assignments/2079430000000000001" + } + ] + } +} +``` + +--- + +## 前端处理规则 + +1. `pendingRescheduleAssignments` 非空时,在房务订单详情中显示“改期前待清理配房”区域,逐条展示原入住日期、酒店、房型、房间数和配房阶段。 +2. 每条记录使用其 `deleteEndpoint` 调用删除配房接口;删除成功后重新获取订单详情。 +3. 待清理列表非空时,禁用最终确认,并提示“改期前旧日期配房尚未清理,请逐条删除”。 +4. 删除完成后,由房务按当前行程重新提交配房候选,再执行单日确认。不得直接对旧配房调用确认接口。 +5. `assignmentStage` 仅作展示,不可通过编辑旧配房绕过删除步骤。 + +--- + +## 边界行为 + +- 直接确认旧配房不会产生候选,接口将返回 `808118`“该天无可确认的询房中候选”。 +- 旧配房未清理时,最终确认返回 `808183`,不得绕过。 +- 删除后重新配房仍沿用现有提交和单日确认接口,无新增请求体字段。 + +## 不影响范围 + +- 抢单池、领取、转单和释放流程不变。 +- 小程序、H5 无需适配。 +- 非改期订单的详情和配房流程不变。 + +## 相关文档 + +- PR:[#5097](https://git.1814.love:8443/wx/HL/pulls/5097)