hl-api-changelog/changelogs-v2/2026-08/12_5915_看板删除换车请求状态-修改接口-管理后台.md
API Changelog Bot 57bf865c3b
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
docs(changelog): 看板删除换车请求状态(#5915 / PR #5925)
2026-08-12 17:55:45 +08:00

104 行
4.2 KiB
Markdown

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

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

---
schema: "hl-changelog/v2"
ticket: "5915"
title: "看板删除「换车请求」状态——statusOptions/statusCounts 不再含该无效项,statuses 不再接受 change_requested"
consumer: "admin"
change_type: "修改接口"
author: "wx(GIT)"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "pending"
frontend_owner: "mmg"
frontend_ref: ""
target_release: ""
verified_at: "2026-08-12"
status_note: "后端已删除并部署测试服,API 实测通过。看板「换车请求」状态依赖 fleet_change_request 表,该表 M1 从未落地change_requested 派生态恒为空、计数恒 0、筛选恒返空,是无效展示项,按 wx 指示整体删除。实测 summarystatusOptions=[unassigned,holding,assigned,completed,canceled]无换车请求、statusCounts 无 changeRequested 字段;statuses=change_requested 现按 100001 参数非法拒绝原恒返空。前端待接入pending若看板状态下拉/筛选仍硬编码「换车请求」项需同步移除;若纯渲染后端 statusOptions 则自动受益。"
updated_at: "2026-08-12"
base: "dev-v3"
---
# 看板删除「换车请求」状态(#5915 / PR #5925
> **服务**: hl-fleet-service
> **PR**: #5925
> **日期**: 2026-08-12
> **背景**: 看板「换车请求」状态依赖 fleet_change_request 表,该表 M1 从未落地 → change_requested 派生态恒为空、计数恒 0、筛选恒返空,是无效展示项。按 wx 指示整体删除该看板状态。
---
## 变更接口
- `GET /admin/fleet/board/summary`(看板汇总)
- `GET /admin/fleet/board/orders`看板列表,statuses 筛选)
---
## 契约变化
### 1. summary.statusOptions 移除「换车请求」项
| 项 | 旧 | 新 |
|---|---|---|
| `statusOptions[].value` | 含 `change_requested` | 仅 `unassigned/holding/assigned/completed/canceled` |
| `statusOptions[].label` | 含 `换车请求` | 仅 `待派车/排车中/已派车/已完结/已取消` |
实测返回:
```json
"statusOptions": [
{"value":"unassigned","label":"待派车"},
{"value":"holding","label":"排车中"},
{"value":"assigned","label":"已派车"},
{"value":"completed","label":"已完结"},
{"value":"canceled","label":"已取消"}
]
```
### 2. summary.statusCounts 移除 changeRequested 字段
| 字段 | 旧 | 新 |
|---|---|---|
| `statusCounts.changeRequested` | 恒 `0`(不落库,占位) | **字段删除**,不再下发 |
实测 `statusCounts` keys = `[unassigned, holding, assigned, completed, canceled, unassignedUrgent, holdingUrgent]`,无 `changeRequested`
### 3. statuses 筛选不再接受 change_requested
| 入参 | 旧 | 新 |
|---|---|---|
| `statuses=change_requested` | 恒返空页M1 无表,非报错) | **100001 参数非法**`statuses 含非法状态值change_requested合法值unassigned/unassigned_urgent/holding/holding_urgent/assigned/canceled/completed` |
实测:
```json
{"code":100001,"message":"参数非法: statuses 含非法状态值change_requested合法值unassigned/unassigned_urgent/holding/holding_urgent/assigned/canceled/completed","success":false}
```
---
## 保留(不受影响)
「换车请求」作为**操作日志/时间线历史轨迹**保留,与看板状态无关:
- `AssignmentOperationTypeEnum.CHANGE_REQUESTED`(「发起修改派单」操作类型)
- `TimelineEventTypeEnum.CHANGE_REQUESTED`(时间线事件类型)
- 派单操作日志 / 订单时间线对历史 change_requested 记录的解析与展示不变。
- `CreateAssignmentReqVO.changeRequestId` 历史兼容字段保留(当前创建接口不消费)。
## 前端接入提示
- 看板状态**下拉/筛选**:若前端硬编码了「换车请求」选项需同步移除;若纯渲染后端 `statusOptions` 则自动受益、无需改动。
- 不要再向 `statuses``change_requested`,否则会收到 100001 参数非法。
## 验证证据(测试服 API 实测)
- `GET /admin/fleet/board/summary`statusOptions 无换车请求、statusCounts 无 changeRequested。
- `GET /admin/fleet/board/orders?statuses=change_requested`:返 100001 参数非法。
- 单测 3679 全绿(含 FleetRedLineArchTest 13 项,spotless 通过。
## 关联 / 联系人
### 联系人
- **后端负责人**: @wx