docs(order-v3): #8343 团单不提供用餐,按订单ID的用餐 5 接口对团单报 589614
changelog-filename-gate / validate (push) Failing after 1s

这个提交包含在:
lc
2026-09-24 16:15:14 +08:00
父节点 db68d11057
当前提交 20fb092ab5
@@ -0,0 +1,71 @@
---
schema: "hl-changelog/v2"
ticket: "8343"
title: "团单不提供用餐:按订单ID的用餐接口拒绝团单"
consumer: "admin"
author: "lc(GIT)"
change_type: "修改接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "pending"
frontend_owner: ""
frontend_ref: ""
target_release: ""
verified_at: "2026-09-24"
status_note: "已部署 TEST 并经 Gateway 实测通过。团单(订单详情 main.groupOrder=true)只传 orderId 调用餐查询、生成、保存、重置、套用模版 5 个接口,统一返回 589614「团单不提供用餐」,不写库;散客单不变;只传 groupBatchId 的团期用餐不变。"
updated_at: "2026-09-24"
base: "dev-v3"
---
# order-v3: 团单不提供用餐,按订单ID的用餐接口拒绝团单
> **服务**: hl-order-service-v3
> **PR**: #8347
> **Issue**: #8343
> **日期**: 2026-09-24
> **影响范围**: 管理后台订单用餐(按订单维度)的查询、生成、保存、重置与套用模版
---
## ⚠️ 关键变化
- 🆕 **团单报错**:订单是团单时,下表 5 个接口只传 `orderId` 调用,统一返回业务错误 `589614`「团单不提供用餐」,不写库。**查询也报错,不返回空列表。**
- ℹ️ **判团字段**:订单详情 `GET /v3/admin/order/{id}` 的 `main.groupOrder`(`true` 为团单),与订单列表「订单类型=团单」同口径;该字段本次不改。
- ℹ️ **不受影响**:散客单(`main.groupOrder=false`)行为不变;只传 `groupBatchId` 的团期用餐不变;存为模版(4.2)不变。
- ℹ️ **报错先后**:订单不存在、无权(581045 / 581008)、已完成或已取消(589607)仍按原错误码先报,之后才判团单。
- 🔁 **与 #8230 不同**:#8230 起团期子订单可按 `orderId` 保存、套用用餐,本次起团单这样调用返回 589614。
---
## 二、变更接口清单
| # | 接口 | 方法 | 路径 | 变更类型 | 说明 |
|---|---|---|---|---|---|
| 1 | 查询用餐信息列表(3.1) | GET | `/v3/admin/order/meal-info/list` | 修改 | 只传 `orderId` 且为团单 → 589614 |
| 2 | 生成用餐信息(3.2) | POST | `/v3/admin/order/meal-info/generate` | 修改 | 同上 |
| 3 | 保存用餐信息(整单,3.3) | POST | `/v3/admin/order/meal-info/save` | 修改 | 同上 |
| 4 | 重置用餐信息(3.4) | POST | `/v3/admin/order/meal-info/reset` | 修改 | 同上 |
| 5 | 套用用餐模版(4.3) | POST | `/v3/admin/order/meal-template/apply` | 修改 | 同上 |
入参、出参字段不变。
---
## 三、错误码
| 错误码 | 文案 | 触发 |
|---|---|---|
| 589614 | 团单不提供用餐 | 上表 5 个接口只传 `orderId`,该订单是团单 |
---
## 四、前端动作
- 订单详情按 `main.groupOrder=true` 判团单,团单不提供用餐,不调用上表 5 个接口。
- 收到 589614 时按普通业务错误提示文案。
---
## 联系人
@lc