hl-api-changelog/changelogs-v2/2026-08/18_6022_一键清空需求回待派车与逐日车费按天拆分-修改接口-管理后台.md
API Changelog Bot 2ee06034ef
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
docs(changelog): #6052 新增 + #6022 补 target_release(解门禁)
2026-08-18 21:20:01 +08:00

5.2 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 6022 一键清空槽位后需求回待派车可重派 + 逐日车费按天拆分 admin wx 修改接口 deployed verified verified mmg c157cde4 2026-08-18 2026-08-18 后端完成PR #6029 已合并 dev-v3bf80a6f2ac并部署 TESThl-fleet-service jar 15:29 更新、双实例重启。bug1 看板状态派生识别「槽位清空需求」回待派车;bug2 逐日 vehicle_fee_total 按天拆分 + Flyway V20260818_001 回填存量。测试随 PR 自证。 2026-08-18 dev-v3 2026-08-18T15:40:00+08:00

一键清空槽位后需求回待派车可重派 + 逐日车费按天拆分(#6022

背景

两个 fleet 车务 bug

  • bug1:车务派单看板对改期/重配的订单点「一键清空已派车辆槽位」后,整个用车需求被误判成「已取消」,从看板消失、无法重新派车。弹窗本意是「清空后请按新需求重新派车」,但需求消失导致车务失去重派入口。
  • bug2:确认执行页「逐日车费」只显示 1 天、最终总车费只算 1 天——每条逐日派车行的 vehicle_fee_total 被写成了整槽总价(平铺到每一天),而非该天单日价。

变更接口

接口 变更
GET /admin/fleet/board/orders(看板列表/各 status 分面) 行为变更。新增识别「槽位清空需求」:需求下全部行 canceled 且取消来源订单真取消(非 order_cancelled)时,记录级覆写回「待派车」(可见、可重派),不再误判「已取消」。已取消 tab 仍只显示订单真取消(#5923 口径零回归)
确认执行页「逐日车费」数据源 行为变更。逐日派车行 vehicle_fee_total 落该天单日协议价(不再平铺整槽总价),逐日车费显示全部天数、最终总车费=各天单日价之和

行为口径

  • bug1:清空=清掉派车占用让重派,不等于把需求作废。清空后需求回「待派车」、被清行的车/司机占用正确释放、订单状态不受影响;stale 陈旧定稿场景同样回待派车。
  • bug2:核单一致性校验改为 Σ(求和)口径——逐日费累加 = 总车费;存量写错的逐日行由 Flyway V20260818_001 回填为单日价(仅影响展示/司机端总费,核单快照独立落库不受影响)。

响应示例逐日车费,bug2

确认执行页「逐日车费」接口返回里,逐日单元格数组的每个元素 = 一天的派车明细(字段名见下,前端按字段名取)。关键是 protocolPrice(当天派车价/协议价)现在=该天单日价,不再是整槽总价平铺:

{
  "slotId": "2089597158683455490",
  "serviceDate": "2026-08-24",
  "assignmentId": "2089595940254986242",
  "used": "USED",
  "readOnly": false,
  "vehicleId": "2085539421276286978",
  "driverId": "2067084362829979650",
  "rescheduleResidue": false,
  "canDelete": true,
  "vehiclePlate": "蒙A-E2E99",
  "driverName": "王信",
  "protocolPrice": "1000.00"
}
字段 类型 说明
slotId Long(字符串) 稳定槽位 ID当天逐日切片
serviceDate Date 服务日期(逐日)
assignmentId Long(字符串) 当天逐日派车行 ID取消/改派按此 ID
used String USED=实际用车 / UNUSED=显式不用车 / null=未编辑
readOnly / canDelete Boolean 该 cell 只读 / 可删除(取消)标记
vehicleId / driverId Long(字符串) 当天车辆/司机 ID未派为 null
rescheduleResidue Boolean 是否改期残留旧日期行true 挂「改期残留/待清理」徽标)
vehiclePlate / driverName String 当天车牌/司机明文(行冻结快照,未派为 null
protocolPrice BigDecimal(字符串) 当天派车价= 该天单日协议价chargeable=0→0;缺协议价回退日历参考价,再无则 0改动前=整槽总价平铺到每天,改动后=当天单日价

前端渲染要点:逐日车费把每一行 serviceDateprotocolPrice 全部列出3 天=3 行),最终总车费 = 各行 protocolPrice 之和(Σ 口径),不要再取单一行或按 vehicle_fee_total 旧值。

前端动作

  • 看板「待派车」分面会正确出现被一键清空的需求,可点入重派;「已取消」分面不再混入清空需求。
  • 确认执行页逐日车费正常显示全部行程天数与正确合计。

验证证据

  • 单测随 PR 自证(一键清空回待派车 + 已取消 tab 口径零回归;逐日费按天拆分 + Σ 校验 + Flyway 回填)。
  • PR #6029 squash 合并 dev-v3merge commit bf80a6f2ac,Deploy Panel 部署 hl-fleet-servicejar 15:29 更新、双实例重启生效)。

关联 / 联系人