3.5 KiB
3.5 KiB
【行为变更·司机H5】司机续签车辆区仅「个人车 + 自带来源」显示,公司车/无常驻车隐藏
服务:hl-fleet-service(8087/8187) | 分支:dev-v3 | PR:#3995 | 工单:#3991 已部署测试服双实例 health UP,A/B 真实数据实测通过(2026-06-18)
⚠️ 关键说明
- 后端口径变更:司机续签初始化
GET /app/h5/driver-onboard/init的prefill.currentVehicle(常驻车回显/编辑块)只在「司机常驻车是个人车(自用车)」时返回;常驻车是公司车、或司机无常驻车,currentVehicle一律为null(旧行为:只要是某车常驻就返回,不分个人车/公司车)。 - 前端需配合的完整显隐规则(两者都要):车辆区是否展示 =
prefill.currentVehicle != null且 当前「车辆来源 vehicleSource」==own(自带)。currentVehicle == null(公司车/无常驻)→ 隐藏车辆区(后端已兜住,前端按 null 隐藏即可)。currentVehicle != null但司机把「车辆来源」下拉切到company(公司分配)→ 前端隐藏车辆区(这一半后端不管,按实时下拉值动态显隐)。- 二者都满足(个人车常驻 + 自带来源)→ 显示车辆区。
- 「个人车」判定按车辆所有权,与「车队归属(fleet)」无关:前端无需关心 fleet 字段——后端已用所有权(ownerType=personal)gate,前端只看
currentVehicle是否为 null +vehicleSource下拉值。例:某个人车fleet=coopA(合作车队A) 仍会下发 currentVehicle(因所有权=个人)。
1. currentVehicle 行为变更
| 场景(续签 init) | 旧行为 | 新行为 |
|---|---|---|
| 常驻车 = 个人车(自用车) | currentVehicle 返车辆档案块 | 不变,仍返(供前端在「车辆来源=自带」时展示) |
| 常驻车 = 公司车 | currentVehicle 返车辆档案块 | currentVehicle = null |
| 无常驻车 | currentVehicle = null | 不变,仍 null |
2. 前端动作(hl-ui 司机 H5)
续签流程「车辆区/携带车」的展示判定改为:
showVehicleSection = (prefill.currentVehicle != null) && (当前车辆来源下拉 vehicleSource === 'own')
- 车辆来源下拉值仍取
prefill.vehicleSource(own=自带 / company=公司分配)作初值,司机可实时改;改为 company 时即时隐藏车辆区,改回 own 且 currentVehicle 非 null 时再显示。 - 公司车司机(currentVehicle 恒 null)续签时不展示车辆区,只填司机侧变更项。
3. A/B 实测(测试服真实续签 token)
# 公司车常驻 → currentVehicle = null(车辆区隐藏)
curl -k "https://web.test.1814.love:9443/app/h5/driver-onboard/init?token=8dcfc0d597364bf7a6259afa3c5025ff"
# → data.prefill.currentVehicle = null (常驻车 蒙C01E01 = 公司车)
# 个人车常驻 → currentVehicle 非 null(车辆区可显示)
curl -k "https://web.test.1814.love:9443/app/h5/driver-onboard/init?token=e8365dab9909445aad6725a23da17c00"
# → data.prefill.currentVehicle = { plate:"蒙A-H7777", ... } (个人车,fleet=coopA)
4. 后端内部变更(前端无需关注,备查)
VehicleService.getRenewVehiclePrefill:门槛加ownerType=personal,公司车/无常驻车返 null。DriverPendingReviewService.updateRenewedVehicle:对称兜底——续签审核回写时常驻车为公司车则跳过(防自助续签越权改公司车档案;正常流前端已隐藏不会发车辆编辑,此处再兜一道)。- 无接口契约字段变更、无新增端点、无 Flyway:仅
currentVehicle取值口径收紧。