运输计划功能优化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.02026-06-25初稿完成刘宁宁

2. 需求背景与目标 必填

2.1 需求背景

当前运输计划在抢单和修改环节缺少关键校验规则,存在以下问题:

2.2 需求目标

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:抢单校验流程

司机/经纪人点击抢单时,系统实时校验已抢单数是否已达计划数上限。

司机 / 经纪人 系统 司机 / 经纪人 点击"抢单"按钮 司机APP/经纪人PC 获取计划车数 & 已抢单数 查询当前运输计划状态 已抢单数 + 1 > 计划车数? 抢单成功,已抢单数+1 拦截抢单,提示超量 抢单成功,进入运单流程 看到提示"抢单数已达计划数上限" 说明:每次抢单实时校验,确保已抢单数不超过计划车数

5.2 优化2:修改计划校验流程

货主修改运输计划车数时,系统校验修改后剩余车数是否为0。

货主 系统 货主 修改计划车数并点击保存 输入新的计划车数 获取当前已抢单数 查询该计划已抢单数量 计算剩余车数 = 新计划车数 − 已抢单数 剩余车数 = 0? (即新计划数 = 已抢单数) 否(>0) 保存成功,提示修改成功 拦截修改,提示剩余车数不能为0 计划修改成功 看到提示,修改为更大的计划车数 说明:修改后剩余车数 = 新计划车数 − 已抢单数,必须 > 0

6. 功能清单 必填

序号功能模块功能点适用端优先级说明
1抢单校验抢单时实时校验抢单数 ≤ 计划数司机APP/小程序 + 经纪人PCP0已抢单数+1 > 计划数时拦截,提示"抢单数已达计划数上限"
2抢单校验抢单满额时按钮状态处理司机APP/小程序 + 经纪人PCP0剩余车数=0时,抢单按钮置灰或隐藏
3修改计划校验修改计划车数时校验剩余车数 > 0货主PC + 货主APPP0修改后剩余车数=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 抢单校验规则

7.2.2 修改计划校验规则

校验逻辑汇总:
场景条件结果
正常抢单已抢单数 + 1 ≤ 计划车数✅ 抢单成功
超量抢单已抢单数 + 1 > 计划车数❌ 拦截,提示超量
正常修改新计划车数 − 已抢单数 > 0✅ 保存成功
剩余为0新计划车数 − 已抢单数 = 0❌ 拦截,提示剩余不能为0
计划数小于已抢单新计划车数 < 已抢单数❌ 拦截,提示不能小于已抢单数

7.3 异常与边界处理

异常场景处理方式
并发抢单导致超量服务端通过锁机制保证原子性,超量请求返回失败,前端提示"抢单数已达计划数上限,请刷新后重试"
抢单时网络异常提示"网络异常,请重试",不改变已抢单数
修改计划时网络异常提示"网络异常,请重试",计划车数保持修改前值不变
抢单过程中计划被修改以服务端最新数据为准进行校验,若最新计划车数已被修改导致超量,则拦截抢单
计划车数为0的特殊情况计划车数为0时不允许发布计划(已有逻辑),不会出现计划数为0的抢单场景
已抢单数为0时修改计划无限制,修改为任意正整数均可(剩余车数 = 新计划车数,必然 > 0)
计划已被全部抢单完(剩余=0)后修改允许增加计划车数(新剩余 > 0),不允许减少或保持(新剩余 ≤ 0)

8. 附录 选填

需求来源

【客户成功专项】运输计划功能优化

变更记录

日期变更内容变更人
2026-06-25初稿完成,包含抢单校验和修改计划校验两个优化点刘宁宁
说明:本PRD为【客户成功专项】运输计划功能优化需求,覆盖货主端、经纪人端、司机端三个端的校验规则优化。核心为两个校验逻辑:抢单时防止超量、修改计划时防止剩余为0。