hl-api-changelog/changelogs-v2/2026-08/06_5592_需求变更后一键按新需求重派(删除旧派车后自动推荐车辆+司机)-新增接口-管理后台.md
API Changelog Bot 3fa393d0d7
一些检查失败了
changelog-filename-gate / validate (push) Failing after 1s
docs(5592): frontend_status=verified(改需求回待派车实测通过)
2026-08-08 09:29:50 +08:00

80 行
4.3 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

---
schema: "hl-changelog/v2"
ticket: "5592"
title: "需求变更后一键按新需求重派(删除旧派车后自动推荐车辆+司机)"
consumer: "admin"
author: "wx(GIT)"
change_type: "新增接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "verified"
frontend_owner: "mmg"
frontend_ref: "hl-admin@790e76ab1cadf44d81e610152432fb806144d898"
target_release: ""
verified_at: ""
status_note: "2026-08-07 协调台实测26-6457 改需求SUV→商务车后从 assigned 回「待派车」(旧派单清空待重派),页面含「一键清空」入口,改需求→重派流程通,标 verified。"
updated_at: "2026-08-07"
base: "dev-v3"
generated: "2026-08-06T14:48:09+08:00"
---
# 需求变更后一键按新需求重派(删除旧派车后自动推荐车辆+司机)
> 后端完成PR #5597 已合并 dev-v3 并部署 TEST,网关验证 3/3 通过。
## ⚠️ 口径最终确认wx,2026-08-07要的是【一键清空】
**不是"一键重派",是"一键清空"**——定制师改出发日期/人数/用车需求后,车务点【一键清空】把之前配置完的车辆清空。
**前端实现**
- 【一键清空】按钮 = 调**既有接口** `DELETE /admin/fleet/assignments/slots/{slotId}`Body: `{"reason":"需求变更,一键清空"}`),**不需要新接口**
- 删除联动取消已派车、日切片/快照/看板自动一致;返回 removedRowCount/cancelledAssignmentCount/retainedSlotIds
- 清空后:车务按新需求**手动**重新派(`auto-recommend` 仅推荐参考,**不自动配**
- 错误码605012 槽位不存在 / 605007 已最终确认不可删 / 605027 已出发不可删
下文的 auto-recommend 仅作推荐数据源(可选),清空动作走 DELETE /slots/{slotId}。
## 关联 / 联系人
### 链接
- **Issue**: [#5592](https://git.1814.love:8443/wx/HL/issues/5592)
- **PR**: [#5597](https://git.1814.love:8443/wx/HL/pulls/5597)
- **Merge commit**: [99baa37a8](https://git.1814.love:8443/wx/HL/commit/99baa37a8)
### 联系人
- **后端负责人**: @wx
## 背景与口径wx 2026-08-06 工单评论明确)
定制师改需求后车务手动删旧配置太麻烦 → 要"一键按新需求重派"。**关键约束**:系统不得自动取消/改派/重派任何派车——所有写操作必须车务手动点击;系统只做推荐/填充。**不是**自动标记待调整方案。
## 变更接口
| 方法 | 路径 | 来源 |
|---|---|---|
| `POST` | `/admin/fleet/assignments/slots/{slotId}/auto-recommend` | `AssignmentController`fleet |
**只读接口,不产生任何写操作**:按槽位车型/座位/日期/人数复用既有候选查询,推荐可用·车型匹配·座位充足的车辆 + 可用司机(常驻匹配优先)。
**请求**:无 Body仅 PathVar slotId,空缺待派槽位
**响应**`SlotAutoRecommendRespVO`
- `recommendedVehicle`推荐车辆vehicleId/plate/modelName/seats/passengerCapacity/vehicleTypeName/fleetTeamName/residentMatch
- `recommendedDriver`推荐司机driverId/name/maskedPhone/years/rating/driverStatus/residentMatch
- `vehicleAlternatives` / `driverAlternatives`:备选列表(各前 5
- `recommendNote`:推荐说明;`noRecommendation`:无可用推荐时 true
- **错误码**605012 槽位不存在
## 前端/调用方动作
1. 派车页(需求变更后):车务删除旧派车(既有 `DELETE /slots/{slotId}`)后,空缺槽位展示【一键重派】入口
2. 点击调用 `auto-recommend` → 展示推荐车辆+司机与备选(可切换)
3. 车务确认后走**既有派车接口**candidates + create/assign 流程)提交——**系统绝不自动写**,确认必须车务手动点击
## 验证证据
- 定向测试AssignmentServiceTest +3推荐 top 匹配车/司机与备选;无可用候选返回 noRecommendation;槽位不存在 605012;**只读断言**insert/update 均未调用);回归 421 用例全绿
- 网关验证TESTHL20260806115413191mpv 7 座 6 人,unassigned 槽 343603476254822400→ 推荐 蒙A-G8888 别克GL8 7 座 + 司机 巴雅尔8 年)+ 备选 5+5 + note"车型匹配·座位充足·档期可用";**DB 复核槽位仍 unassigned无写操作**;不存在槽位 → 605012
- 兼容性结论新增只读接口,无既有行为变更;verify 3170 用例全绿