diff --git a/changelogs-v2/2026-06/16_司机待审核-通过也必填原因去标签留车牌-管理后台.md b/changelogs-v2/2026-06/16_司机待审核-通过也必填原因去标签留车牌-管理后台.md new file mode 100644 index 0000000..982315f --- /dev/null +++ b/changelogs-v2/2026-06/16_司机待审核-通过也必填原因去标签留车牌-管理后台.md @@ -0,0 +1,32 @@ +# 【需求变更·管理后台】司机待审核:「审核通过」也必填原因 + 去掉标签 + 保留车牌覆盖 + +> 端: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` 列,通过落库留痕 ✅