hl-api-changelog/changelogs/2026-04/2026-04-20_order-v2_mp-supplies-checklist.md

3.8 KiB

C端「行李推荐弹窗」独立接口 — 2026-04-20

服务 hl-order-service-v2端口 8094 + hl-mp-service端口 8085· 类型 feat · 关联 PR #1041 / #1042 前端调用路径: 网关(8080) → hl-mp-service(8085) → hl-order-service-v2(8094)


一、新增接口1 个)

🆕 GET /mp/order/{orderId}/supplies-checklist — 订单备品清单(行李推荐弹窗)

功能:对应小程序订单详情原型 zgNiD 行李推荐弹窗。从 order_info.product_snapshot 解析 supplies(按 category 分组,排除 hasCost=true 的成本项)+ supplement.equipmentAdvice(装备建议富文本)。

请求参数

参数 位置 类型 必填 说明
orderId Path Long 订单ID

userId 由 mp-service 从 token 中获取后透传给 order-service,前端不传。

返回值 Result<MpSuppliesChecklistRespVO>

字段 类型 必有 说明
orderId Long 订单 ID
categories List<MpSuppliesCategoryVO> 备品清单按分类分组(无推荐时为空列表)
equipmentAdvice String 装备建议富文本HTML,快照无值时为 null

MpSuppliesCategoryVO

字段 类型 说明
category String 分类名(如"衣物"、"配件"
items List<MpSuppliesItemVO> 该分类下的备品列表

MpSuppliesItemVO

字段 类型 说明
suppliesName String 备品名称(如"防晒霜"
category String 分类(与父级同)
quantity Integer 数量
billingType String 计费方式(PER_PERSON=按人 / PER_QUANTITY=按件)
sortOrder Integer 排序

⚠️ 相比管理端 OrderSuppliesVO,C 端 VO 已去除 hasCostunitPrice 等成本字段。

请求示例

GET /mp/order/2043935542092980226/supplies-checklist

响应示例

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "orderId": 2043935542092980226,
    "categories": [
      {
        "category": "衣物",
        "items": [
          { "suppliesName": "冲锋衣", "category": "衣物", "quantity": 1, "billingType": "PER_PERSON", "sortOrder": 1 },
          { "suppliesName": "速干裤", "category": "衣物", "quantity": 2, "billingType": "PER_PERSON", "sortOrder": 2 }
        ]
      },
      {
        "category": "配件",
        "items": [
          { "suppliesName": "防晒霜", "category": "配件", "quantity": 1, "billingType": "PER_QUANTITY", "sortOrder": 1 }
        ]
      }
    ],
    "equipmentAdvice": "<p>呼伦贝尔 7 月早晚温差大,建议携带薄款冲锋衣。</p>"
  }
}

空推荐响应示例(快照无 supplies 与 equipmentAdvice

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "orderId": 2043935542092980226,
    "categories": [],
    "equipmentAdvice": null
  }
}

二、mp-service BFF 转发

前端调用 mp-service 转发到
GET /mp/order/{orderId}/supplies-checklist GET /internal/mp/order/{orderId}/supplies-checklist

三、数据库变更

。数据来自下单时固化的 order_info.product_snapshot


四、错误码

HTTP 始终返回 200,错误码在 Result.code 中。

code 触发 说明
200 正常 成功(快照缺失时 categories 为空列表,equipmentAdvice 为 null
400 订单不存在 BusinessException

五、关联

  • PR: wx/HL#1042
  • 原型节点: zgNiD — 行李推荐弹窗
  • 相关字段: OrderDetailVO 已同步新增 supplies / equipmentAdvice 字段,见 2026-04-20_order-v2_order-detail-supplies-fields.md