chore(changelog): #5770 时间线读侧合成4类里程碑+keyword/生效日修复 · #5777 discount清单车务放行(0810 审查扫尾)
一些检查失败了
changelog-filename-gate / validate (push) Failing after 2s

这个提交包含在:
API Changelog Bot 2026-08-10 10:18:48 +08:00
父节点 93428611ea
当前提交 289fa89a70
共有 2 个文件被更改,包括 23 次插入1 次删除

查看文件

@ -13,7 +13,7 @@ frontend_ref: "a9a48643"
target_release: ""
verified_at: ""
status_note: "已实现。board.js 新增 getFleetOrderOperationLog;resolveBoardRowActions 全状态分支加「查看日志」(卡片图标按钮+悬浮提示、表格入「更多」);新建 OperationLogModal 时间线弹窗(分页/keyword/时间区间/升降序,opTypeLabel/summary 直渲。frontend_ref=a9a48643BoardCardView 卡片入口由并发提交 7ec70cc0 承载)。"
updated_at: "2026-08-09"
updated_at: "2026-08-10"
base: "dev-v3"
generated: "2026-08-09T18:10:00+08:00"
---
@ -77,3 +77,19 @@ generated: "2026-08-09T18:10:00+08:00"
- hl-fleet-service verify 3319/0F/0E + FleetRedLineArchTest 12/12 + spotless 通过;定向测试 7/7
- TEST 网关实证(订单 26-6436,探针 `tools/probe_5750_operation_log.py` 11/11 PASS字段齐全、opTypeLabel 中文、summary 含前后资源对比、系统动作显示「系统」、分页/升序/翻页正常、total 与 DB 一致
---
## 后端修复补充 (#5770,2026-08-10,PR #5775)
首版只给 `assignment_created / hold_notification / confirmed / driver_confirmed` 四类补了枚举中文标签,但**没有写入点**——时间线永远缺「新建派单/HOLD 通知/司机确认/确认执行」这四类里程碑行。本次读侧合成补齐,前端**无需改动**,同一接口现返回更完整的时间线。
### 行为变化(同接口,返回项更全)
1. **新增 4 类里程碑合成行**:读接口时从 `fleet_assignment``create_time / hold_sent_at / driver_confirmed_at / confirmed_at` 合成 `assignment_created`(新建派单)/`hold_notification`(HOLD 通知)/`driver_confirmed`(司机确认)/`confirmed`(确认执行) 行,与落表行按时间合并、去重后返回。
- 合成行 `id=null`(无 `fleet_assignment_operation_log` 主键,前端可据此区分合成 vs 真实行,与房务 #4246 同约定)。
- 司机确认行 `operatorName` = 司机姓名(非管理员);其余里程碑走操作人解析。
2. **keyword 现按前端所见字段过滤**:此前只搜库里恒为「车务/系统」的原始 actor_name 与写侧动作词,按操作人真名/车牌/司机名搜必空;现改为对**渲染后**的 operatorName/summary/opTypeLabel/detailJson 过滤,可搜到展示的操作人真名、车牌、司机名。
3. **`effectiveDate`「生效日」修复**:改派 summary 的生效日此前因写侧 Hutool 把 LocalDate 序列化成 epoch 毫秒、读侧解析失败而**永不渲染**;现写侧改 ISO 明文、读侧兼容 epoch 毫秒/ISO 两形态,存量数据也能正确显示。
### TEST 实证2026-08-10
`GET /admin/fleet/orders/2086341233369616386/operation-log` 返回 4 条合成行:新建派单(系统) / 司机确认(巴雅尔) / HOLD 通知(米明光) / 新建派单(系统),中文标签、操作人三路解析、时间倒序正确。

查看文件

@ -62,3 +62,9 @@ generated: "2026-08-09T18:50:00+08:00"
## 前端配合
无需配合。前端调用链不变,角色权限由后端守卫恢复;车务管理员账号(当前角色 VEHICLE_MANAGER的订单详情/行程单功能自然恢复。
---
## 后续补充 (#5777 审查扫尾,2026-08-10)
审查发现同族读端点漏切一个:**优惠/附加费清单** `GET /v3/admin/order/{orderId}/discount-surcharge/list``DiscountService.listDiscountSurcharge`)此前仍走 `assertOrderAccessible`,车务管理员打开订单详情「优惠」Tab 会复现 581008。本次守卫切到读侧 `assertOrderReadable`,与支付流水/发票等读端点同口径VEHICLE_MANAGER 可读,房务/组长 581045、非本单定制师 581008 不变。定向用例 DiscountServiceAccessGuardTest 16 绿,已部署 TEST。前端无需配合。