hl-api-changelog/changelogs/2026-04/2026-04-20_order-v2_order-detail-supplies-fields.md

3.0 KiB

订单详情新增 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,接口正常返回。


二、响应示例(新增字段部分)

{
  "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>"
  }
}

三、其他字段保持不变

所有现有字段(orderIdproductNamedepartureDatetravelersinsurances 等)均未改动。


四、数据库变更

。数据来自已有的 order_info.product_snapshot JSON 字段。


五、关联

  • PR: wx/HL#1031
  • 相关接口:GET /mp/order/{orderId}/supplies-checklist(独立行李推荐弹窗),见 2026-04-20_order-v2_mp-supplies-checklist.md