跳到主要内容

自动分配规则 - 规格增量

ADDED Requirements

Requirement: 分配规则创建

系统 MUST 允许用户创建自动分配规则,定义线索来源、分配方式、分配对象、回收规则、有效行为、超时时间等参数。

Scenario: 创建随机平均分配规则

  • WHEN 用户创建新规则,输入规则名称(如"餐饮行业线索分配"),选择多个线索来源,分配方式选择"随机平均分配",选择多个员工,分配规则状态设为"启用",回收规则设为"单次回收"
  • THEN 系统创建规则,自动生成规则ID,随机平均分配线索给所选员工

Scenario: 创建顺序平均分配规则

  • WHEN 用户创建新规则,分配方式选择"顺序平均分配",选择多个员工
  • THEN 系统按员工列表顺序依次分配线索(第1条给员工A,第2条给员工B,第3条给员工C,第4条给员工A...循环)

Scenario: 创建自定义比例分配规则

  • WHEN 用户创建新规则,分配方式选择"自定义比例",选择多个员工并设置权重(如员工A权重100,员工B权重200),系统自动计算比例(如33.33%、66.67%)
  • THEN 系统按指定比例分配线索(每3条线索中,1条给员工A,2条给员工B)

Scenario: 规则名称长度超限

  • WHEN 用户输入超过40个字符的规则名称
  • THEN 系统红字提示"规则名称不能超过20个汉字或40个英文字符",并阻止保存

Scenario: 线索来源多选

  • WHEN 用户在规则中选择多个线索来源(如"官网"+"试用"+"纷享销客")
  • THEN 系统允许该规则处理来自这些来源的所有线索

Scenario: 线索来源唯一性约束

  • WHEN 用户创建新规则时,选择的线索来源已在其他"启用"规则中使用
  • THEN 系统将这些来源选项置灰不可选,提示"该来源已在规则XXX中使用"

Scenario: 员工去重

  • WHEN 用户在规则中多次选择同一员工
  • THEN 系统自动去重,仅保留一条该员工记录

Scenario: 权重必填校验

  • WHEN 用户选择"自定义比例"分配方式但未填写权重并尝试保存
  • THEN 系统红字提示"请填写权重(整数1-9999)",并阻止保存

Scenario: 权重范围校验

  • WHEN 用户输入权重为0或超过9999
  • THEN 系统红字提示"权重必须在1-9999之间",并阻止保存

Scenario: 比例自动计算

  • WHEN 用户设置员工A权重100,员工B权重200
  • THEN 系统自动计算并显示比例:员工A 33.33%,员工B 66.67%

Scenario: 回收规则选择"不回收"

  • WHEN 用户选择回收规则为"不回收"
  • THEN 系统隐藏"有效行为"和"回收时间设置"字段

Scenario: 回收规则选择"单次回收"

  • WHEN 用户选择回收规则为"单次回收"
  • THEN 系统显示"有效行为"(下拉选择:待跟进状态)和"回收时间设置"(数值+单位:天/小时)

Scenario: 回收时间设置

  • WHEN 用户设置回收时间为"7天"
  • THEN 系统在7天后自动检查该线索,如果状态仍为"待跟进"且无有效跟进记录,则回收至公海池

Scenario: 回收时间精确到小时

  • WHEN 用户设置回收时间为"48小时"
  • THEN 系统在48小时后自动检查并回收超时线索

Requirement: 分配规则查询

系统 MUST 支持按规则名称(模糊搜索)、线索来源、业务线、分配规则状态、回收规则状态、修改时间范围等条件查询分配规则。

Scenario: 按规则名称模糊查询

  • WHEN 用户输入规则名称关键词(如"餐饮")并点击查询
  • THEN 系统返回规则名称包含该关键词的所有记录

Scenario: 按线索来源查询

  • WHEN 用户选择特定线索来源并点击查询
  • THEN 系统返回包含该来源的所有分配规则

Scenario: 按分配规则状态查询

  • WHEN 用户选择"启用"状态并点击查询
  • THEN 系统返回所有启用状态的分配规则

Scenario: 按业务线查询

  • WHEN 用户选择"渠道"业务线并点击查询
  • THEN 系统返回业务线为"渠道"的所有分配规则

Requirement: 分配规则列表展示

系统 MUST 以列表形式展示所有分配规则,列头包含规则名称、线索来源、业务线、分配顺序、回收规则、回收时间、规则状态、修改人、修改时间、操作。

Scenario: 默认列显示

  • WHEN 用户进入自动分配规则管理页面
  • THEN 系统显示默认列配置(所有字段全展示),每行显示一条规则记录

Scenario: 分配顺序显示

  • WHEN 用户查看规则列表
  • THEN 系统在"分配顺序"列显示"随机平均分配"、"顺序平均分配"或"自定义比例"

Scenario: 自定义比例显示详情

  • WHEN 用户查看"自定义比例"规则
  • THEN 系统在"分配顺序"列显示各员工的比例(如"员工A(33.33%),员工B(66.67%)")

Scenario: 回收规则显示

  • WHEN 用户查看规则列表
  • THEN 系统在"回收规则"列显示"不回收"或"单次回收(7天)"或"单次回收(48小时)"

Scenario: 规则状态标识

  • WHEN 用户查看规则列表
  • THEN 系统在"规则状态"列显示绿色"启用"或灰色"停用"标签

Requirement: 分配规则修改

系统 MUST 允许用户修改分配规则的所有字段,修改后即时生效(无需重启)。

Scenario: 修改规则名称

  • WHEN 用户点击"编辑"按钮,修改规则名称并保存
  • THEN 系统更新规则名称,记录修改人和修改时间

Scenario: 修改分配方式

  • WHEN 用户将分配方式从"随机平均"改为"顺序平均"并保存
  • THEN 系统更新分配方式,后续新线索按新方式分配

Scenario: 修改分配对象

  • WHEN 用户增加或删除分配员工并保存
  • THEN 系统更新分配对象列表,后续新线索按新对象分配

Scenario: 修改权重与比例

  • WHEN 用户修改员工权重(如员工A从100改为300),系统自动重新计算比例
  • THEN 系统更新比例显示(如从33.33%变为50%),后续新线索按新比例分配

Scenario: 修改回收规则

  • WHEN 用户将回收规则从"单次回收"改为"不回收"并保存
  • THEN 系统更新回收规则,后续线索不再自动回收

Scenario: 修改回收时间

  • WHEN 用户将回收时间从"7天"改为"14天"并保存
  • THEN 系统更新回收时间设置,后续线索按14天规则回收

Scenario: 启用/停用规则

  • WHEN 用户将规则状态从"启用"切换为"停用"
  • THEN 系统即时停止该规则,新进入公海池的线索不再按该规则分配

Requirement: 自动分配执行

系统 MUST 在新线索进入公海池时,自动根据启用的分配规则将线索分配给销售人员。

Scenario: 匹配规则执行分配

  • WHEN AI爬取或手动导入的新线索进入公海池(线索来源="官网",业务线="通用")
  • THEN 系统查找启用的规则(线索来源包含"官网"且业务线="通用"),按规则分配方式将线索分配给指定员工,更新线索状态为"待处理",设置归属人和归属部门

Scenario: 多规则匹配优先级

  • WHEN 存在多条规则匹配同一线索(如规则A:来源="官网",业务线="通用";规则B:来源="官网",业务线="渠道")
  • THEN 系统按业务线优先级匹配(如果线索业务线="渠道",则匹配规则B;如果业务线="通用",则匹配规则A)

Scenario: 无匹配规则

  • WHEN 新线索进入公海池但无任何启用规则匹配
  • THEN 线索保持"未分配"状态,留在公海池中等待手动分配

Scenario: 随机平均分配执行

  • WHEN 规则分配方式为"随机平均",有3条线索和3个员工
  • THEN 系统随机分配:线索1→员工B,线索2→员工A,线索3→员工C(每次分配结果可能不同)

Scenario: 顺序平均分配执行

  • WHEN 规则分配方式为"顺序平均",有5条线索和3个员工(员工A/B/C)
  • THEN 系统依次分配:线索1→A,线索2→B,线索3→C,线索4→A,线索5→B(循环分配)

Scenario: 自定义比例分配执行

  • WHEN 规则分配方式为"自定义比例",员工A权重100(33.33%),员工B权重200(66.67%),有3条线索
  • THEN 系统按比例分配:线索1→A,线索2→B,线索3→B(接近2:1比例)

Scenario: 分配后通知

  • WHEN 线索自动分配成功
  • THEN 系统发送多语言通知给归属人(邮件/企微),包含线索数量、品牌列表、分配时间、规则名称

Requirement: 线索自动回收

系统 MUST 根据回收规则自动回收超时未跟进的线索,将线索状态从"待处理"改回"未分配",归属人清空,返回公海池。

Scenario: 单次回收执行

  • WHEN 线索分配给员工A已7天,回收规则为"单次回收(7天)",线索状态仍为"待跟进"且无有效跟进记录
  • THEN 系统自动回收线索:状态改为"未分配",清空归属人和归属部门,记录最后归属人和最后归属人部门,发送通知给原归属人

Scenario: 有效跟进阻止回收

  • WHEN 线索分配给员工A已7天,但在7天内完成了待办任务(合作意向="有意向"或销售阶段更新)
  • THEN 系统不回收该线索,继续归属员工A

Scenario: 不回收规则

  • WHEN 规则回收方式为"不回收"
  • THEN 系统不执行自动回收,线索永久归属员工,除非手动释放

Scenario: 回收通知

  • WHEN 线索自动回收成功
  • THEN 系统发送多语言通知给原归属人,包含线索品牌名称、回收原因、回收时间

Scenario: 回收后再分配

  • WHEN 线索被回收回公海池后,有新线索进入公海池触发自动分配
  • THEN 系统按分配规则重新分配该线索给其他员工

Requirement: 定时任务调度

系统 MUST 支持定时任务扫描公海池中的线索并执行自动分配和回收。

Scenario: 定时分配任务

  • WHEN 定时任务触发(如每5分钟执行一次)
  • THEN 系统扫描公海池中状态为"未分配"的线索,根据匹配的规则执行自动分配

Scenario: 定时回收任务

  • WHEN 定时任务触发(如每小时执行一次)
  • THEN 系统扫描所有已分配的线索,检查是否超时且无有效跟进,执行自动回收

Scenario: 多时区支持

  • WHEN 定时任务配置为"每天凌晨2点"执行
  • THEN 系统按服务器时区执行任务,用户界面按用户本地时区展示执行时间

Requirement: 分配规则国际化

系统 MUST 支持所有UI文案、枚举值、通知模板的多语言切换。

Scenario: 中文界面显示

  • WHEN 用户浏览器语言设置为中文(zh)
  • THEN 系统显示所有文案为中文(如"随机平均分配"、"单次回收(7天)"等)

Scenario: 英文界面显示

  • WHEN 用户浏览器语言设置为英文(en)
  • THEN 系统显示所有文案为英文(如"Random Average"、"Single Recycle(7 days)"等)

Scenario: 通知模板多语言

  • WHEN 系统发送分配通知给归属人
  • THEN 根据归属人的语言偏好发送对应语言版本的通知(中文或英文)

Requirement: 分配规则状态管理

系统 MUST 支持分配规则和回收规则的独立启用/停用控制。

Scenario: 启用分配规则但停用回收规则

  • WHEN 用户设置分配规则状态="启用",回收规则状态="停用"
  • THEN 系统执行自动分配,但不执行自动回收

Scenario: 停用分配规则

  • WHEN 用户将分配规则状态设为"停用"
  • THEN 系统停止按该规则分配新线索,但不影响已分配的线索的回收规则

Scenario: 停用回收规则

  • WHEN 用户将回收规则状态设为"停用"
  • THEN 系统停止自动回收,但不影响新线索的自动分配