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