You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
3.3 KiB

3 weeks ago
# 线索规则(crm-rule)
线索公海池的配置域:公海池实体(归属部门 + 省/市/区)、人员(负责人 / 协作人 / 成员)、领取规则、超时回收 / 失效 / 领取上限配置。依赖方向单向 `crm-rule → (crm-auth / crm-dict)`,**不得反向依赖 `crm-lead`**——公海池不知道线索存在。公海池表复用 `lead` 数据范围模块(决策 [K])。
## Language
**公海池**:
线索的归集容器与规则载体,`crm-rule` 的核心聚合根,存于 `lead_pool`。定义一个部门下线索的领取规则(回收天数 / 失效天数 / 持有上限 / 每日领取上限)与人员编制。**一部门一池**,`UNIQUE(dept_id)`;池名全局 `UNIQUE`
_Avoid_: 线索池、公海、资源池、pool(英文单说)
**归属部门**:
公海池所属的部门节点,`dept_id`,是「一部门一池」的唯一键。同时冗余 `team_dept_id`(团队 = 部门树上级节点)。归属部门决定池及池内线索的数据范围天花板。
_Avoid_: 所属部门、部门、团队部门
**负责市场**:
公海池覆盖的行政区划,多值——省份多值表 + 市/区多值表两张关联表。存国标 code(`varchar(12)`,支持前缀 LIKE 祖先查询,对齐 `sys_region`)。同一部门的多个市场取并集在**同一个**池里(一部门一池),不拆多池。
_Avoid_: 覆盖区域、地区、辖区
**负责人**:
公海池的主管理人,池-人绑定表中 `role=OWNER`。被设为负责人会落一条池维度的行级授权(`resource_type=pool`),使其能越过部门天花板看到池内线索。**负责人身份不授予池配置写权**(决策 [E])——改池配置走功能权限 × 数据范围。
_Avoid_: 池主、管理员、owner(owner 在 crm-lead 是领取人)
**协作人**:
公海池的协助管理人,池-人绑定表中 `role=COLLAB`。与负责人一样落池维度行级授权(只读,越过部门天花板看池内线索)。移出协作人名单那一刻即失效,授权行硬删(决策 [PRD-3])。
_Avoid_: 协助人、副负责人、collaborator
**成员**:
有资格领取该池线索的销售集合。**动态推导、不落表**——成员 = 归属部门的部门子树内全部用户,按组织架构实时算。不是池-人绑定表里的行(绑定表只存 OWNER / COLLAB)。
_Avoid_: 池成员表、领取人白名单、参与者
**回收天数**:
池配置字段 `recycle_days`,喂给线索的回收计时 N。DB DEFAULT = 7。
_Avoid_: 超时天数、N、recycle
**失效天数**:
池配置字段 `expire_days`,喂给线索的失效计时 M。DB DEFAULT = 180。
_Avoid_: 有效期、M、expire
**持有上限**:
池配置字段 `hold_limit`,单个销售在本池最多同时持有的线索数。只算「已领取 + 跟进中」,不含已转商机 / 过期失效 / 作废。DB DEFAULT = 200。
_Avoid_: 最大持有、上限、hold
**每日领取上限**:
池配置字段 `daily_claim_limit`,单个销售每个自然日(`DATE(op_time) = CURRENT_DATE`)在本池最多领取的线索数。DB DEFAULT = 10。
_Avoid_: 日领取限、领取限额、daily limit
**池删除保护**:
公海池软删;但**池下有非终态线索时禁止删除**(非终态 = 未分发 / 待领取 / 已领取 / 跟进中)。防止孤儿线索。
_Avoid_: 级联删除、强制删除