# 【需求变更·管理后台】司机待审核：「审核通过」也必填原因 + 去掉标签 + 保留车牌覆盖

> 端：hl-ui（车管 → 司机待审核 → 通过/驳回）| 服务：hl-fleet-service driver/review | PR #3858 | 已合并 dev-v3 + 部署 + 实测 | 2026-06-16

## ⚠️ 关键说明（前端需加原因输入弹框）

wx 拍板：审核**通过**和**驳回**都要填原因。

| 动作 | 原因 | 后端校验 |
|---|---|---|
| **通过** `POST /admin/fleet/drivers/pending/{id}/approve` | **必填** `approveReason` | 空 → `code=400`「审核通过原因不能为空」(@NotBlank)，二次防线 **600405** |
| **驳回** `POST /admin/fleet/drivers/pending/{id}/reject` | **必填** `rejectReason`（原有） | 空 → `code=400`/二次防线 **600401** |

## 1. 前端要做的

- **通过**：点「通过」先弹原因输入框（必填），随请求体带 `approveReason`：
  ```json
  POST .../approve  { "approveReason": "资料齐全予以通过", "primaryVehiclePlate": "蒙A-12345" }
  ```
  空原因后端返 400，前端应在弹框内强制校验非空。
- **驳回**：点「驳回」弹原因框（必填，原有 `rejectReason`），同口径。

## 2. 入参变化（通过）

- **删除** `tagsToAdd`（不再支持审核时追加标签）——前端若有标签输入请移除。
- **新增** `approveReason`（必填）。
- **保留** `primaryVehiclePlate`（可选，覆盖申请人填的常驻车牌）。

## 3. 验证（测试服实测）

- 通过不传/空 approveReason → `code=400`「审核通过原因不能为空」，**不建档** ✅
- DB 加 `fleet_driver_pending.approve_reason` 列，通过落库留痕 ✅
