# 订单详情新增 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` | 否 | 订单备品列表(来自下单时固化的产品快照) | | `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": "

呼伦贝尔 7 月早晚温差大,建议携带薄款冲锋衣。

" } } ``` --- ## 三、其他字段保持不变 所有现有字段(`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`