hl-api-changelog/changelogs-v2/2026-08/16_5935_排车按日期清理改期残留-新增接口-管理后台.md

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 5935 排车新增「按日期清理改期残留」轻动作 admin wx 新增接口 deployed verified pending 后端完成PR #5985 已合并 dev-v31fe44677a并部署 TESThl-fleet-service 双实例 UP。软取消语义/范围隔离/拆行引擎复用/Step2 快照收敛/占用按子集重算由 7 个新增单测覆盖AssignmentServiceTest 506/506 全绿)。 2026-08-16 dev-v3 2026-08-16T00:35:00+08:00

排车新增「按日期清理改期残留」轻动作(#5935

背景

需求改期后,旧日期的逐日派车切片成为「改期残留」挂在槽位上。此前要么整槽删除、要么整单取消,过重。本次新增按日期子集清理残留的轻动作。

变更接口

接口 变更
POST /admin/fleet/assignments/slots/{slotId}/clear-residue-dates 新增。入参 {serviceDates: [YYYY-MM-DD,...]};对命中指定旧日期的逐日切片软取消+释放当日占用,其余日期行 vehicle/driver/价格/状态不动

行为口径

  • 命中行走完整取消链路(状态机 CANCEL + CAS + 取消事件),cancelSource=null(车务操作非订单真取消,#5924 口径)。
  • 全程行先拆逐日(含 PREP_DAILY_SPLIT 重绑事件防幽灵 prep 重复计费)再按子集清,不碰原全程行;未命中行不动。
  • Step2 快照 version+1、digest 重算;retained/editableServiceDates 不动。
  • 占用只按命中日期子集重算OCCUPANCY_RECOMPUTE,不误伤全组。
  • 无命中605071「指定服务日没有在途改期残留可清理,请核对日期后重试」(非静默成功,防误以为已清)。
  • 门禁:行程已结束 605047 / 需求已终止 605054 / 关账期 605600 / HOLD 通知未收敛拒关组。
  • 与同族动作的边界:本端点按日期清残留;soft-clear-assignment#5936清司机/车辆保留行;DELETE 删槽整槽移除;DELETE 整单取消。按场景选用。

前端动作

  • 改期残留清理入口:选中槽位 + 勾选要清理的旧日期,调本端点传 serviceDates[]
  • 无命中605071提示车务核对日期;幂等 key 按 slotId + 勾选日期原始顺序,重复连点有效防重,但改顺序重提等同新请求
  • 清理成功后受影响日期回到可重派,其余日期不变。

验证证据

  • AssignmentServiceTest 506/506基线 489 + 本单 7 个新增用例:命中取消/其余行 never 反证/全程拆行+prep 重绑/无命中 605071/关账 605600/行程结束 605047/空参 100001+ FleetRedLineArchTest 13 + spotless 全绿。