87 行
3.0 KiB
Markdown
87 行
3.0 KiB
Markdown
# 订单详情新增 supplies / equipmentAdvice 强类型字段 — 2026-04-20
|
||
|
||
> **服务** hl-order-service-v2(端口 8094)· **类型** feat · **关联** PR #1026 / #1031
|
||
> **前端调用路径**: 网关(8080) → hl-mp-service(8085) → hl-order-service-v2(8094)
|
||
|
||
---
|
||
|
||
## 一、现有接口字段新增(无路径/参数变更)
|
||
|
||
### ✏️ 订单详情接口 — 新增 2 字段
|
||
|
||
影响接口:
|
||
- `GET /mp/order/{orderId}` — C 端订单详情(`MpOrderDetailVO`)
|
||
- `GET /admin/order/{orderId}` — 管理端订单详情(`OrderDetailVO`)
|
||
|
||
两个接口共享底层 `OrderDetailQueryService`,均同步增加以下字段:
|
||
|
||
| 字段 | 类型 | 必有 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `supplies` | `List<OrderSuppliesVO>` | 否 | 订单备品列表(来自下单时固化的产品快照) |
|
||
| `equipmentAdvice` | `String` | 否 | 装备建议富文本(HTML,来自 `supplement.equipmentAdvice`) |
|
||
|
||
**`OrderSuppliesVO` 字段**:
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
| --- | --- | --- |
|
||
| `id` | `Long` | 备品ID(快照中的产品备品ID) |
|
||
| `suppliesName` | `String` | 备品名称(如"帐篷") |
|
||
| `category` | `String` | 分类(如"户外装备") |
|
||
| `hasCost` | `Boolean` | 是否涉及成本 |
|
||
| `billingType` | `String` | 计费方式(`PER_PERSON`=按人 / `PER_QUANTITY`=按件) |
|
||
| `unitPrice` | `BigDecimal` | 单价 |
|
||
| `quantity` | `Integer` | 数量 |
|
||
| `sortOrder` | `Integer` | 排序 |
|
||
|
||
> ⚠️ `OrderSuppliesVO` 含**完整成本字段**(`hasCost` / `unitPrice`),与 C 端"行李推荐弹窗"使用的 `MpSuppliesItemVO`(去掉了成本字段)不同。
|
||
|
||
**数据来源**:后端装配时从 `order_info.product_snapshot` JSON 解析 `supplies` 数组与 `supplement.equipmentAdvice` 字符串,填充为强类型字段。`productSnapshot` 原字段保持不变,**兼容现有前端**。
|
||
|
||
**降级行为**:快照为 `null`/非法/缺失子节点时,`supplies` 置为空列表,`equipmentAdvice` 置为 `null`,接口正常返回。
|
||
|
||
---
|
||
|
||
## 二、响应示例(新增字段部分)
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"orderId": 2043935542092980226,
|
||
"...": "(其余字段未变)",
|
||
"supplies": [
|
||
{
|
||
"id": 600001,
|
||
"suppliesName": "帐篷",
|
||
"category": "户外装备",
|
||
"hasCost": true,
|
||
"billingType": "PER_QUANTITY",
|
||
"unitPrice": 80.00,
|
||
"quantity": 2,
|
||
"sortOrder": 1
|
||
}
|
||
],
|
||
"equipmentAdvice": "<p>呼伦贝尔 7 月早晚温差大,建议携带薄款冲锋衣。</p>"
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 三、其他字段保持不变
|
||
|
||
所有现有字段(`orderId`、`productName`、`departureDate`、`travelers`、`insurances` 等)均未改动。
|
||
|
||
---
|
||
|
||
## 四、数据库变更
|
||
|
||
**无**。数据来自已有的 `order_info.product_snapshot` JSON 字段。
|
||
|
||
---
|
||
|
||
## 五、关联
|
||
|
||
- PR: [wx/HL#1031](https://git.1814.love:8443/wx/HL/pulls/1031)
|
||
- 相关接口:`GET /mp/order/{orderId}/supplies-checklist`(独立行李推荐弹窗),见 `2026-04-20_order-v2_mp-supplies-checklist.md`
|