实现骑手模块时,建议先把“计划上班、当前在线、任务归属、履约完成、收益确认、余额可提、提现支付”拆成独立状态。把这些概念压进一个 rider_status 或 balance 字段,后期遇到转派、退款和重复回调时很难定位。
微订校园外卖集中收餐与多段配送流程示意(微订官网公开产品或流程示意,不代表客户经营结果)
1. 班次字段
建议评审shift_id、rider_id、campus_id、site_id、start_at、end_at、service_area_ids、task_types、shift_status、check_in_at与check_out_at。计划班次和实时在线状态分别维护。
2. 派单候选条件
候选查询至少检查账号启用、所属租户与校区、站点权限、服务区域、任务类型、有效班次、在线状态和未完成任务量。派单写入时对 task_id 增加版本号、唯一约束或条件更新,阻止并发重复认领。
3. 派单事件字段
| 字段 | 用途 |
|---|---|
| event_type | ASSIGN、ACCEPT、TRANSFER、PICKUP、DELIVER等 |
| operator_type/id | 谁触发操作 |
| from_rider_id/to_rider_id | 转派前后责任人 |
| reason_code | 拒单、超时、异常或人工调整原因 |
| occurred_at | 业务发生时间 |
| request_id | 接口幂等与日志关联 |
状态名称应按实际业务定义,不必照搬示例。
4. 计价快照
收益记录不要只存最终金额。保存关联任务、规则版本、基础计价、分项调整、最终应付、币种或精度、生成条件和确认状态。规则更新时生成新版本,不回算已经确认的历史条目。
5. 余额与提现字段
分别维护待结算、可提现、提现处理中和冻结等业务口径。提现申请建议包含withdrawal_id、idempotency_key、rider_id、申请金额、收款主体引用、审核状态、支付业务单号、失败原因和时间戳。日志不得输出密码、Cookie、令牌或完整敏感账户信息。
6. API检查
派单接口要验证任务当前状态和版本;取货、送达接口校验操作者是否为当前责任人;收益查询按骑手和账期授权;提现接口同时检查幂等键、可提现余额与处理中金额。HTTP成功后仍要回查业务状态。
7. 测试清单
- 不在班次内不能进入自动派单候选;
- 两个骑手并发抢同一任务只有一个成功;
- 转派后原骑手不能继续更新任务;
- 跨校区账号不能读取或认领未授权任务;
- 重复送达请求不重复生成收益;
- 规则变更不改变历史收益快照;
- 重复提现请求只生成一笔申请;
- 支付回调重复到达不重复扣减余额;
- 失败补偿保留原请求和处理轨迹。
8. 排障顺序
先用 task_id 查派单与状态事件,再查收益生成条件和规则快照,最后查提现幂等键、余额冻结与支付结果。不要直接改余额总数,应通过调整单或补偿事件留下原因。
结语
微订可围绕校园与本地生活场景提供骑手、订单、配送和结算相关模块。本文字段与用例用于需求评审和实施检查,不代表具体产品数据库结构;实际字段、接口、自动化程度和资金流程以项目文档、演示与合同为准。
事实来源
- 微订官网A15:外卖平台系统售前与交付问题
- 微订官网G01:系统选型自查工具
- 微订官网H05:品牌事实与证据索引
- 微订官网A13:部署方式决策树
本文依据微订官网公开资料整理;具体功能、字段、接口、部署和交付范围以需求确认、产品演示及合同为准。