fix(changelog): 修正 productTypeName 数据字典 label(ROUTE/CUSTOM/GROUP)
原 changelog 初稿使用了错误 label(线路产品/定制产品/团队产品), 实际 label 以数据字典 product_type 为准: - ROUTE:自驾路书 - CUSTOM:私人定制 - GROUP:小蒙马 同时补充说明 productTypeName 来源是 sys_dict product_type, 以及修正 PR #4022(Issue #4021)关联链接。
这个提交包含在:
父节点
20032ec600
当前提交
9f1b885bfa
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
## ① 接口背景
|
## ① 接口背景
|
||||||
|
|
||||||
订单创建时,产品类型(核心/线路/定制/团队)会从产品快照固化到订单主表。此前该字段从未通过接口返回,前端无法在订单列表和详情中区分产品类型。本次在两个接口的出参中同时补充 `productType`(枚举码)和 `productTypeName`(中文名),方便前端按产品类型展示差异化 UI。
|
订单创建时,产品类型(核心产品/自驾路书/私人定制/小蒙马)会从产品快照固化到订单主表。此前该字段从未通过接口返回,前端无法在订单列表和详情中区分产品类型。本次在两个接口的出参中同时补充 `productType`(枚举码)和 `productTypeName`(数据字典中文名),方便前端按产品类型展示差异化 UI。
|
||||||
|
|
||||||
历史订单已完成回填,无快照的兜底为 `CORE`;理论上正常订单都有值,极少数脏数据可能为 `null`,前端需做防御处理。
|
历史订单已完成回填,无快照的兜底为 `CORE`;理论上正常订单都有值,极少数脏数据可能为 `null`,前端需做防御处理。
|
||||||
|
|
||||||
@ -78,7 +78,7 @@
|
|||||||
| 字段名 | 类型 | 可空 | 说明 |
|
| 字段名 | 类型 | 可空 | 说明 |
|
||||||
|--------|------|------|------|
|
|--------|------|------|------|
|
||||||
| `productType` | String | 是(null 为极少数历史脏数据) | 产品类型枚举码,见枚举 § ⑥ |
|
| `productType` | String | 是(null 为极少数历史脏数据) | 产品类型枚举码,见枚举 § ⑥ |
|
||||||
| `productTypeName` | String | 是(与 productType 同步,null when productType null) | 产品类型中文名,如 `核心产品` |
|
| `productTypeName` | String | 是(与 productType 同步,null when productType null) | 产品类型中文名,来源数据字典 product_type,如 `私人定制` |
|
||||||
|
|
||||||
### 5.2 订单详情(data.main 节点,新增字段)
|
### 5.2 订单详情(data.main 节点,新增字段)
|
||||||
|
|
||||||
@ -87,20 +87,22 @@
|
|||||||
| 字段名 | 类型 | 可空 | 说明 |
|
| 字段名 | 类型 | 可空 | 说明 |
|
||||||
|--------|------|------|------|
|
|--------|------|------|------|
|
||||||
| `productType` | String | 是(null 为极少数历史脏数据) | 产品类型枚举码,见枚举 § ⑥ |
|
| `productType` | String | 是(null 为极少数历史脏数据) | 产品类型枚举码,见枚举 § ⑥ |
|
||||||
| `productTypeName` | String | 是(与 productType 同步,null when productType null) | 产品类型中文名,如 `定制产品` |
|
| `productTypeName` | String | 是(与 productType 同步,null when productType null) | 产品类型中文名,来源数据字典 product_type,如 `私人定制` |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ⑥ 枚举 / 数据字典
|
## ⑥ 枚举 / 数据字典
|
||||||
|
|
||||||
### ProductType — 产品类型
|
### ProductType — 产品类型(数据字典 product_type)
|
||||||
|
|
||||||
|
> `productTypeName` 来源是**数据字典 `product_type`**(由运维在 `sys_dict` 中维护),**不是后端硬编码枚举**。后端在列表/详情整页加载时统一查字典回填,前端直接使用 `productTypeName` 展示,无需自行映射。
|
||||||
|
|
||||||
| 枚举值(productType) | 中文名(productTypeName) | 说明 |
|
| 枚举值(productType) | 中文名(productTypeName) | 说明 |
|
||||||
|-----------------------|--------------------------|------|
|
|-----------------------|--------------------------|------|
|
||||||
| `CORE` | 核心产品 | 核心旅游产品;历史无快照订单兜底此值 |
|
| `CORE` | 核心产品 | 核心旅游产品;历史无快照订单兜底此值 |
|
||||||
| `ROUTE` | 线路产品 | 固定线路产品 |
|
| `ROUTE` | 自驾路书 | 自驾路书产品 |
|
||||||
| `CUSTOM` | 定制产品 | 定制行程产品 |
|
| `CUSTOM` | 私人定制 | 私人定制行程产品 |
|
||||||
| `GROUP` | 团队产品 | 团期/团队产品 |
|
| `GROUP` | 小蒙马 | 团期/团队产品 |
|
||||||
|
|
||||||
> `productType` 字段值固定为以上 4 个枚举码之一,或为 `null`(极少数历史脏数据,正常订单不会出现)。
|
> `productType` 字段值固定为以上 4 个枚举码之一,或为 `null`(极少数历史脏数据,正常订单不会出现)。
|
||||||
|
|
||||||
@ -141,7 +143,7 @@ Authorization: Bearer <token>
|
|||||||
"status": "PENDING_PAYMENT",
|
"status": "PENDING_PAYMENT",
|
||||||
"productName": "丽江深度定制5日",
|
"productName": "丽江深度定制5日",
|
||||||
"productType": "CUSTOM",
|
"productType": "CUSTOM",
|
||||||
"productTypeName": "定制产品",
|
"productTypeName": "私人定制",
|
||||||
"totalAmount": "12800.00",
|
"totalAmount": "12800.00",
|
||||||
"createTime": "2026-06-19T10:00:00"
|
"createTime": "2026-06-19T10:00:00"
|
||||||
}
|
}
|
||||||
@ -171,7 +173,7 @@ Authorization: Bearer <token>
|
|||||||
"orderNo": "HL202606190001",
|
"orderNo": "HL202606190001",
|
||||||
"status": "PENDING_PAYMENT",
|
"status": "PENDING_PAYMENT",
|
||||||
"productType": "CUSTOM",
|
"productType": "CUSTOM",
|
||||||
"productTypeName": "定制产品",
|
"productTypeName": "私人定制",
|
||||||
"totalAmount": "12800.00"
|
"totalAmount": "12800.00"
|
||||||
},
|
},
|
||||||
"travelers": [],
|
"travelers": [],
|
||||||
@ -224,7 +226,7 @@ Authorization: Bearer <token>
|
|||||||
|
|
||||||
**适用**:
|
**适用**:
|
||||||
- 所有状态的订单(已完成、取消、退款中等)均会返回 `productType` 字段
|
- 所有状态的订单(已完成、取消、退款中等)均会返回 `productType` 字段
|
||||||
- `GROUP` 类型订单为团期产品,前端可据此渲染团期专属 UI(如团期编号、报名人数等)
|
- `GROUP` 类型订单为团期产品(中文名:小蒙马),前端可据此渲染团期专属 UI(如团期编号、报名人数等)
|
||||||
|
|
||||||
**不适用**:
|
**不适用**:
|
||||||
- 此字段不影响订单的任何操作权限,不参与状态流转判断
|
- 此字段不影响订单的任何操作权限,不参与状态流转判断
|
||||||
@ -242,7 +244,7 @@ Authorization: Bearer <token>
|
|||||||
| 字段 | 修改前 | 修改后 |
|
| 字段 | 修改前 | 修改后 |
|
||||||
|------|--------|--------|
|
|------|--------|--------|
|
||||||
| `productType` | 不返回(字段不存在) | 返回枚举字符串,如 `"CUSTOM"` |
|
| `productType` | 不返回(字段不存在) | 返回枚举字符串,如 `"CUSTOM"` |
|
||||||
| `productTypeName` | 不返回(字段不存在) | 返回中文名,如 `"定制产品"` |
|
| `productTypeName` | 不返回(字段不存在) | 返回数据字典中文名,如 `"私人定制"` |
|
||||||
|
|
||||||
**影响接口**:
|
**影响接口**:
|
||||||
- `GET /v3/admin/order/list` → 列表每条 item 新增两字段
|
- `GET /v3/admin/order/list` → 列表每条 item 新增两字段
|
||||||
@ -267,8 +269,9 @@ Authorization: Bearer <token>
|
|||||||
## ⑫ 注意事项
|
## ⑫ 注意事项
|
||||||
|
|
||||||
1. **防御 null**:`productType` 和 `productTypeName` 理论上有值,但请在渲染时做 null 判断,避免历史脏数据导致前端报错
|
1. **防御 null**:`productType` 和 `productTypeName` 理论上有值,但请在渲染时做 null 判断,避免历史脏数据导致前端报错
|
||||||
2. **两字段配套**:`productType` 为枚举码(用于逻辑判断),`productTypeName` 为中文名(用于展示),两者同步出现或同步为 null,无需前端自己做枚举映射
|
2. **两字段配套**:`productType` 为枚举码(用于逻辑判断),`productTypeName` 为数据字典中文名(用于展示),两者同步出现或同步为 null,前端无需自行映射枚举
|
||||||
3. **不可变字段**:`productType` 在订单层面不可变,前端无需考虑实时刷新或监听变化
|
3. **不可变字段**:`productType` 在订单层面不可变,前端无需考虑实时刷新或监听变化
|
||||||
|
4. **label 修正说明**:本文件于 2026-06-19 修正了 ROUTE/CUSTOM/GROUP 的中文名(见 PR #4022),原 changelog 初稿使用了后端枚举注释值,实际 label 以数据字典 product_type 为准
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -278,4 +281,6 @@ Authorization: Bearer <token>
|
|||||||
- **PR**: [#4010 feat(order-v3): order_main 加 product_type 列 + 列表/详情返回 productType](https://git.1814.love:8443/wx/HL/pulls/4010)
|
- **PR**: [#4010 feat(order-v3): order_main 加 product_type 列 + 列表/详情返回 productType](https://git.1814.love:8443/wx/HL/pulls/4010)
|
||||||
- **Feature Commit**: [849e3be9a](https://git.1814.love:8443/wx/HL/commit/849e3be9a)
|
- **Feature Commit**: [849e3be9a](https://git.1814.love:8443/wx/HL/commit/849e3be9a)
|
||||||
- **Merge Commit**: [36880d1e2](https://git.1814.love:8443/wx/HL/commit/36880d1e2)
|
- **Merge Commit**: [36880d1e2](https://git.1814.love:8443/wx/HL/commit/36880d1e2)
|
||||||
|
- **Label 修正 Issue**: [#4021 productTypeName 改走数据字典 product_type](https://git.1814.love:8443/wx/HL/issues/4021)
|
||||||
|
- **Label 修正 PR**: [#4022](https://git.1814.love:8443/wx/HL/pulls/4022)
|
||||||
- **后端负责人**: 腰苏图
|
- **后端负责人**: 腰苏图
|
||||||
|
|||||||
正在加载...
x
在新工单中引用
屏蔽一个用户