# 订单状态矩阵速查表(角色 × 操作 × 变更前后) 本文档用于产品评审、培训讲解、联调验收时快速确认:**哪个角色做了什么操作,会影响哪些状态字段**。 --- ## 1. 状态字段总览 ### 1.1 订单三状态 - `order_status`(订单主状态) - `pending_payment`:待支付 - `pending_confirm`:待收货 - `completed`:已完成 - `cancelled`:已取消 - `delivery_status`(订单配送状态) - `pending_dispatch`:待分配配送 - `delivering`:配送中 - `delivered`:配送完成 - `pay_status`(订单支付状态) - `pending_payment`:待支付 - `paid`:已支付 - `refunding`:退款中 - `refunded`:已退款 ### 1.2 配送任务双状态 - `deliverer_status`(配送员履约状态) - `pending_pickup`:待取货 - `delivering`:送货中 - `delivered`:送货成功 - `supplier_prepare_status`(供应商备货状态) - `pending_prepare`:待备货 - `prepared`:备货完成 - `picked_up`:取货完成 > 口径:订单 `delivery_status` 主要跟随 `deliverer_status` 的进度变化。 --- ## 2. 一眼看懂:角色状态矩阵 | 角色 | 操作 | 触发前(典型) | 变更后(核心字段) | 说明 | |---|---|---|---|---| | 客户 | 提交线上支付订单 | 新建订单 | `order_status=pending_payment`
`delivery_status=pending_dispatch`
`pay_status=pending_payment` | 进入待支付 | | 客户 | 提交线下支付订单 | 新建订单 | `order_status=pending_confirm`
`delivery_status=pending_dispatch`
`pay_status=paid` | 线下单默认按已支付处理 | | 客户 | 线上支付成功 | `order_status=pending_payment`
`pay_status=pending_payment` | `order_status -> pending_confirm`
`pay_status -> paid` | 进入待收货阶段 | | 运营 | 分配配送员 | `delivery_status=pending_dispatch` | `delivery_status -> delivering`
`deliverer_status=pending_pickup`
`supplier_prepare_status=pending_prepare` | 创建或更新配送任务 | | 供应商 | 完成备货 | `supplier_prepare_status=pending_prepare` | `supplier_prepare_status -> prepared` | 不直接变更订单状态 | | 配送员 | 确认取货 | `deliverer_status=pending_pickup`
`supplier_prepare_status=prepared` | `supplier_prepare_status -> picked_up`
`deliverer_status` 保持/推进为 `delivering` | 具体以接口实现为准 | | 配送员 | 确认送达 | `deliverer_status=delivering` | `deliverer_status -> delivered`
`delivery_status -> delivered` | 订单进入“配送完成” | | 客户 | 确认收货 | `order_status=pending_confirm`
`delivery_status=delivered` | `order_status -> completed` | 正常完结 | | 系统 | 超时自动确认收货 | `order_status=pending_confirm`
`delivery_status=delivered` | `order_status -> completed` | 与客户手动收货等效 | | 运营 | 取消订单 | 非 `completed/cancelled` | `order_status -> cancelled`
`pay_status -> refunding/refunded`(按退款流程) | 关闭订单履约 | --- ## 3. 两条标准路径(培训常用) ### 3.1 线上支付路径 1. 下单:`pending_payment / pending_dispatch / pending_payment` 2. 支付成功:`pending_confirm / pending_dispatch / paid` 3. 分配配送员:`pending_confirm / delivering / paid` 4. 配送员送达:`pending_confirm / delivered / paid` 5. 客户确认收货:`completed / delivered / paid` ### 3.2 线下支付路径 1. 下单:`pending_confirm / pending_dispatch / paid` 2. 分配配送员:`pending_confirm / delivering / paid` 3. 配送员送达:`pending_confirm / delivered / paid` 4. 客户确认收货:`completed / delivered / paid` --- ## 4. 前端展示口径(防止误读) ### 4.1 客户端订单 Tab(按 `order_status`) - 全部 / 待支付 / 待收货 / 已完成 / 已取消 ### 4.2 运营端订单详情建议同时展示 - 订单状态:`order_status` - 配送状态:`delivery_status` - 支付状态:`pay_status` - 配送员状态:`deliverer_status` - 供应商备货状态:`supplier_prepare_status` --- ## 5. 联调检查清单(可打勾) - [ ] 分配配送员后,订单 `delivery_status` 进入 `delivering` - [ ] 供应商备货只改变 `supplier_prepare_status` - [ ] 配送员送达后,订单 `delivery_status=delivered` - [ ] 客户确认收货后,订单 `order_status=completed` - [ ] 取消订单后,`order_status=cancelled` 且退款状态进入退款链路 - [ ] 页面不再出现旧状态值(如 `pending_delivery`、`partial_delivered`)作为业务流转状态