fix(车型管理库 changelog): typeKey 是表字段不是枚举,§6 改为说明无字典,建议值移到 §9 业务边界并强调前端不要硬编码

这个提交包含在:
yaosutu 2026-05-21 15:21:58 +08:00
父节点 3aa9f425ca
当前提交 1a796e52b1

查看文件

@ -589,20 +589,11 @@ Authorization: Bearer <token>
## 6. 枚举 / 数据字典
### 6.1 typeKey车型大类 key,系统建议值
本模块**无静态枚举 / 字典**
**所属字段**`VehicleTypeSaveReqVO.typeKey` / `VehicleTypeRespVO.typeKey` | **类型**`String` | **必填**:✅(新增时)
> 系统初始化已灌 4 个标准值。后端**无强枚举校验**,前端可按需扩展,但建议沿用以下值:
| 值 | 中文 | 说明 |
|----|------|------|
| `suv` | SUV 越野 | 高底盘、多人出行 |
| `mpv` | MPV 商务 | 7 座商务车 |
| `bus` | 中巴 | 10-19 座 |
| `sedan` | 轿车 | 5 座 |
> 业务无强校验意味着前端可灌入 `minibus` / `coach` 等自定义 key,唯一约束是**全局不重复**(违反抛 600101
- `typeKey``fleet_vehicle_type` 表的一个 `VARCHAR(16)` 字段(行级数据),不是后端枚举常量,**没有字典表**。系统初始化灌入了 4 条标准记录(详见 §9 业务边界),但 typeKey 可通过 §3.3 自由扩展
- `seats` 是数值范围4-19,`@Min` / `@Max` 校验),不是枚举
- 其他字段modelName / basePrice / alias 等)均为自由文本/数字
---
@ -628,11 +619,24 @@ Authorization: Bearer <token>
- ✅ **大类 typeKey 编辑**:编辑大类时后端**忽略**入参的 typeKey 字段(不改),其他字段正常更新
- ✅ **大类软删保护**大类下有未删除型号时禁删600104;先删型号或迁移型号到其他大类
- ✅ **型号软删保护**型号被任一车辆fleet_vehicle引用时禁删600105
- ✅ **同名约束**typeKey **全局**唯一;modelName **同大类内**唯一
- ✅ **同名约束**typeKey **全局**唯一(违反抛 600101;modelName **同大类内**唯一(违反抛 600103
- ✅ **分页默认值**`page=1``pageSize=20``pageSize` 上限 100
- ✅ **跨大类搜索**§3.7 不传 `vehicleTypeId` + 任意过滤 = 跨大类搜索(不报错)
- ⚠️ **新增型号副作用**§3.6 新增型号后会触发价格日历初始化(见 FLEET §9.4),前端无需感知
### typeKey 系统初始化数据(不是枚举,可被 §3.3 扩展)
系统初始化时灌入了 4 条标准大类(来自 DB 初始化脚本):
| typeKey | typeName | 用途参考 |
|---|---|---|
| `suv` | SUV 越野 | 高底盘 / 多人出行 |
| `mpv` | MPV 商务 | 7 座商务车 |
| `bus` | 中巴 | 10-19 座 |
| `sedan` | 轿车 | 5 座 |
> ⚠️ 这是**表里的现有数据**,**不是枚举校验**。运营可随时通过 §3.3 新增 `minibus` / `coach` 等任意 typeKey仅约束全局不重复。前端展示时**建议从 §3.1 或 §3.2 实时查**,不要硬编码上面 4 个值。
---
## 11. 影响评估