# 订单详情新增 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`
