# 准驾车型 / 民族 / 保险公司 / 性别 改数据字典下拉 — 修改接口 — 管理后台

> 变更类型：🟡 增强（字段改字典下拉，字段名/类型不变）
> 端类型：管理后台
> 日期：2026-06-08
> 服务：hl-fleet-service + hl-user-service（字典种子）

---

## 1. 背景

车务（车辆 / 司机档案）几个「标准受控词表」字段过去是自由文本手填，本次改为**数据字典驱动**，前端应改为**下拉选择框**，选项从字典接口拉取：

- **准驾车型**、**民族**、**保险公司** 是新建字典；
- **性别** 复用平台已有 `gender` 字典（后端这次放开校验、开始接受「未知」）。

字段名、类型、提交格式**全不变**，前端只是把输入控件换成下拉。

---

## 2. 变更清单

| 字段 | 出现位置 | 旧控件 | 新控件（字典 type） | 提交值 |
|---|---|---|---|---|
| 准驾车型 `licenseClass`/`type` | 司机驾照信息 | 文本框 | 下拉 `driving_license_class` | dictValue（A1/A2/B1…国标代码）|
| 民族 `nation` | 司机基本信息 | 文本框 | 下拉 `nation` | dictValue（中文，如 蒙古族）|
| 保险公司 `insurer`（车）/ `company`（司机）| 车辆 / 司机保险 | 文本框 | 下拉 `insurance_company` | dictValue（中文，如 中国人保财险）|
| 性别 `gender` | 司机基本信息 | 文本框/单选 | 下拉 `gender`（**平台已有**）| dictValue（1=男/2=女/**0=未知**）|

> ⚠️ **性别新增「0=未知」**：后端原来只认 1/2，本次放开为 1/2/0，与平台 gender 字典对齐。前端下拉请用全部 3 项。导入 Excel 的「性别」列现支持 `男/女/未知`（也兼容已是 `1/2/0`）。

---

## 3. 字典怎么取（通用接口，已有）

GET `/admin/dict/data/{dictType}`（Bearer Token），用 `dictValue` 作选项值、`dictLabel` 作显示文案，按 `sortOrder` 升序。

| dictType | 项数 | 示例 |
|---|---|---|
| `driving_license_class` | 16 | A1=A1（大型客车）/ C1=C1（小型汽车）… |
| `nation` | 56 | 汉族 / 蒙古族 / 回族 …（value=label=中文）|
| `insurance_company` | 10 | 中国人保财险 / 中国平安财险 …（value=label=中文，末项「其他」）|
| `gender` | 3 | 1=男 / 2=女 / 0=未知 |

**响应示例**（准驾车型节选）：

```json
{
  "code": 200, "success": true,
  "data": [
    {"dictValue": "A1", "dictLabel": "A1（大型客车）", "sortOrder": 10, "status": "ACTIVE"},
    {"dictValue": "C1", "dictLabel": "C1（小型汽车）", "sortOrder": 60, "status": "ACTIVE"}
  ]
}
```

---

## 4. 前端迁移清单

1. **准驾车型**：司机驾照表单的准驾车型改下拉，选项 `GET /admin/dict/data/driving_license_class`；提交 `licenseClass`（或 `license.type`）= 选中 `dictValue`（A1 等代码）。
2. **民族**：改下拉，选项 `GET /admin/dict/data/nation`；提交 `nation` = 选中 `dictValue`（中文）。
3. **保险公司**：车辆 `insurer`、司机保险 `company` 都改下拉，选项 `GET /admin/dict/data/insurance_company`；提交选中 `dictValue`（中文）。
4. **性别**：下拉用 `GET /admin/dict/data/gender`，含 **0=未知**；展示已有性别值时用该字典把 0/1/2 映射为 未知/男/女。
5. **存量兼容**：历史值与字典 value 一致（A1、蒙古族、中国人保财险、1/2…），回显正常；遇字典里没有的历史脏值，下拉做「未匹配则原样显示」兜底。
6. **可后台增减**：准驾车型/民族/保险公司都能在「系统管理 → 字典管理」增减，前端无需改代码。

---

## 5. 关联

| 项目 | 信息 |
|---|---|
| PR | https://git.1814.love:8443/wx/HL/pulls/3599 |
| 部署 | 已部署测试服并实测：准驾 16 / 民族 56 / 保险 10 / 性别 3（含 0=未知），经网关 9443 |
| 字典维护 | 系统管理 → 字典管理，type=`driving_license_class` / `nation` / `insurance_company` / `gender` |
| 后端负责人 | wx |
