3.2 KiB
3.2 KiB
产品编辑 Step5「服务标准」tab —— 只读预览接口(一个接口返三块)
- 端类型:管理后台
- 变更类型:新增接口
- 日期:2026-06-03
- PR:#3377
- 后端负责人:wx
① 背景
产品编辑 Step5「补充信息」新增「服务标准」tab,一屏内同时给运营看三块(均只读、实时,不冻快照):
- 当前绑定的服务标准模板内容
- 各行程节点的服务标准(来自资源 service_standard)
- 各行程节点的退费说明(来自资源退费说明)
模板的绑定(写)走既有 Step5 保存(serviceStandardTemplateId,见 6-03 另一篇《服务标准模板与产品关联说明》)。本接口只负责 tab 内的只读预览展示。
② 新增接口
| 接口 | 方法 | 路径 | 鉴权 |
|---|---|---|---|
| 服务标准预览 | GET | /admin/product/item/{id}/service-standard-preview |
admin token;产品数据权限(与产品详情同口径) |
响应 data 结构:
{
"templateId": 2061281473171775490, // 当前绑定模板ID,未绑定为 null
"template": { // 绑定模板完整内容,未绑定为 null
"id", "name", "intro", "applicableScope",
"sections": [ { "title", "items": [ { "title","content","remark","color","contactName","phone" } ] } ]
},
"nodes": [ // 行程节点的服务标准+退费说明(仅含有内容的节点;皆空的节点不返回)
{
"dayNumber": 2,
"nodeName": "呼和诺尔草原旅游区",
"nodeType": "SCENIC", // SCENIC/ACTIVITY/HOTEL/RESTAURANT...
"serviceStandard": "……", // 资源节点服务标准,无则 null
"refundNote": { // 退费说明,无则 null
"intro": "……",
"items": [
{ "title","amount","unitLabel","settleScope","settleScopeLabel","remark","effectiveFrom","effectiveTo" }
]
}
}
]
}
③ 测试服实测(已部署 dev-v3)
- 12 个产品调用全
code=200。 - 模板块:产品 2056938821550747650 →
templateId=2061281473171775490、template含完整 sections,正确返回。 - 退费说明块:产品 2056944461216100353 → 节点「呼和诺尔草原旅游区(SCENIC)」
refundNote.items2 条(成人未参加/整团未到),正确返回。 - 节点服务标准块:当前测试库 66 个景区均未配置
service_standard,故serviceStandard现返回 null。字段链路已端到端打通(资源端已填充、本接口已映射),运营在资源上配置 service_standard 后即自动展示,前端无需改动。
④ 前端动作
- 在 Step5「服务标准」tab 调本接口渲染三块(模板内容 + 节点服务标准 + 节点退费说明),均为只读展示。
- 节点列表已按天/节点顺序、过滤掉无服务标准且无退费说明的节点;
serviceStandard/refundNote可能为 null,按需隐藏。 - 与模板绑定(写)配合使用:绑定走
PUT /admin/product/item/{id}/supplement的serviceStandardTemplateId,预览走本接口。