docs: 告知前端使用 5132 真实订单标签
这个提交包含在:
父节点
f88592504e
当前提交
2049120145
@ -24,6 +24,7 @@ generated: "2026-07-22T10:35:00+08:00"
|
|||||||
派单弹窗 Step1 不能再只展示人数、日期和每日一句简介。`GET /admin/fleet/board/orders/{orderId}` 现一次返回:
|
派单弹窗 Step1 不能再只展示人数、日期和每日一句简介。`GET /admin/fleet/board/orders/{orderId}` 现一次返回:
|
||||||
|
|
||||||
- `productName`:订单产品名(原字段,前端本次必须展示)。
|
- `productName`:订单产品名(原字段,前端本次必须展示)。
|
||||||
|
- `tags[]`:订单在 `order_tag` 中真实挂载的标签名称与颜色;无标签返回 `[]`。
|
||||||
- `itinerary.days[].nodes[]`:每日真实行程节点,含开始时间、时段、时长、名称和简介。
|
- `itinerary.days[].nodes[]`:每日真实行程节点,含开始时间、时段、时长、名称和简介。
|
||||||
- `travelers[]`:出行人脱敏基本信息,不含生日和任何明文字段。
|
- `travelers[]`:出行人脱敏基本信息,不含生日和任何明文字段。
|
||||||
- `transport`:抵达、返程及分批大交通信息(原字段,前端本次必须完整展示时间和班次,不能只显示站点)。
|
- `transport`:抵达、返程及分批大交通信息(原字段,前端本次必须完整展示时间和班次,不能只显示站点)。
|
||||||
@ -44,6 +45,10 @@ GET /admin/fleet/board/orders/{orderId}
|
|||||||
|
|
||||||
| 字段 | 类型 | 说明 |
|
| 字段 | 类型 | 说明 |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|
| `tags` | Array | 真实订单标签;无标签返回 `[]` |
|
||||||
|
| `tags[].tagId` | String | 标签雪花 ID,必须按字符串处理 |
|
||||||
|
| `tags[].name` | String/null | 标签名称 |
|
||||||
|
| `tags[].color` | String/null | 标签颜色,如 `#52C41A` |
|
||||||
| `itinerary.days[].nodes` | Array | 当日节点,按 `sortOrder` 升序;无节点返回 `[]` |
|
| `itinerary.days[].nodes` | Array | 当日节点,按 `sortOrder` 升序;无节点返回 `[]` |
|
||||||
| `itinerary.days[].nodes[].nodeId` | String | 节点雪花 ID,必须按字符串处理 |
|
| `itinerary.days[].nodes[].nodeId` | String | 节点雪花 ID,必须按字符串处理 |
|
||||||
| `itinerary.days[].nodes[].nodeType` | String/null | 节点类型,如 `SCENIC`、`RESTAURANT`、`ACTIVITY`、`SERVICE`、`CUSTOM` |
|
| `itinerary.days[].nodes[].nodeType` | String/null | 节点类型,如 `SCENIC`、`RESTAURANT`、`ACTIVITY`、`SERVICE`、`CUSTOM` |
|
||||||
@ -106,6 +111,13 @@ GET /admin/fleet/board/orders/{orderId}
|
|||||||
"data": {
|
"data": {
|
||||||
"orderNo": "HL20260721171011648",
|
"orderNo": "HL20260721171011648",
|
||||||
"productName": "草原亲子三日游",
|
"productName": "草原亲子三日游",
|
||||||
|
"tags": [
|
||||||
|
{
|
||||||
|
"tagId": "9001",
|
||||||
|
"name": "亲子家庭",
|
||||||
|
"color": "#52C41A"
|
||||||
|
}
|
||||||
|
],
|
||||||
"itinerary": {
|
"itinerary": {
|
||||||
"theme": "草原亲子三日游",
|
"theme": "草原亲子三日游",
|
||||||
"route": null,
|
"route": null,
|
||||||
@ -182,6 +194,8 @@ GET /admin/fleet/board/orders/{orderId}
|
|||||||
目标文件:`src/views/fleet/board/components/Step1OrderDetail.vue`。
|
目标文件:`src/views/fleet/board/components/Step1OrderDetail.vue`。
|
||||||
|
|
||||||
1. 顶部订单摘要展示产品名,读取 `order.productName || order.product`;产品名为空才显示 `—`。
|
1. 顶部订单摘要展示产品名,读取 `order.productName || order.product`;产品名为空才显示 `—`。
|
||||||
|
- 当前 `Step1OrderDetail.vue` 中的 `order.bookingType || '企业包车'` 是硬编码占位,不是订单标签,必须删除。
|
||||||
|
- 该位置改为遍历详情响应 `tags[]`,使用 `name` 作为文案、`color` 作为颜色;`tags=[]` 时不显示标签,也不回退“企业包车”。
|
||||||
2. 在顶部订单摘要下增加“大交通”信息卡,抵达与返程分栏展示 `transportNo + time + station + remark`:
|
2. 在顶部订单摘要下增加“大交通”信息卡,抵达与返程分栏展示 `transportNo + time + station + remark`:
|
||||||
- 时间使用完整月日和时分,不只展示日期。
|
- 时间使用完整月日和时分,不只展示日期。
|
||||||
- `arrive`、`depart` 独立判空,只有一段时仍正常展示该段。
|
- `arrive`、`depart` 独立判空,只有一段时仍正常展示该段。
|
||||||
@ -208,6 +222,7 @@ GET /admin/fleet/board/orders/{orderId}
|
|||||||
## 兼容与降级
|
## 兼容与降级
|
||||||
|
|
||||||
- 仅新增响应字段,不修改请求参数,不影响旧调用方。
|
- 仅新增响应字段,不修改请求参数,不影响旧调用方。
|
||||||
|
- 历史订单无订单标签时 `tags=[]`,禁止使用产品类型、预订类型或固定文案冒充订单标签。
|
||||||
- 历史行程没有节点时 `nodes=[]`,每日标题和简介仍照常返回。
|
- 历史行程没有节点时 `nodes=[]`,每日标题和简介仍照常返回。
|
||||||
- order-v3 聚合上下文失败并回退 fleet 本地快照时,`relatedDetailReady=false`,`travelers=[]`,行程节点不可用;前端显示真实空态。
|
- order-v3 聚合上下文失败并回退 fleet 本地快照时,`relatedDetailReady=false`,`travelers=[]`,行程节点不可用;前端显示真实空态。
|
||||||
- 原独立脱敏接口 `GET /admin/fleet/board/orders/{orderId}/travelers` 保留兼容,但此页面无需再发第二次请求。
|
- 原独立脱敏接口 `GET /admin/fleet/board/orders/{orderId}/travelers` 保留兼容,但此页面无需再发第二次请求。
|
||||||
@ -218,6 +233,7 @@ GET /admin/fleet/board/orders/{orderId}
|
|||||||
## 验收清单
|
## 验收清单
|
||||||
|
|
||||||
- [ ] 顶部可看到订单产品名。
|
- [ ] 顶部可看到订单产品名。
|
||||||
|
- [ ] 顶部只展示 `tags[]` 中的真实订单标签;无标签时不显示,“企业包车”硬编码已删除。
|
||||||
- [ ] 大交通卡分别展示抵达/返程的班次、完整时间、站点和备注。
|
- [ ] 大交通卡分别展示抵达/返程的班次、完整时间、站点和备注。
|
||||||
- [ ] 有分批接送时展示每批出行人、班次、时间和站点;无大交通时间时展示真实空态。
|
- [ ] 有分批接送时展示每批出行人、班次、时间和站点;无大交通时间时展示真实空态。
|
||||||
- [ ] 每日安排按节点顺序展示时间、节点名、时长和简介。
|
- [ ] 每日安排按节点顺序展示时间、节点名、时长和简介。
|
||||||
@ -236,6 +252,7 @@ GET /admin/fleet/board/orders/{orderId}
|
|||||||
- `OrderFleetProviderServiceTest`:覆盖节点随当前订单日期对齐且出行人脱敏进入聚合上下文。
|
- `OrderFleetProviderServiceTest`:覆盖节点随当前订单日期对齐且出行人脱敏进入聚合上下文。
|
||||||
- `BoardOrderServiceTest`:覆盖 shared DTO 到管理端 VO 的节点和出行人映射。
|
- `BoardOrderServiceTest`:覆盖 shared DTO 到管理端 VO 的节点和出行人映射。
|
||||||
- `BoardControllerTest`:覆盖 `productName`、节点时间、String ID 与脱敏出行人的 JSON 契约。
|
- `BoardControllerTest`:覆盖 `productName`、节点时间、String ID 与脱敏出行人的 JSON 契约。
|
||||||
|
- `OrderFleetProviderServiceTest`、`BoardOrderServiceTest` 与 `BoardControllerTest`:覆盖 `order_tag` 名称/颜色进入详情响应,标签 ID 按字符串序列化。
|
||||||
- 测试环境网关实测订单 `HL20260721171011648`:HTTP 200,返回 3 个行程日、14 个真实节点和 5 位出行人;5 位出行人均返回 `ageAtDeparture`,且未出现生日、明文姓名、明文证件号或明文手机号。
|
- 测试环境网关实测订单 `HL20260721171011648`:HTTP 200,返回 3 个行程日、14 个真实节点和 5 位出行人;5 位出行人均返回 `ageAtDeparture`,且未出现生日、明文姓名、明文证件号或明文手机号。
|
||||||
- 同一实测订单已返回抵达大交通的班次、抵达时间和站点;该订单无返程段、无分批接送,接口按真实数据返回空值或空数组。
|
- 同一实测订单已返回抵达大交通的班次、抵达时间和站点;该订单无返程段、无分批接送,接口按真实数据返回空值或空数组。
|
||||||
- 该订单 14 个节点的 `startTime` 与 `timePeriod` 在订单行程源数据中均为空,接口如实返回 `null`;前端须展示“时间待定”,若要显示具体钟点需先补录订单行程节点时间。
|
- 该订单 14 个节点的 `startTime` 与 `timePeriod` 在订单行程源数据中均为空,接口如实返回 `null`;前端须展示“时间待定”,若要显示具体钟点需先补录订单行程节点时间。
|
||||||
|
|||||||
正在加载...
x
在新工单中引用
屏蔽一个用户