--- 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