文件
hl-api-changelog/changelogs-v2/2026-06/02_3363_订单服务标准接口返回成品数据+notices加title-修改接口-管理后台.md
T
yaosutu 8398fd26a0 docs(changelog-v2): 订单服务标准接口返回真实成品 + notices 加 title (#3363/#3364)
GET /v3/admin/order/{id}/service-standard 由恒空改为新订单返回完整服务标准成品;
notices[] 每条新增 title 字段。管理后台端。
2026-06-02 19:55:14 +08:00

6.8 KiB
原始文件 Blame 文件历史

二期 v3:订单详情「服务标准」Tab 接口返回真实成品数据 + notices 新增 title 字段

服务: hl-order-service-v3(产品侧 hl-product-service-v2 配合改造,前端无感) 端: 管理后台 接口: GET /v3/admin/order/{id}/service-standard(订单详情 - 服务标准 Tab) 类型: ✏️ 修改接口(出参 notices[] 新增 title 字段 + 接口由恒空改为返回真实成品) 日期: 2026-06-02 关联: Issue #3363 / PR #3364(前序 #3340 建接口、#3353 改只读快照)


一句话结论

  1. 该接口此前对所有订单恒返 data: null(产品侧没生产服务标准成品)。本次产品侧补上生产端,新下单的订单会返回完整服务标准成品(标题 / 简介 / 服务承诺 / 行程 / 退费说明)。
  2. 出参 notices[](服务承诺条目)每条新增 title 字段。

⚠️ 仅对部署之后新创建的订单生效。部署前的老订单仍返 null(其快照未冻入成品)。开发阶段老订单可忽略。


出参结构(完整,自包含)

data 类型 ServiceStandardVO,data 为 null 表示该订单无服务标准成品。

字段 类型 说明 可空
title string 标题,固定为 "出团服务标准·" + 产品名;产品名为空时退化为 "出团服务标准" 否
subtitle string 副标题 本期恒 null
intro string 服务标准简介 是(产品未配服务标准模板时为 null)
notices NoticeItem[] 服务承诺条目(扁平,无分组) 是(无源时为空数组 [])
itinerary DayVO[] 行程逐天列表 是(无行程时空数组)
refundNotes RefundNoteGroup[] 退费说明分组(按行程节点聚合) 是(无退费说明时空数组)

NoticeItem(服务承诺条目)

字段 类型 说明 可空
title string 本次新增。条目主文案标题(如「专业司机」) 是
content string 正文(如「持有 A1 驾照,8 年以上驾龄」) 是
remark string 备注 / 灰色二级说明 是
color string 文案颜色 #RRGGBB 是
contactName string 联系人 是
phone string 手机号 是

DayVO(行程天)

字段 类型 说明 可空
dayNumber integer 天序号(从 1 起) 否
dayTitle string 天标题(如「第一天-接机」) 是
remark string 当天备注 本期恒 null
itineraryNode ItineraryNode[] 当天点位列表 是

ItineraryNode(行程点位)

字段 类型 说明 可空
nodeName string 点位名称(如「呼和诺尔草原旅游区」「早餐」) 否
description string 点位描述 是
contactName string 联系人 本期恒 null
phone string 手机号 本期恒 null

RefundNoteGroup(退费说明分组)

字段 类型 说明 可空
sourceName string 来源点位名称(取行程节点名) 否
intro string 退费说明备注(如「苔藓为赠送项目,不退费」) 是
items RefundItem[] 退费明细列表 是

RefundItem(退费明细条目)

字段 类型 说明 可空
title string 展示标题(如「成人未参加」) 是
amount number 退费金额(赠送项目为 0) 是
unitLabel string 展示文案:/人 /团 /辆 是
settleScope string 结算粒度枚举(见下) 是
settleScopeLabel string 结算粒度中文(冻结即定格) 是
remark string 备注 是
effectiveFrom string(date) 规则生效起日,null = 无限制 是
effectiveTo string(date) 规则生效止日,null = 无限制 是

枚举 / 数据字典

settleScope(结算粒度)

枚举值 settleScopeLabel(中文) 配套 unitLabel
PER_PERSON 按人 /人
PER_TEAM 按团 /团
PER_VEHICLE 按车 /辆

settleScopeLabel 在下单时随快照冻结,定格当时字典中文,资源后改不影响老订单。


请求示例

GET /v3/admin/order/2061762043987247105/service-standard
Authorization: Bearer {adminToken}

响应示例(真实,测试服 dev-v3 实测)

{
  "code": 200,
  "message": "成功",
  "success": true,
  "data": {
    "title": "出团服务标准·测试核心产品-单档-固定订金",
    "subtitle": null,
    "intro": "全程贴心服务保障",
    "notices": [
      {
        "title": "专业司机",
        "content": "持有A1驾照,8年以上驾龄",
        "remark": "仅限指定时段",
        "color": "#FF6600",
        "contactName": "李师傅",
        "phone": "13800000000"
      }
    ],
    "itinerary": [
      {
        "dayNumber": 1,
        "dayTitle": "第一天-接机",
        "remark": null,
        "itineraryNode": [
          { "nodeName": "海拉尔接机", "description": null, "contactName": null, "phone": null },
          { "nodeName": "早餐", "description": "含(酒店)", "contactName": null, "phone": null }
        ]
      }
    ],
    "refundNotes": [
      {
        "sourceName": "呼和诺尔草原旅游区",
        "intro": "苔藓为赠送项目,不退费",
        "items": [
          {
            "title": "成人未参加", "amount": 44.0, "unitLabel": "/人",
            "settleScope": "PER_PERSON", "settleScopeLabel": "按人",
            "remark": "凭票退", "effectiveFrom": null, "effectiveTo": null
          },
          {
            "title": "整团未到", "amount": 100.0, "unitLabel": "/团",
            "settleScope": "PER_TEAM", "settleScopeLabel": "按团",
            "remark": null, "effectiveFrom": null, "effectiveTo": null
          }
        ]
      }
    ]
  }
}

响应示例(老订单 / 无成品)

{ "code": 200, "message": "成功", "success": true, "data": null }

业务边界 / 注意事项

  • data: null 是合法返回,表示该订单无服务标准成品(部署前老订单 / 产品未配服务标准)。
  • intro、notices 来源于产品「服务标准模板」:产品未绑模板时,intro 为 null、notices 为 [],但 title / itinerary / refundNotes(有各自数据源时)仍正常返回。
  • subtitle、DayVO.remark、ItineraryNode.contactName/phone 本期固定为 null(预留字段)。
  • 成品在下单时随产品快照整体冻结,资源 / 产品后续修改不影响已下单订单。

关联