50 行
2.5 KiB
Markdown
50 行
2.5 KiB
Markdown
---
|
||
schema: "hl-changelog/v2"
|
||
ticket: "5936"
|
||
title: "排车新增「清空司机/车辆选中(软清·保留行)」轻动作"
|
||
consumer: "admin"
|
||
author: "wx"
|
||
change_type: "新增接口"
|
||
backend_status: "deployed"
|
||
gateway_status: "verified"
|
||
frontend_status: "pending"
|
||
frontend_owner: ""
|
||
frontend_ref: ""
|
||
target_release: ""
|
||
verified_at: ""
|
||
status_note: "后端完成:PR #5981 已合并 dev-v3 并部署 TEST(hl-fleet-service 双实例 UP)。网关真 token 实测软清端点:软清后行保留/vehicle+driver 置空/状态回 unassigned/无取消历史/占用释放可重派;已出发 605043、已结束 605047 门禁拦截。"
|
||
updated_at: "2026-08-15"
|
||
base: "dev-v3"
|
||
generated: "2026-08-15T23:55:00+08:00"
|
||
---
|
||
|
||
# 排车新增「清空司机/车辆选中(软清·保留行)」轻动作(#5936)
|
||
|
||
## 背景
|
||
|
||
排车已选司机/车辆后,之前要么整行取消(DELETE,过重、进取消历史、价格口径被清),要么 driver-reject(硬性转 HOLDING 且清确认痕迹)。运营需要一个**轻动作**:只把当前选中的司机/车辆清空、行本身留下继续重派。
|
||
|
||
## 变更接口
|
||
|
||
| 接口 | 变更 |
|
||
| --- | --- |
|
||
| `POST /admin/fleet/assignments/{assignmentId}/soft-clear-assignment` | **新增**。软清:vehicle_id/driver_id 置空 → 状态回 `unassigned`,**保留派车行本体、价格/收费口径不动、不算取消、不进取消历史** |
|
||
|
||
## 行为口径
|
||
|
||
- **可软清状态**:`holding`、`assigned`。已出发返 **605043**、已结束返 **605047**;`canceled`/`completed` 历史行不动。
|
||
- **保留**:派车行、价格快照、确认痕迹;**不清**排车确认痕迹、**不发**取消事件。
|
||
- **副作用**:撤需求级定稿章(否则软清行被定稿封死无法重派);占用按组 `OCCUPANCY_RECOMPUTE` 释放,**可同槽位重派**。
|
||
- 与取消(DELETE)、driver-reject 三者的语义边界见 API-SPEC-FLEET §8.x。
|
||
|
||
## 前端动作
|
||
|
||
- 新增「清空司机/车辆」按钮(仅 `holding`/`assigned` 态可见),调本端点。
|
||
- 软清成功后行留在看板「待派车」,可直接重派;**不要**跳取消历史、不要刷新价格。
|
||
- 对已出发(605043)/已结束(605047)按钮置灰或拦截提示。
|
||
|
||
## 验证证据
|
||
|
||
- AssignmentServiceTest 499/499(基线 489 + 新增 10 个软清用例)+ ClearCancelledOccupancy 7 + FleetRedLineArchTest 13 全绿,spotless 通过。
|
||
- 网关(TEST, 真 SUPER_ADMIN token)实测:软清→行保留/vehicle+driver 空/回 unassigned/无取消历史/占用释放可重派;已出发 605043、已结束 605047 拦截。
|