GET /mp/order/{orderId}/supplies-checklist
按分类分组返回订单备品清单 + 装备建议富文本,对应原型 zgNiD 行李推荐弹窗。
PR #1042 (Closes #1041)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.3 KiB
3.3 KiB
微信小程序 · 订单行李推荐接口
日期:2026-04-21
影响:微信小程序 订单详情行李推荐弹窗(原型 zgNiD)
PR:#1042(Closes #1041)
概述
订单详情页"行李推荐"弹窗独立查询接口。从产品快照中解析备品清单,按分类分组返回,附装备建议富文本。
C 端展示已去除成本字段(
hasCost/unitPrice),后端已过滤掉成本项(hasCost=true),仅返回给用户看的推荐行李。
接口
GET /mp/order/{orderId}/supplies-checklist
鉴权:Bearer token。 缓存:5 分钟。
入参
| 参数 | 位置 | 类型 | 必填 |
|---|---|---|---|
| orderId | Path | Long | ✅ |
出参 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 | 排序(升序) |
响应示例
{
"code": 200,
"message": "成功",
"data": {
"orderId": 20439,
"categories": [
{
"category": "衣物",
"items": [
{"suppliesName":"冲锋衣","category":"衣物","quantity":1,"billingType":"PER_PERSON","sortOrder":1},
{"suppliesName":"保暖内衣","category":"衣物","quantity":1,"billingType":"PER_PERSON","sortOrder":2}
]
},
{
"category": "配件",
"items": [
{"suppliesName":"防晒霜","category":"配件","quantity":1,"billingType":"PER_QUANTITY","sortOrder":1},
{"suppliesName":"墨镜","category":"配件","quantity":1,"billingType":"PER_PERSON","sortOrder":2}
]
}
],
"equipmentAdvice": "<p>呼伦贝尔 7 月早晚温差大,建议携带薄款冲锋衣。防晒需求高,墨镜 + 防晒霜必备。</p>"
},
"success": true
}
边界行为
- 订单不存在或无权限:500,
message含orderId - 产品快照无备品配置:
categories=[],equipmentAdvice=null - 所有备品都是成本项:
categories=[](已过滤)
数据来源
字段从订单绑定产品的产品快照中解析得到,下单时刻的备品清单锁定,后续产品端备品变动不影响已下单订单。
关联字段(其他接口)
订单详情 GET /mp/order/{orderId} 的返回 VO(MpOrderDetailVO)本身也带 supplies 和 equipmentAdvice 字段,用于整单数据一次读取场景。本独立接口专用于弹窗按需拉取。
| 接口 | 字段 | 说明 |
|---|---|---|
GET /mp/order/{orderId} |
supplies: List<OrderSuppliesVO> |
订单备品(扁平列表,不分组) |
GET /mp/order/{orderId} |
equipmentAdvice: String |
装备建议富文本 |
GET /mp/order/{orderId}/supplies-checklist |
见上文 | 按分类分组 + 装备建议,弹窗专用 |