4.3 KiB
4.3 KiB
schema, ticket, title, consumer, change_type, author, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
| schema | ticket | title | consumer | change_type | author | backend_status | gateway_status | frontend_status | frontend_owner | frontend_ref | target_release | verified_at | status_note | updated_at | base |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hl-changelog/v2 | 5562 | 派车详情按车型聚合为全程槽(详情页 2 条全程槽,可删除,删除意图持久化) | admin | 修改接口 | wx(GIT) | deployed | verified | pending | 后端完成:PR #5564 已合并 dev-v3 并部署 TEST;网关验证通过(详情页 2 条全程槽 + 整组删 + 按天派车不回归)。前端详情页默认用 vehicleSlots[] 呈现按车型聚合的全程槽并接入删除入口。 | 2026-08-05 | dev-v3 |
车务: 派车详情按车型聚合为全程槽
服务: hl-fleet-service PR: #5564 Issue: #5562 日期: 2026-08-05
背景
定制师提用车需求(例:1 SUV + 1 商务,服务 4 天),车务详情页此前按 dailyVehiclePlan 逐日×车型展示 8 条散装切片。本次在详情接口新增按车型聚合的全程槽 vehicleSlots[](SUV 一条管全程、商务一条管全程),并支持整组删除;删除后同一需求的重新展开不会复活被删槽位。按天派车细节 dailyVehiclePlan 保留不变(按天派不同车/司机能力不回归)。
变更接口
| 方法 | 路径 | 来源 |
|---|---|---|
GET |
/admin/fleet/board/orders/{orderId} |
BoardController(fleet) |
路径前缀 /admin/fleet/** 已由网关登录/角色校验与 FleetAdminRoleGuardInterceptor(VEHICLE_MANAGER / SUPER_ADMIN)收口,无需新增网关规则。响应新增字段 vehicleSlots[],其余字段不变。
1. 详情接口新增 vehicleSlots[](按车型聚合的全程槽)
响应 data.vehicleSlots[] 每项:
| 字段 | JSON 类型 | 说明 |
|---|---|---|
assignmentSlotId |
string(Long) | 稳定车辆槽位 ID(删除接口入参) |
fleetItemIndex |
int | 需求车辆槽位序号(0 起) |
assignmentGroupId |
string(Long) | 当前派车组 ID;同槽位跨段换车时每段一条 |
requiredVehicleType |
string | 要求车型编码(小写 key,如 suv/mpv) |
requiredVehicleTypeLabel |
string | 要求车型标签(如 SUV/商务车) |
requiredSeats |
int | 要求座位数 |
serviceStartDate / serviceEndDate |
string(date) | 本段槽位全程服务区间(如 4 天全程) |
serviceDays |
int | 服务天数(闭区间) |
slotStatus |
string | 槽位聚合落库态:unassigned/holding/assigned/completed/canceled |
slotStatusLabel |
string | 聚合状态中文标签 |
assignmentId |
string(Long) | 代表派单 ID |
vehicleId/vehiclePlate/vehicleModel |
string | 代表车辆(未派为 null) |
driverId/driverName/driverPhone |
string | 代表司机(未派为 null,手机号脱敏) |
canDelete |
bool | 本槽位是否可整组删除(无已派/已确认/已完结/finalized 取消行且订单未只读) |
deleteBlockReason |
string | 不可删除原因;可删除时为 null(槽位已派车或已确认,请先取消派车后再删除 / 只读原因) |
删除规则与口径:与 DELETE /admin/fleet/assignments/slots/{slotId}(#5550)完全一致;删除成功即整组删(软删全部未派切片 + Step2 快照收敛)。新增持久化:删除意图写入 fleet_assignment_slot_removal(按 requirement_id + fleet_item_index 唯一),同一需求后续重新展开(reconcile 重放/补缺)自动跳过被删槽位,不再复活;需求换版(新 requirementId)按新需求重新展开不受影响。
前端配合
- 详情页默认以
vehicleSlots[]呈现槽位列表(2 条全程槽),替代按天切片展示; canDelete=true时提供「删除槽位」入口,调DELETE /admin/fleet/assignments/slots/{slotId}(body{"reason":"..."});605007/605012 错误提示沿用;- 逐日细节(每日车/司机/价格/接送)继续用
dailyVehiclePlan(按天派车、改派、确认能力不变)。
关联/联系人
链接
- 后端工单 #5562
- 后端 PR #5566
- Merge commit:
17baf071d3
联系人
- 后端负责人: @wx