hl-api-changelog/changelogs-v2/2026-06/17_自带车审核抽屉全回显-VIN采集与车型库车型建议-管理后台与H5.md

4.2 KiB

【优化·管理后台 + H5】自带车审核抽屉信息全回显新增 VIN 采集、车型库车型建议、车牌/车队预填(前端待接)

hl-ui 管理后台(车务·待审核·审核抽屉)+ H5 司机入职登记 | 服务hl-fleet-service | PR #3907 / 工单 #3906 | 已合并 dev-v3 + 部署测试服双实例 | 2026-06-17

⚠️ 关键说明

接 #3866自带车审核通过自动建车。实测发现审核抽屉多项司机自报信息没回显、车管要重敲:

  1. 车型库车型留空报「请选择」——司机自报的「车辆品牌型号」是行驶证 OCR 厂牌原文(如 大众汽车牌SVW6474DFD),映射不到车型库,前端无从预选。
  2. 车架号 VIN 压根没采集——H5 第 4 步行驶证 OCR 能识别「车辆识别代号」,但没有 VIN 输入框、没落库,审核抽屉自然无值。
  3. 确认车牌只有 placeholder,没作为预填值。

后端已补齐数据,前端需在两处接上H5 加 VIN 输入、审核抽屉做预填。

1. H5 第 4 步「行驶证」需新增 VIN 输入(前端要加)

  • 行驶证 OCR 接口现多返回一个字段 vin车辆识别代号,17 位)。
  • 请前端:行驶证正页 OCR 后,把 vin 自动填进新增的「车架号 VIN」输入框可编辑、可空
  • 提交接口 POST /mp/fleet/onboard/submit/newvehicle新增 vin 字段一并提交:
{
  "hasOwnVehicle": true,
  "vehicle": {
    "plate": "豫A99RR9",
    "model": "大众汽车牌SVW6474DFD",
    "vin": "SSVUDDTT2J2022558",
    "seats": 5,
    "fleet": "coopA",
    "regFrontUrl": "...", "regBackUrl": "...",
    "exteriorUrls": [], "interiorUrls": []
  }
}

vin 可空OCR 没识别出/司机跳过时不传);不影响其它字段。

2. 审核详情接口新增回显字段(前端用来预填抽屉)

GET /admin/fleet/drivers/pending/{pendingId}vehicle新增 4 个字段

字段 含义 前端用法
vin 司机自报车架号H5 OCR 带出) 预填「车架号 VIN」输入框
suggestedModelId 建议车型库车型 ID(按司机所选「常开车型」反查车型库唯一命中) 预选「车型库车型」下拉;为 null 时不预选、车管手选
suggestedModelName 建议车型名(如「大众帕萨特」) 下拉回显文案
suggestedSeats 建议车型座位数 预选后带出座位

配合已有字段做全量预填:

抽屉控件 取值字段
车型库车型(下拉) vehicle.suggestedModelId+ name/seats
确认车牌 vehicle.plate
车架号 VIN vehicle.vin
车队归属 vehicle.fleet

实测返回(王信单,旧数据无 VIN

"vehicle": {
  "plate": "豫A99RR9",
  "model": "大众汽车牌SVW6474DFD",
  "vin": "",
  "fleet": "coopA",
  "suggestedModelId": "2064992806690041857",
  "suggestedModelName": "大众帕萨特",
  "suggestedSeats": 5
}

suggestedModelId 为空的两种情况:司机没选常开车型、或常开车型名在车型库同名多条(歧义)——这时让车管手选下拉即可。

3. 审核通过建车口径同步(无需前端改)

  • 审核通过自动建车的车型,改为按「常开车型」反查(与 suggestedModelId 同口径),修正了之前误用 OCR 厂牌字段导致反查不到的问题。车管在抽屉显式选了车型仍以其为准(优先级最高)。
  • VIN 写入车辆档案:车管在抽屉填的 司机自报。

验证

  • 后端单测 33 全绿(建议车型/VIN 回显 + 歧义留空 + 建车 VIN 落档,H5Onboard/OCR/Converter 共 75 绿。
  • 部署测试服双实例11:15 新 jar,含 Flyway vehicle_vin 列迁移,双实例 health UP
  • 审核详情接口过网关 + 真 admin token 实测:suggestedModelId/Name/Seats 正确返回王信单命中「大众帕萨特」5 座),plate/fleet 回显正常;vin 旧数据为空、新提交链路已通。
  • 注:前端 H5 VIN 输入 + 审核抽屉预填接好前,VIN 不会有值、车型库下拉仍需车管手选——请前端配合本期接上。