docs(changelog): 个人车常驻双向同步司机车牌 (PR #3929, 管理后台)
后端数据一致性修复:个人车绑/解/换常驻→司机侧 primary_vehicle_plate 双向同步 (公司车豁免)。无接口契约变更,前端无需改动;周知点=司机列表「按常驻车牌筛选」 对个人车现在准确。已部署测试服双实例 + API 实测通过。
这个提交包含在:
父节点
e4d3cda828
当前提交
81f054d3a3
@ -0,0 +1,36 @@
|
||||
【行为变更·管理后台】个人车常驻司机绑定 → 司机侧车牌双向同步(仅自有车,公司车豁免)
|
||||
|
||||
> 服务:hl-fleet-service(车务)
|
||||
> PR:#3929(合并 dev-v3)
|
||||
> 类型:后端数据一致性修复,**无接口契约变更**(无新端点 / 无入参出参结构变化)
|
||||
> 前端:**无需改动**,仅行为更准;本条为周知
|
||||
|
||||
## ⚠️ 关键说明
|
||||
|
||||
- 车辆侧权威 1:1 = `fleet_vehicle.primary_driver_id`;司机侧 `fleet_driver.primary_vehicle_plate` 是**去规范化展示列**,用于司机列表「常驻车牌」筛选(`GET /admin/fleet/drivers/page?primaryVehiclePlate=`)。
|
||||
- 此前个人车绑/解/换常驻时,司机侧这一列**不会跟着更新**,导致「按常驻车牌筛选司机」对个人车可能筛不到 / 筛错。本次补齐双向同步。
|
||||
- **仅自有车(ownerType=personal)同步**;**公司车(调配车,非司机自有)一律不同步**,司机侧车牌保持其自有车牌不被公司调配车覆盖。
|
||||
|
||||
## 1. 变更内容
|
||||
|
||||
| 场景 | 此前 | 现在 |
|
||||
|------|------|------|
|
||||
| 个人车绑定/改绑常驻司机 | 司机侧 `primary_vehicle_plate` 不更新 | 同步为该车车牌 |
|
||||
| 个人车解绑常驻 / 司机被换到别的车 | 司机侧车牌残留旧值 | 清空(仅当其当前车牌仍等于这台车,避免误清已改指向别处的司机) |
|
||||
| 同一次编辑同时改车牌 + 换常驻 | —(功能此前不存在) | 老司机按**旧**车牌清、新司机按**新**车牌设 |
|
||||
| 个人车 → 公司车切换 | — | 清掉原个人车常驻司机的展示车牌 |
|
||||
| 公司车绑定常驻 | — | **不同步**(豁免) |
|
||||
| 车辆批量导入 update 重绑个人车常驻 | 不同步 | 同步(与表单编辑同口径) |
|
||||
|
||||
覆盖 6 个绑定触点:新增车辆、车辆编辑、车辆导入 update、删司机解绑、司机侧改绑常驻车(`PUT /admin/fleet/drivers/{driverId}/resident-vehicle`)。
|
||||
|
||||
## 2. 测试服实测(api.test.1814.love:9443,真 admin token)
|
||||
|
||||
- 绑定个人车 蒙C03E03 → 司机朝克图:`fleet_driver.primary_vehicle_plate = 蒙C03E03` ✓
|
||||
- 解绑:司机侧车牌清空 ✓
|
||||
- 绑定公司车 蒙C02E02 → 司机:司机侧车牌**保持空**(豁免)✓
|
||||
- 单元 + H2 集成测试:875 passed / 0 failed(含 7 个新增场景用例)
|
||||
|
||||
## 3. 前端动作
|
||||
|
||||
无。司机列表「按常驻车牌筛选」对个人车现在准确,前端无需改造。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户