docs(changelog): 自带车审核抽屉全回显-VIN采集与车型库车型建议 (PR #3907)
这个提交包含在:
父节点
d7992de4c1
当前提交
987ae18e2f
@ -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 不会有值、车型库下拉仍需车管手选——请前端配合本期接上。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户