运输计划功能优化PRD【客户成功专项】
网络货运平台 · 货主端 + 经纪人端 + 司机端 · 运输计划校验规则优化
目录
1. 文档信息
2. 需求背景与目标
3. 用户角色与使用场景
4. 名词解释
5. 业务流程图
6. 功能清单
7. 详细功能说明
7.1 交互说明
7.2 业务规则
7.3 异常与边界处理
8. 附录
1. 文档信息 必填
| 项目 | 内容 |
| 文档名称 | 运输计划功能优化 - 抢单数校验 & 修改计划剩余车数校验 |
| 需求编号 | RR20260623274028 |
| 需求名称 | 【客户成功专项】运输计划功能优化 |
| 所属端 | 货主端PC/APP + 经纪人端PC + 司机端APP/小程序 |
| 版本号 | V1.0 |
| 编写人 | 刘宁宁 |
| 编写日期 | 2026-06-25 |
修订记录
| 版本 | 日期 | 修订内容 | 修订人 |
| V1.0 | 2026-06-25 | 初稿完成 | 刘宁宁 |
2. 需求背景与目标 必填
2.1 需求背景
当前运输计划在抢单和修改环节缺少关键校验规则,存在以下问题:
- 抢单超量问题:运输计划的抢单数可以超过计划车数,导致实际派车量超出货主预期,打乱运输安排。尤其在多司机并发抢单场景下,超量问题更为突出。
- 修改计划后剩余车数为0:货主修改运输计划车数时,可以将计划车数修改为与已抢单数相等的值,导致剩余可抢单车数为0,计划被"排满"无法继续接单,影响后续运力调度。
2.2 需求目标
- 优化1:抢单时实时校验,确保运输计划的抢单数不得大于计划数,防止超量抢单
- 优化2:修改计划时校验剩余车数,确保修改后的剩余车数(修改后计划数 − 已抢单数)不为0,保留至少1车的接单弹性
2.3 需求范围
- 包含:运输计划抢单时的数量校验逻辑、修改运输计划时的剩余车数校验逻辑
- 适用订单类型:平台单、定向单(均适用)
- 不包含:运输计划的创建流程、审批流程等已有功能(本次不改动)
3. 用户角色与使用场景 必填
3.1 用户角色
| 角色 | 说明 | 涉及优化 | 使用端 |
| 货主 | 创建和修改运输计划,设定计划车数 | 优化2(修改计划校验) | PC / APP |
| 经纪人 | 代替司机抢单或分配运力 | 优化1(抢单校验) | PC |
| 司机 | 查看运输计划并抢单 | 优化1(抢单校验) | APP / 小程序 |
3.2 核心使用场景
场景1(抢单校验):货主发布了一个计划车数为10车的运输计划,已有8车被抢单。司机A点击抢单,系统校验 8+1=9 ≤ 10,抢单成功,已抢单数变为9。司机B也点击抢单,系统校验 9+1=10 ≤ 10,抢单成功,已抢单数变为10。司机C再点击抢单,系统校验 10+1=11 > 10,拦截抢单并提示"抢单数已达计划数上限"。
场景2(修改计划校验):货主有一个计划车数为10车的运输计划,已有8车被抢单,剩余2车。货主想将计划车数从10车修改为8车,系统校验 8−8=0,剩余车数为0,拦截修改并提示"修改后剩余车数不能为0,当前已抢单8车"。货主改为9车,系统校验 9−8=1 > 0,修改成功。
4. 名词解释 必填
| 术语 | 说明 |
| 运输计划 | 货主创建的运输安排,包含线路、货物、计划车数等信息,发布后开放给经纪人/司机抢单 |
| 计划车数 | 运输计划中设定的预计派车数量(单位:车) |
| 已抢单数 | 该运输计划已被经纪人/司机成功抢单的数量(单位:车) |
| 剩余车数 | 运输计划当前还可抢单的数量,计算公式:剩余车数 = 计划车数 − 已抢单数 |
| 抢单 | 经纪人或司机对运输计划进行接单操作,每抢单1次,已抢单数+1 |
| 修改计划 | 货主对已发布的运输计划进行编辑操作,可修改计划车数等字段 |
5. 业务流程图 必填
5.1 优化1:抢单校验流程
司机/经纪人点击抢单时,系统实时校验已抢单数是否已达计划数上限。
5.2 优化2:修改计划校验流程
货主修改运输计划车数时,系统校验修改后剩余车数是否为0。
6. 功能清单 必填
| 序号 | 功能模块 | 功能点 | 适用端 | 优先级 | 说明 |
| 1 | 抢单校验 | 抢单时实时校验抢单数 ≤ 计划数 | 司机APP/小程序 + 经纪人PC | P0 | 已抢单数+1 > 计划数时拦截,提示"抢单数已达计划数上限" |
| 2 | 抢单校验 | 抢单满额时按钮状态处理 | 司机APP/小程序 + 经纪人PC | P0 | 剩余车数=0时,抢单按钮置灰或隐藏 |
| 3 | 修改计划校验 | 修改计划车数时校验剩余车数 > 0 | 货主PC + 货主APP | P0 | 修改后剩余车数=0时拦截,提示具体原因 |
| 4 | 并发控制 | 并发抢单防超量 | 服务端 | P0 | 多司机同时抢单时通过锁机制确保不超量 |
优先级说明:P0=必须有(MVP),P1=重要(本期),P2=锦上添花(后续迭代)
7. 详细功能说明 必填
7.1 交互说明
7.1.1 优化1:抢单校验交互
| 触发条件 | 用户操作 | 系统响应 |
| 运输计划剩余车数 > 0 | 司机/经纪人点击"抢单"按钮 | 系统校验通过,抢单成功,已抢单数+1,页面提示"抢单成功" |
| 运输计划剩余车数 = 0(已满) | 司机/经纪人尝试点击"抢单"按钮 | 抢单按钮置灰不可点击(或隐藏),旁边提示"已满XX/XX车" |
| 并发抢单导致瞬时超量 | 司机/经纪人点击"抢单"按钮 | 系统服务端校验拦截,提示"抢单数已达计划数上限,无法抢单",抢单失败 |
抢单按钮状态规则:
- 剩余车数 > 0:按钮正常可点击
- 剩余车数 = 0:按钮置灰不可点击,文字变更为"已满",并在计划卡片上展示"XX/XX车"进度
7.1.2 优化2:修改计划校验交互
| 触发条件 | 用户操作 | 系统响应 |
| 修改后剩余车数 > 0 | 货主修改计划车数并点击"保存" | 系统校验通过,保存成功,提示"修改成功" |
| 修改后剩余车数 = 0 | 货主修改计划车数并点击"保存" | 系统拦截保存,提示"修改后剩余车数不能为0,当前已抢单X车,计划车数至少需X+1车",计划车数恢复为修改前值 |
| 修改后计划车数 < 已抢单数 | 货主修改计划车数并点击"保存" | 系统拦截保存,提示"计划车数不能小于已抢单数(当前已抢单X车)",计划车数恢复为修改前值 |
修改计划页面实时提示:
- 货主修改计划车数时,输入框下方实时展示"当前已抢单:X车,修改后剩余:Y车"
- 当 Y = 0 时,输入框下方标红提示"剩余车数不能为0",保存按钮置灰
- 当 Y > 0 时,提示文字恢复正常颜色,保存按钮可点击
7.2 业务规则
7.2.1 抢单校验规则
- 规则1:每次抢单时,系统校验
已抢单数 + 1 ≤ 计划车数,校验通过则抢单成功,已抢单数+1
- 规则2:当
已抢单数 = 计划车数(即剩余车数=0)时,该运输计划不可再抢单,抢单按钮置灰
- 规则3:并发抢单场景下,服务端通过锁机制(如分布式锁/乐观锁)确保抢单数不超过计划数,即使多个请求同时到达也只允许计划数内的抢单成功
- 规则4:校验在服务端执行,前端校验仅作为体验优化(提前置灰按钮),服务端校验是最终防线
- 规则5:平台单和定向单均适用此校验规则
7.2.2 修改计划校验规则
- 规则1:货主修改计划车数保存时,系统计算
剩余车数 = 修改后计划车数 − 已抢单数
- 规则2:当
剩余车数 = 0(即修改后计划车数 = 已抢单数)时,拦截保存,提示"修改后剩余车数不能为0"
- 规则3:当
修改后计划车数 < 已抢单数 时,拦截保存,提示"计划车数不能小于已抢单数"
- 规则4:当
剩余车数 > 0 时,允许保存,计划车数更新为修改后的值
- 规则5:已抢单数在修改时为只读展示,货主不能直接修改已抢单数,只能修改计划车数
- 规则6:修改计划的其他字段(如线路、货物等)不受此规则限制,仅修改计划车数时触发校验
- 规则7:若运输计划尚无任何抢单(已抢单数=0),修改计划车数为任意正整数均可(剩余车数 = 新计划车数 > 0)
校验逻辑汇总:
| 场景 | 条件 | 结果 |
| 正常抢单 | 已抢单数 + 1 ≤ 计划车数 | ✅ 抢单成功 |
| 超量抢单 | 已抢单数 + 1 > 计划车数 | ❌ 拦截,提示超量 |
| 正常修改 | 新计划车数 − 已抢单数 > 0 | ✅ 保存成功 |
| 剩余为0 | 新计划车数 − 已抢单数 = 0 | ❌ 拦截,提示剩余不能为0 |
| 计划数小于已抢单 | 新计划车数 < 已抢单数 | ❌ 拦截,提示不能小于已抢单数 |
7.3 异常与边界处理
| 异常场景 | 处理方式 |
| 并发抢单导致超量 | 服务端通过锁机制保证原子性,超量请求返回失败,前端提示"抢单数已达计划数上限,请刷新后重试" |
| 抢单时网络异常 | 提示"网络异常,请重试",不改变已抢单数 |
| 修改计划时网络异常 | 提示"网络异常,请重试",计划车数保持修改前值不变 |
| 抢单过程中计划被修改 | 以服务端最新数据为准进行校验,若最新计划车数已被修改导致超量,则拦截抢单 |
| 计划车数为0的特殊情况 | 计划车数为0时不允许发布计划(已有逻辑),不会出现计划数为0的抢单场景 |
| 已抢单数为0时修改计划 | 无限制,修改为任意正整数均可(剩余车数 = 新计划车数,必然 > 0) |
| 计划已被全部抢单完(剩余=0)后修改 | 允许增加计划车数(新剩余 > 0),不允许减少或保持(新剩余 ≤ 0) |
8. 附录 选填
需求来源
【客户成功专项】运输计划功能优化
变更记录
| 日期 | 变更内容 | 变更人 |
| 2026-06-25 | 初稿完成,包含抢单校验和修改计划校验两个优化点 | 刘宁宁 |
说明:本PRD为【客户成功专项】运输计划功能优化需求,覆盖货主端、经纪人端、司机端三个端的校验规则优化。核心为两个校验逻辑:抢单时防止超量、修改计划时防止剩余为0。