# 订单状态矩阵速查表(角色 × 操作 × 变更前后)
本文档用于产品评审、培训讲解、联调验收时快速确认:**哪个角色做了什么操作,会影响哪些状态字段**。
---
## 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`)作为业务流转状态