hl-api-changelog/changelogs-v2/2026-08/15_5923_看板已取消tab只收订单真取消-修改接口-管理后台.md
API Changelog Bot a98151dc0a
所有检测均成功
changelog-filename-gate / validate (push) Successful in 1s
docs(changelog): #5928 保单分页POST契约 + #5923 已取消tab只收订单真取消
2026-08-15 21:33:15 +08:00

2.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 5923 派单看板已取消 tab 只收订单真取消来源 admin wx 修改接口 deployed verified pending 后端完成PR #5978 已合并 dev-v3dbdf2723f并部署 TESThl-fleet-service 双实例 UP。已取消 tab 列表与计数只纳入 cancel_source=order_cancelled 的派单;车务删槽/换版/占位撤销/手动取消联动取消行不再误挂。测试环境当前无取消数据故实测返回空,过滤语义由 172 单测覆盖。 2026-08-15 dev-v3 2026-08-15T21:31:00+08:00

派单看板已取消 tab 只收订单真取消来源(#5923

背景

派单看板「已取消」tab 原按 assignment_status=canceled 计数/展示。但 canceled 行有多种来源:订单真取消、车务删槽联动取消、换版跟随取消、占位撤销、手动取消等。按 #5828 决策,已取消 tab 只收「订单真取消」——订单 order_status=CANCELLED 的派单才进已取消 tab;车务删槽/换版等联动取消的派单不再误挂(否则 26-9313 这类车务操作单被误归类)。

实现口径

  • 权威路径采用 #5924 落地的 cancel_source 结构化枚举(比读订单态更稳,#5924 已把订单取消事件经 internal Feign 在 fleet 单事务盖章 cancel_source=order_cancelled)。
  • 已取消 facet 过滤:cancel_source=order_cancelled 才计入/展示;manual/requirement_replaced/slot_removed/unassigned_placeholder_revoked/NULL 一律排除。

变更接口

接口 变更
GET /admin/fleet/board/orders?statuses=canceled 已取消 facet 只返回 cancel_source=order_cancelled 的派单
GET /admin/fleet/board/summary statusCounts.canceled 计数口径同步只数订单真取消

行为变化

  • 车务删槽/换版/占位撤销/手动取消产生的 canceled 派单,不再出现在已取消 tab、不计入已取消计数。
  • 其它 tab待派/排车/已派/已完结)口径不受影响。

前端动作

  • 已取消 tab 现在只代表「订单真取消」。如前端曾对已取消 tab 做「车务操作单也在这」的提示/分类,请按新口径调整文案。

验证证据

  • BoardOrderServiceTest 147 + BoardSummaryServiceTest 12 + FleetRedLineArchTest 13 = 172 全绿(六来源仅 order_cancelled 通过、非取消 facet 回归、计数一致,spotless 通过。
  • 网关TEST, 真 SUPER_ADMIN token实测/admin/fleet/board/summary 返回 statusCounts.canceled=0(测试环境当前无取消数据),orders?statuses=canceled 返回空——过滤语义由单测覆盖。