{
  "id": "410ab59941ee47351302acc419",
  "serialNumber": "VWCG-1422",
  "subject": "订单支付后支持省略扫码出餐直接核销，多端兼容待核销状态",
  "description": "# 支付后支持省略扫码出餐并核销，多端兼容直接待核销状态\n\n## Use Case 概要\n- Use Case ID：UC-ORDER-SKIP-SERVING-001\n- 版本/状态：v0.1 / Draft；DoR: BLOCKED\n- 云效目标：【自研】智慧营养健康餐厅 / 产品类需求 / 待处理；负责人：兰海军（已通过当前云效接口核对）。\n- 来源：2026-10-12 用户本会话要求；相关历史需求 VWCG-1379，仅作背景，不能代替在线查重。\n- 已确认：消费机扫码出餐过程可以省略，不操作出餐也应能核销；服务端已有可能直接返回待核销。\n- 证据边界：已读仓库历史方案和产品决策，未验证当前运行环境或线上代码。\n\n## 背景、目标与范围\n当前用户反馈未出餐不能核销。本次解除扫码出餐作为核销必要前置的限制，并兼容服务端直接返回待核销。\n范围：手机端、消费机端、点餐机端、PC管理后台以及关联服务端状态判断和查询；出餐/叫号、自动完成和外部同步列入影响检查。\n不包含：任意状态跳转、支付成功即自动完成、扩大核销权限、虚构出餐记录、自动迁移历史订单。\n成功指标：下列验收和测试全部通过；实际发布和验收结果待回写。\n\n## 参与者、权限与边界\n就餐用户：查看本人订单及取餐码，不增加手机核销操作。\n消费机操作人员：在既有设备鉴权和订单范围内核销；保留取餐码扫描、输入订单编号的既有入口。\n点餐机：兼容支付结果和订单查询状态，不擅自增加核销权限。\n后台人员：在既有权限范围查看状态及真实核销信息。\n服务端：校验支付、退款、取消、订单归属、凭证和设备；统一裁定状态及核销资格。\n\n## 触发、前置与后置\n- 触发：支付成功后查询订单，或消费机发起核销。\n- 前置：服务端确认支付成功，订单和取餐凭证合法，鉴权及既有业务校验通过。\n- 成功后置：无需扫码出餐也可合法核销，真实核销信息只写一次，多端获取一致结果。\n- 失败后置：拒绝非法核销；系统故障不写入部分核销结果，可查询确认后安全重试。\n\n## 主流程\n| 步骤 | 行为 | 页面/API/事件 | 状态与验收 |\n| --- | --- | --- | --- |\n| M1 | 服务端确认支付成功 | 支付回调、订单查询，实际路由待核对 | 保留真实支付状态；AC-01 |\n| M2 | 未扫码出餐，查询或提交核销 | 消费机核销查询/提交接口，待核对当前实现 | 不再仅因未出餐拒绝；AC-02 |\n| M3 | 服务端校验并原子完成核销 | 既有核销服务 | 只记录一次真实核销，不伪造出餐；AC-03 |\n| M4 | 各端查询最新状态 | 手机/消费机/点餐机/PC现有相关页面 | 正确展示结果及允许的操作；AC-04 |\n\n## 分支流程\n- A1@M2：服务端已返回待核销，终端直接识别并提供既有合法操作，不要求补做出餐；AC-05。\n- A2@M2：仍按原流程扫码出餐的订单保持可核销；AC-06。\n- A3@M2：尚处于旧备餐状态但未出餐的订单，是否提交核销时直接完成，或先推进至待核销，由Q-01确定；不得以AI假设替代。\n\n## 异常/恢复流程\n- E1/R1：重复请求或两台消费机并发，最多一次核销成功；其余返回已核销，首次时间、方式、设备不覆盖；AC-03。\n- E2/R2：请求超时、网络中断后先查询结果，再安全重试；数据库异常整体回滚；AC-07。\n- E3/R3：未支付、取消、退款处理中、全额退款、无权限设备或不合法凭证，按既有业务规则拦截；部分退款保持已批准规则；AC-08。\n- E4/R4：核销后的延迟出餐或旧状态事件不得回退订单或重复叫号，具体出餐处理按Q-03；AC-09。\n\n## 业务规则与工程契约\n- BR-01：省略的是出餐操作，核销动作仍需实际发生；不得把支付成功等同核销成功。\n- BR-02：后端统一裁定核销资格，终端不得仅凭本地缓存或状态文案判断。\n- BR-03：状态迁移、核销记录原子写入；重复和并发不产生重复副作用。\n- BR-04：无实际出餐则不伪造出餐时间和设备；真实核销信息正常保留。\n- BR-05：历史资料中prepare_status=10为备餐中、20为待取餐即待核销、30为已完成；与当前用户页面术语的映射待核对，不直接新增状态码。\n- BR-06：既有跨日自动完成、万益生同步不得直接删除或停用；检查新分支兼容性。\n- 页面：涉及现有支付结果、订单详情、核销查询/结果、PC订单详情；不默认增加后台配置页。\n- API/数据：优先复用现有订单/取餐对象与接口，当前路径、请求字段、状态码、并发条件待技术核对。\n- 性能：沿用现网已批准SLA；具体同步时间、并发量和延迟阈值待Q-04，未定义前不宣称通过性能验收。\n- 安全：不新增权限；设备鉴权、订单归属和非法凭证回归必须通过；证据脱敏。\n- 原型：[不适用：本次先提交状态行为需求，未要求新增页面或原型]。\n\n## 验收标准与测试矩阵\n| AC | Given / When / Then | 自动化与终端验证 |\n| --- | --- | --- |\n| AC-01 | 支付未确认时不可进入可核销结果 | API-01支付前置校验 |\n| AC-02 | 合法已支付订单未扫码出餐，提交核销可完成 | API-02；消费机E2E-01 |\n| AC-03 | 重复/并发提交，只核销一次且首次信息不变 | API-03并发及幂等 |\n| AC-04 | 核销后，各相关终端查询得到一致完成结果 | 手机/消费机/点餐机/PC E2E-02，时效待Q-04 |\n| AC-05 | 服务端直接返回待核销，各端不要求补出餐 | API-04契约；各端E2E-03 |\n| AC-06 | 原扫码出餐后核销流程仍通过 | E2E-04回归 |\n| AC-07 | 超时/事务失败后可恢复，结果无半写入 | IT-01故障恢复 |\n| AC-08 | 非法支付/退款/取消/权限/凭证请求被拒绝 | API-05、SEC-01 |\n| AC-09 | 延迟出餐、自动完成及同步不回退或重复处理 | IT-02联动回归 |\n测试命令、当前接口、数据夹具和实际证据：开发切片中补齐；本次未执行实现测试。\n\n## 待确认项、风险与追踪\n- Q-01（P0）：已确认未出餐也应可核销；待核对后端合法迁移方式（直接完成或先推进待核销），以及已有支付后直接待核销的触发条件。Owner：海军协调产品/后端；期限：开发前。\n- Q-02（P0）：用户当前页面的待取餐/待核销与旧状态10/20如何映射？Owner：海军协调各端/后端；期限：开发前。\n- Q-03：省略出餐时叫号/取餐柜是否参与，核销后补扫出餐如何响应？Owner：海军协调交付/后端；期限：评审时。\n- Q-04：同步时效、设备版本和性能指标。Owner：海军协调技术/测试；期限：开发前。\n- PC后台为历史方案明确入口；叫号/取餐屏、取餐柜、商户管理端等仅在实际接入该订单链路时纳入，不宣称均需改代码。\n- 追踪：UC/M/A/E/R → 实际页面/API/事件 → 状态/BR → AC → Test → MR/证据，实施后回写。\n- 提交记录：用户授权从旧仓库恢复个人云效配置；当前接口已核对兰海军账号，查重未发现同范围需求。创建后回写工作项和回读证据。\n",
  "status": {
    "name": "待处理",
    "nameEn": "To Do",
    "displayName": "待处理",
    "id": "100005"
  }
}
