5.2 KiB
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-v3(bf80a6f2ac)并部署 TEST(hl-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)。改动前=整槽总价平铺到每天,改动后=当天单日价 |
前端渲染要点:逐日车费把每一行 serviceDate 的 protocolPrice 全部列出(3 天=3 行),最终总车费 = 各行 protocolPrice 之和(Σ 口径),不要再取单一行或按 vehicle_fee_total 旧值。
前端动作
- 看板「待派车」分面会正确出现被一键清空的需求,可点入重派;「已取消」分面不再混入清空需求。
- 确认执行页逐日车费正常显示全部行程天数与正确合计。
验证证据
- 单测随 PR 自证(一键清空回待派车 + 已取消 tab 口径零回归;逐日费按天拆分 + Σ 校验 + Flyway 回填)。
- PR #6029 squash 合并 dev-v3(merge commit bf80a6f2ac),Deploy Panel 部署 hl-fleet-service(jar 15:29 更新、双实例重启生效)。
关联 / 联系人
- Issue:wx/HL#6022
- PR:wx/HL#6029
- Commit(merge):https://git.1814.love:8443/wx/HL/commit/bf80a6f2ac
- 后端负责人:wx