货主-接单后卸货前状态司机不允许接单
成丰货运平台 · 货主端PC+司机端APP/小程序 · 接单限制迭代
目录
1. 文档信息
2. 需求背景与目标
2.1 需求背景
2.2 需求详情
2.3 需求目标
2.4 需求范围
3. 用户角色与使用场景
4. 名词解释
5. 业务流程图
5.1 接单限制校验流程
5.2 限制状态生命周期
6. 功能清单
7. 详细功能说明
7.1 限制规则
7.2 校验说明
7.3 司机端提示交互(跨协同提醒)
7.4 货主端控制开关
7.5 异常与边界处理
8. 附录
1. 文档信息
| 项目 | 内容 |
| 文档名称 | 货主-接单后卸货前状态司机不允许接单 |
| 需求名称 | 货主-接单后卸货前状态司机不允许接单 |
| 需求编号 | RR20260715307112 |
| 需求来源客户 | 安泰 |
| 管家 | 刘嘉鹏 |
| 优先级 | P0 |
| 所属端 | 货主端PC / 货主端APP / 司机端APP / 司机小程序 |
| 版本号 | V1.0 |
| 编写人 | 刘宁宁 |
| 编写日期 | 2026-07-17 |
| 更新日期 | 2026-07-17 |
修订记录
| 版本 | 日期 | 修订内容 | 修订人 |
| V1.0 | 2026-07-17 | 需求初稿完成(面向所有货主:含货主端控制开关、司机端校验逻辑、货主端PC/APP原型) | 刘宁宁 |
2. 需求背景与目标
2.1 需求背景
本需求面向所有货主,由货主通过个性化设置中的开关自行决定是否启用接单限制。司机接了已开启限制开关的货主的运单后,在卸货完成前该司机不允许继续接该货主的其他运单。此外,还需限制同一车牌号的接单行为——司机账号A与司机账号B均绑定同一车牌号时,账号A使用该车牌接单后卸货前,账号B无法在此期间使用该车牌抢单。
需求来源:RR20260715307112(基于安泰客户调研发起,面向所有货主)
与全平台已有规则的关系:全平台已有规则为——同一账号可同时抢最多2个运单,但在途运输(装货开始→卸货完成前)仅支持1单。本需求是在此基础规则之上,由货主通过个性化设置中的开关自行决定的追加限制:货主开启开关后,该货主的运单在接单后卸货前,同一账号和同一车牌不允许再接该货主的其他运单。
控制方式:限制是否生效由货主端PC/APP个性化设置中的开关控制,默认关闭。货主开启后,司机端在抢单时按限制规则校验。
2.2 需求详情
- 同账号限制:司机接了该货主的运单后,在卸货完成前,该司机账号不允许继续接该货主的其他运单
- 同车牌限制:司机账号A使用车牌X接了该货主的运单后,在卸货完成前,其他绑定该车牌X的司机账号(如账号B)也不允许使用车牌X接该货主的运单
- 限制范围(新增):货主可选择限制范围——货主范围(限制该货主所有运单)或订单范围(限制同一订单下的运单),默认货主范围
- 货主控制开关:以上限制是否生效,由货主端PC/APP个性化设置中的开关控制,默认关闭。货主开启后,限制规则才对该货主运单生效。本需求面向所有货主
- 司机端校验:司机在抢单/接单时,先判断当前货主的限制开关是否开启,开启后再执行限制校验
- 限制范围:已开启限制开关的货主的运单。未开启限制开关的货主运单不受此限制,司机仍可正常接单
- 接单方式:抢单(货源大厅自行抢单)和接单(货主/经纪人派单后司机同意)均受此限制
2.3 需求目标
- 业务目标:确保已开启限制的货主的运单在运输期间不被同一司机/同一车牌重复接单,保障运输质量
- 产品目标:在司机接单/抢单环节增加货主限制校验,给出明确的限制提示
2.4 需求范围
| 端 | 涉及场景 | 本次迭代内容 |
| 货主端PC | 个性化设置 | 新增"抢单配置"Tab,含限制开关 |
| 货主端APP | 我的 — 个性化设置 | 新增"抢单配置"入口,含限制开关,与PC功能一致 |
| 司机端APP | 货源大厅 — 抢单 | 司机点击抢单按钮时,先校验货主限制开关是否开启,开启后再校验是否受限 |
| 司机端APP | 派单通知 — 接单 | 司机收到货主派单后点击接单时,同样先校验货主限制开关 |
| 司机小程序 | 抢单 / 接单 | 同司机端APP,同步限制逻辑 |
⚠️ 限制由货主开关控制:本需求面向所有货主,货主可通过个性化设置中的开关自行决定是否启用限制。司机在卸货前仍可正常接其他货主的运单。全平台已有规则(在途运输仅支持1单)保持不变,本需求是在此基础上的追加限制。
3. 用户角色与使用场景
3.1 用户角色
| 角色 | 说明 | 使用端 |
| 货主 | 在个性化设置中控制限制开关的开启/关闭 | 货主端PC / 货主端APP |
| 司机(抢单方) | 在货源大厅主动抢单,受货主接单限制校验(若货主已开启开关) | 司机端APP / 小程序 |
| 司机(接单方) | 收到货主/经纪人派单后同意接单,受货主接单限制校验(若货主已开启开关) | 司机端APP / 小程序 |
3.2 核心使用场景
场景1:同账号限制
司机李师傅接了该货主的运单YD001(状态:运输中,未卸货)。李师傅在货源大厅看到该货主的另一个运单YD002,点击抢单 → 系统拦截,提示"您当前有该货主的在途运单未完成卸货(YD001),暂无法继续接该货主运单"。李师傅看到其他货主的运单YD003,点击抢单 → 正常流程,不受限制。
场景2:同车牌限制
司机账号A(李师傅)和账号B(王师傅)都绑定了车牌号"沪A·88888"。李师傅使用"沪A·88888"接了该货主的运单YD001(运输中,未卸货)。王师傅在货源大厅看到该货主的运单YD002,选择车牌"沪A·88888"抢单 → 系统拦截,提示"该车牌(沪A·88888)当前有该货主在途运单(YD001),暂无法使用该车牌接该货主运单"。王师傅选择另一车牌"沪B·66666"抢该货主运单 → 正常流程。
场景3:货主控制开关
该货主在个性化设置中关闭限制开关后,司机李师傅(已有该货主在途运单YD001)看到该货主的运单YD002点击抢单 → 系统校验到开关已关闭,跳过限制校验,正常接单。若货主重新开启开关,则恢复限制校验。
场景4:订单范围
货主选择了"订单范围"限制。司机李师傅接了该货主订单DD001下的运单YD001(运输中,未卸货)。李师傅在货源大厅看到该货主订单DD001下的运单YD002,点击抢单 → 系统拦截。但李师傅看到同一货主订单DD002下的运单YD003,点击抢单 → 正常流程,不受限制。
4. 名词解释
| 术语 | 说明 |
| 限制期间 | 从运单接单成功开始,到该运单卸货完成为止 |
| 同一车牌号 | 多个司机账号均绑定同一车牌号时,该车牌在接单限制中视为同一资源 |
| 限制开关 | 货主端个性化设置中的开关,控制是否对该货主运单启用接单限制 |
5. 业务流程图
5.1 接单限制校验流程
司机触发接单/抢单时,系统依次进行限制校验:
图1:货主接单限制校验流程
5.2 限制状态生命周期
图2:限制状态生命周期 — 从接单成功开始生效,卸货完成后解除
6. 功能清单
| 序号 | 功能模块 | 功能点 | 适用端 | 优先级 | 说明 |
| 1 | 抢单限制校验 | 运单抢单前校验同一账号是否有限制 | APP / 小程序 | P0 | 货源大厅抢单时触发 |
| 2 | 抢单限制校验 | 运单抢单前校验所选车牌是否有限制 | APP / 小程序 | P0 | 车牌维度校验 |
| 3 | 接单限制校验 | 货主派单接单前校验同一账号是否有限制 | APP / 小程序 | P0 | 派单接单时触发 |
| 4 | 接单限制校验 | 货主派单接单前校验所选车牌是否有限制 | APP / 小程序 | P0 | 车牌维度校验 |
| 5 | 限制开关 | 货主端PC/APP个性化设置新增限制开关 | 货主端PC / APP | P0 | 开关开启后限制生效 |
| 6 | 限制范围 | 货主端PC/APP新增限制范围选择(货主/订单) | 货主端PC / APP | P0 | 单选互斥,默认货主范围 |
| 7 | 限制开关校验 | 司机端抢单/接单时校验货主限制开关状态 | APP / 小程序 | P0 | 开关关闭时跳过限制 |
| 8 | 限制范围校验 | 司机端抢单/接单时校验货主限制范围 | APP / 小程序 | P0 | 决定查询范围为货主所有运单或同一订单运单 |
| 9 | 限制提示 | 接单/抢单被限制时弹出提示弹窗 | APP / 小程序 | P0 | 说明限制原因和解除条件 |
| 10 | 限制解除 | 运单卸货完成后自动解除所有相关限制 | 服务端 | P0 | 卸货完成解除限制 |
优先级说明:P0=必须有(MVP),P1=重要(本期),P2=锦上添花(后续迭代)
7. 详细功能说明
7.1 限制规则
本需求新增两条接单限制规则,由货主通过限制范围选择生效范围:
规则一:同一账号限制
| 维度 | 说明 |
| 限制对象 | 司机账号 |
| 触发条件 | 该司机账号有该货主的在途运单(状态:已接单 → 卸货完成前) |
| 限制行为 | 该账号不允许继续接该货主的其他运单(抢单和派单接单均限制) |
| 限制解除 | 该在途运单完成卸货后,限制自动解除 |
规则二:同一车牌号限制
| 维度 | 说明 |
| 限制对象 | 车牌号 |
| 触发条件 | 该车牌有该货主的在途运单(由任意司机账号使用该车牌接单) |
| 限制行为 | 所有绑定该车牌的司机账号,在使用该车牌时不允许接该货主的其他运单 |
| 限制解除 | 该车牌关联的在途运单完成卸货后,限制自动解除 |
两条规则是并行关系:同一账号限制 + 同一车牌限制,任一条件触发即拦截。例如:账号A和账号B都绑定了车牌X,账号A用X接了运单后——账号A受限(规则一)+ 车牌X受限(规则二),导致账号B也无法用X接单。
规则三:限制范围(新增)
规则一和规则二的"其他运单"具体范围,由货主选择的限制范围决定:
| 范围 | 说明 |
| 货主范围(默认) | 限制司机/车辆接该货主的所有运单。即:有该货主的在途运单时,不能接该货主任何新运单 |
| 订单范围 | 限制司机/车辆接该货主同一订单下的运单。即:有该货主订单DDXXX的在途运单时,不能接该订单DDXXX下的新运单,但可接该货主其他订单的运单 |
⚠️ 货主范围与订单范围为互斥选择(单选),不可同时选中。默认货主范围,切换后即时生效。
7.2 校验说明
司机点击抢单或接单时,系统按以下顺序进行校验(新增校验以 ★ 标注):
| 步骤 | 校验项 | 校验内容 | 结果 |
| 1 | 基础校验 | 司机是否在线、车辆是否可用等 | 不通过则提示基础错误 |
| 2 | 全平台规则 | 在途运输是否超过1单限制 | 不通过则提示全平台限制 |
| 3 ★ | 货主限制开关 | 运单所属货主是否开启了接单限制开关 | 开关关闭时,跳过后续限制校验 |
| 4 ★ | 限制范围判定 | 该货主选择的限制范围(货主范围/订单范围) | 决定步骤5-6的查询范围 |
| 5 ★ | 同账号限制 | 该司机账号是否有该货主的在途运单 (订单范围时:该订单下的在途运单) | 有则拦截,提示同账号限制 |
| 6 ★ | 同车牌限制 | 所选车牌是否有该货主的在途运单 (订单范围时:该订单下的在途运单) | 有则拦截,提示同车牌限制 |
| 7 | 其他业务规则 | 运单车数、运输计划限制等 | 按对应规则拦截 |
校验逻辑:先判断货主是否开启了限制开关(步骤3),未开启则跳过后续校验。再根据货主选择的限制范围(步骤4),确定步骤5-6的查询范围——货主范围查该货主所有在途运单,订单范围查该订单下的在途运单。
7.3 司机端提示交互(跨协同提醒)
协同提醒:司机端需在抢单/接单被拦截时给出明确提示,告知司机无法接单的原因(同账号限制/同车牌限制),并展示当前在途运单编号。具体交互样式由司机端产品同学设计。
7.4 货主端控制开关
限制功能通过货主端PC/APP个性化设置(抢单配置)中的开关和范围选择控制,默认关闭。
| 设置项 | 说明 |
| 总开关 | 接单限制:司机/车辆卸货前不允许继续接单(Toggle,默认关闭) |
| 限制范围 | 货主范围(默认)/ 订单范围(单选,互斥),开关关闭时范围选项置灰 |
范围说明:
- 货主范围:已接该货主运单的司机/车辆在卸货完成前,无法继续接该货主的任何运单(原有逻辑)
- 订单范围:已接该货主某订单下运单的司机/车辆在卸货完成前,无法继续接该同一订单的运单,但可接该货主其他订单的运单
7.5 异常与边界处理
| 异常/边界场景 | 处理方案 |
| 司机有多辆绑定车辆,其中一辆受限 | 仅所选车辆受限时拦截,司机可切换到其他未受限的车辆后正常接单 |
| 运单被取消/作废(非正常卸货完成) | 自动解除限制。校验规则针对司机/车辆是否有在途运单,运单取消后该司机/车辆已无在途运单,限制自然解除 |
| 提示弹窗文案过长 | 运单编号过长时截断显示,确保弹窗不越界 |
| 同一司机同时有多个在途运单 | 正常情况下不出现(全平台在途仅支持1单),异常时取最先接单的那笔 |
| 货主关闭限制开关时已有在途运单 | 开关关闭后该货主所有运单不再受限制。限制校验由开关统一控制,关闭即跳过全部校验 |
说明:本PRD覆盖货主端PC/APP(控制开关)和司机端APP/小程序(限制校验)。已完成货主端PC和APP的抢单配置开关原型设计。