docs(changelog): 看板删除换车请求状态(#5915 / PR #5925)
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
这个提交包含在:
父节点
1083e3ba5e
当前提交
57bf865c3b
@ -0,0 +1,103 @@
|
||||
---
|
||||
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 指示整体删除。实测 summary:statusOptions=[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
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户