From 987ae18e2f11574da1cfd20dd75729894031adc4 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Wed, 17 Jun 2026 11:17:30 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20=E8=87=AA=E5=B8=A6=E8=BD=A6?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E6=8A=BD=E5=B1=89=E5=85=A8=E5=9B=9E=E6=98=BE?= =?UTF-8?q?-VIN=E9=87=87=E9=9B=86=E4=B8=8E=E8=BD=A6=E5=9E=8B=E5=BA=93?= =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E5=BB=BA=E8=AE=AE=20(PR=20#3907)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...屉全回显-VIN采集与车型库车型建议-管理后台与H5.md | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 changelogs-v2/2026-06/17_自带车审核抽屉全回显-VIN采集与车型库车型建议-管理后台与H5.md diff --git a/changelogs-v2/2026-06/17_自带车审核抽屉全回显-VIN采集与车型库车型建议-管理后台与H5.md b/changelogs-v2/2026-06/17_自带车审核抽屉全回显-VIN采集与车型库车型建议-管理后台与H5.md new file mode 100644 index 0000000..f66e12f --- /dev/null +++ b/changelogs-v2/2026-06/17_自带车审核抽屉全回显-VIN采集与车型库车型建议-管理后台与H5.md @@ -0,0 +1,84 @@ +# 【优化·管理后台 + 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/new` 的 `vehicle` 块**新增 `vin` 字段**一并提交: + +```json +{ + "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): + +```json +"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 不会有值、车型库下拉仍需车管手选——请前端配合本期接上。