3.8 KiB
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 已去除hasCost、unitPrice等成本字段。
请求示例:
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