hl-api-changelog/changelogs-v2/2026-08/21_6112_看板详情透出终止行程取消原因-修改接口-管理后台.md
API Changelog Bot 32bc988a8a
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
docs(changelog): #6112 看板详情透出终止行程取消原因(前端待渲染 canceled 行 cancelReason)
2026-08-21 12:42:38 +08:00

3.8 KiB

schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base, generated
schema ticket title consumer author change_type backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base generated
hl-changelog/v2 6112 看板详情透出终止行程取消原因 admin wx 修改接口 deployed verified pending mmg 2026-08-21 终止行程的真实原因(如「客户中止」)此前在 order 侧,fleet 落库的是写死文案。本次全链路透传order → Feign DTO 加可选字段 → fleet 落库 → 看板详情 VO 透出。前端只需在已取消行渲染 cancelReason。 2026-08-21 dev-v3 2026-08-21T12:38:23+08:00

看板详情透出终止行程取消原因(#6112

背景

订单终止行程出行中中止时运营会填真实原因如「客户中止」,但车务看板已取消派单只显示「已取消」,看不到原因——fleet 侧落库的是固定文案「订单终止行程,自终止生效日起截断未来派单」。

本次把真实原因全链路透传到看板详情,前端补渲染即可。与房务侧 #6111异常原因透出对齐。

变更接口

接口 变更
GET /admin/fleet/board/orders/{orderId} 响应新增可选字段vehicleSlots[].cancelReasoncurrentAssignment.cancelReason。已取消(slotStatus==="canceled")的槽位/派单返回终止或取消原因;其他状态为 null

内部链路前端无需关心,仅供联调排查order 侧 terminateTripcancelReasonTruncateOrderAssignmentsRequest(内部 Feign DTO,新增可选字段传给 fleet,fleet 终止截断时落库 fleet_assignment.cancel_reason

前端动作(本次唯一要改的地方)

在车务看板 → 订单详情抽屉 → 已取消派单行/车辆执行段:

  1. 渲染条件vehicleSlots[]slotStatus === "canceled"cancelReason 非空时,在「已取消」badge 旁展示原因文本(如「客户中止」)。
  2. 空态:历史已取消派单 cancelReasonnull → 不渲染原因区,不报错。
  3. 非 canceled 行不展示(字段为 null)。
  4. 无新增颜色/状态标签,纯文本。

取值示例TEST 实测返回)

{
  "assignmentSlotId": "348032503497494528",
  "slotStatus": "canceled",
  "slotStatusLabel": "已取消",
  "cancelReason": "客户中止(#6112 网关验收)",
  "assignmentId": "2089642687186563073"
}

兼容性

  • 旧版 order 不传 cancelReason → fleet 收到 null,落库保留原固定文案兜底(双向兼容,可独立发布)。
  • 历史已取消派单 cancel_reason 为 NULL → VO 原样透传 null,前端不渲染即可。
  • 手动取消(人工填的 cancelReason写入路径未改动,不受影响。

验证证据

  • 单测fleet AssignmentServiceTest(透传落库/空值兜底)、BoardOrderServiceTest(已取消槽位透出/在途槽位 null、order OrderServiceTest(透传断言)、FleetAssignmentExpandFeignContractTestDTO wire 往返)全绿;mvn -pl hl-fleet-service -am verify BUILD SUCCESS3846 测试,spotless 0 违规。
  • 部署hl-fleet-service8087/8187、hl-order-service-v38086/8186已滚动部署 TEST。
  • 网关实测TEST 9443,真 SUPER_ADMIN token对出行中订单 HL20260818171654688 以「客户中止」终止行程 → fleet 派单截断为 canceled → GET /admin/fleet/board/orders/2089642686163128322 返回 vehicleSlots[].cancelReason="客户中止(#6112 网关验收)";历史终止单 2090093100083904514 返回原固定文案,无报错。

关联