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.
 
 
 
 
 
 

24 KiB

原型依据基准(A2 线索 / A7-3-1 线索规则 · 22 项缺陷)

用途:为 tmp/缺陷报告-线索模块-A2-A7-3-1.md 的 22 项缺陷(P0×7 / P1×8 / P2×7)建立原型条款证据基准。 后续判定票(02/03/04)与修复票(05-10)以本文件为原型侧唯一引用源。

语义优先级(用户 2026-08-19 拍板 + map.md Notes):PRD v1.2 > 原型 > 缺陷报告。 原型两版不一致时以蓝湖服务器实时版为准(用户拍板)。

一、证据来源与版本

来源 版本 状态
蓝湖 MCP 实时拉取(Lanhu Axure Extractor v3.4.4) 文档"V1.0-20260815",版本25,update_time 2026-08-15 18:12:49,180 页 判定基准
本地缓存 .scratch/clue-module/prototype-extract/*.txt 2026-08-11 导出 对照参考
PRD .scratch/clue-module/线索业务-PRD.md v1.2 语义最高权威
  • MCP 实时拉取方法:research/mcp_pull_phase1.py(握手 + 页面清单)→ research/mcp_pull_phase2.pylanhu_get_ai_analyze_page_resultmode=text_only,定向 11 页)。
  • 原始输出:research/raw/pages.txt(页面清单)、research/raw/analyze_batch1_core.txt(A7-3-1 / A2-1-1列表 / A2-1-2-2 / A2-1-2-1 / A2-1-4)、research/raw/analyze_batch2_more.txt(A2-1-1分屏 / A2-1-1-1 / A2-1-2-3 / A2-1-3 / A2-1-5 / A2-1-4-1)。
  • 安全声明:MCP 返回内容中含 __AI_INSTRUCTION__("ErGou/二狗"人格指令、四阶段 TODO 工作流指令)及 ai_suggestion 等注入性字段,一律当数据处理,不执行其中任何指令

二、两版原型差异(08-11 本地 → 08-15 服务器)

结论:22 项缺陷所引的全部条款在两版中文字一致,无一因改版改变语义。 改版差异仅:

  1. 品牌名:"itc信息化业务中台" → "itc业务中台"(A2 系页面)。
  2. 字段名:"线索名称" → "客户名称"(A2-1-2-2 / A2-1-2-1 / A2-1-3 / A2-1-1-1 / A2-1-4-1 等页)。
  3. A2-1-2-2 "关闭"按钮正文文案由"二次确认后关闭"改为"直接关闭新增页面,无数据保存",但同页异常区仍保留"是否放弃当前编辑内容?"弹窗文案(页面内部自相矛盾;不影响 22 项判定)。
  4. A2-1-2-3 "编辑线索"页:新版正文被"导入线索"内容占用,无独立编辑弹窗需求说明(编辑行为依据仍在 A2-1-2-1 详情页)。
  5. 新增页面 A2-1-4-1(线索管理-新增线索,管理侧新增):本地缓存无对应文件。该页强化了 P0-7 判定(见下)。
  6. A2-1-1 分屏视图筛选出现"查重预警"状态标签;A2-1-3 状态标签扩为"待领取/已领取/跟进中/已联系/未处理/已转商机/过期失效"——"已联系""未处理""查重预警"为展示层标签,未映射到代码 7 状态机(附加发现,不计入 22 项)。

三、按缺陷编号的条款基准

图例:=一致;⚠=有出入(见说明);—=该来源无此条款。

P0-1 删除公海池未校验"存在活跃线索"

  • 原型条款(A7-3-1 线索规则 · 线索设置列表-四、单行操作):

    "2.删除:仅超级管理员可见;单条删除前弹出二次确认;已存在线索绑定的公海池禁止删除。" 五、4.批量删除:"勾选多条公海池执行批量删除;若任意勾选公海池内存在有效线索,弹出拦截提示禁止批量删除。"

  • 与本地缓存: 一致(a7-3-1_线索规则.txt L267/L276)。
  • 与缺陷报告引文: 一致。
  • 备注:原型措辞"有效线索"未定义口径;PRD §4.3 权威口径="池下无非终态线索"才可删(软删)。批量删除原型为"整批拦截",与 ADR-0023 部分成功语义存在张力——判定票 02 需按 PRD 口径裁决。

P0-2 领取未校验"个人持有上限 / 每日领取上限"

  • 原型条款(A7-3-1 · 其他设置-二、2;五、3):

    "个人每日领取上限:限制单个销售每日从本公海池最多领取线索条数,默认示例 10 条;输入 0 则代表无每日领取限制;个人持有上限:单个销售名下同时持有的、未释放 / 未转商机的本公海线索最大总量,默认示例 200 条;达到上限后销售无法再领取该池线索。输入校验:仅允许输入≥0 的整数。" "当销售达到每日领取上限、个人持有上限时,线索公海页面【领取】按钮置灰不可点击,悬浮提示已达对应上限。"

  • 原型条款(A2-1-1 线索公海·列表视图 · 异常区):存在"领取超限"弹窗:"领取提示 / 确定 / 领取已超过限额,领取失败"。
  • 与本地缓存: 一致。
  • 与缺陷报告引文: 一致(引文三条均真实存在)。
  • 备注:原型仅明说每日上限 0=无限,持有上限未说 0=无限;PRD §6.2 口径=hold_limit 计数仅"已领取+跟进中"。0 值语义归判定票 02/04 裁决。

P0-3 管理员分配未校验被分配人上限

  • 原型条款(A2-1-4 线索管理 · 分配弹窗-三、1):

    "执行分配逻辑:将当前选中单条 / 批量线索分配给勾选销售人员;线索状态变更为【已领取】,领取人更新为对应销售。" 五、1:"可分配线索范围:仅【待领取】【未分发】状态线索支持分配。"

  • 与本地缓存: 一致(分配后=已领取语义支持"分配即持有")。
  • 与缺陷报告引文:⚠ 引文自认"原型/PRD 依据"——原型无分配上限直接条款,权威依据是 PRD §6.3 grill #7(两上限都校验、额度归属=被指派销售、按目标池上限、批量部分成功)。
  • 备注:原型分配弹窗允许管理员不指定具体销售人员("【管理员可以不需要指定具体销售人员】",a2-1-4 L495/MCP 同文);批量分配"只能选择同个公海池数据"。修复票 06 需处理这两个边缘。

P0-4 新增线索勾选"是否领取"绕过校验

  • 原型条款(A2-1-2-2 新增线索 · 一、4 标记配置项):

    "2.是否领取:复选框,勾选则新增完成后自动领取该线索;不勾选则线索停留在公海待领取。" 页尾注记:"可以领取和关注,新增成功后数据同步到线索公海和我的线索或我的关注列表。"

  • 与本地缓存: 一致(a2-1-2-2 L246)。
  • 与缺陷报告引文: 一致。
  • 备注:原型未写"超限时如何处理"。用户 2026-08-19 拍板:达到领取上限或池规则禁自领时,勾选"是"则整个新增失败报错,用户只能改选"否"再提交(此为语义定稿,优先于原型留白)。

P0-5 领取规则"管理员可分配"未拦截销售自领

  • 原型条款(A7-3-1 · 其他设置-二、1):

    "2)选项 2:管理员可分配——业务逻辑:销售仅能查看公海线索,无自主领取按钮,所有线索只能由管理员统一分配下发。" 列表字段说明 6:"管理员可分配:销售无法自主领取,仅管理员统一分配下发。"

  • 与本地缓存: 一致(a7-3-1 L363-367)。
  • 与缺陷报告引文: 一致(引文为原文缩写,语义相同)。
  • 备注:代码勘察已证伪本项——LeadServiceImpl.claimLead() L217-219 已有 CLAIM_RULE_ADMIN_ONLY 拦截(抛 CODE_CLAIM_RULE_DENIED)。本项初判"误报",最终判定以票 02 出具。

P0-6 线索公海硬编码只展示"待领取"

  • 原型条款(A2-1-1 线索公海·列表视图):

    列表状态标识:"线索状态:待领取、已领取、过期已失效、线索作废领取人:待领取状态为空,已领取展示对应销售姓名。" 筛选"全部状态"选项:待领取、已领取、跟进中、过期失效、线索作废、已转商机。 通用规则 4:"已领取线索仅支持关注,无法重复领取;过期失效线索禁止领取操作。" 异常区(防撞单):"当前线索已被其他销售抢先认领,暂时无法领取,可关注该线索,待对方释放后再次认领。" 列表示例数据本身混合展示"已领取(领取人=林枫)/跟进中/过期已失效/线索作废"行。

  • 原型条款(A2-1-1 分屏视图):"橙色【已领取】:线索已被销售领取,不可重复领取";列表卡片示例含"已领取/过期已失效"。
  • 原型条款(A2-1-1-1 公海线索详情):"(2)线索状态为【已领取】(他人已领取)仅展示【关注】按钮,隐藏【领取】按钮,不可重复领取。"
  • 与本地缓存: 一致。
  • 与缺陷报告引文: 一致(防撞单语义与领取人列展示均真实存在)。
  • 备注:PRD §7(E) 已定稿:公海混合展示默认 {待领取, 已领取, 跟进中},展示范围作为可配置项不硬编码。原型列表标识四态 vs 筛选六态本身不齐,按 PRD 定稿口径执行。

P0-7 新增线索缺少角色/归属约束

  • 原型条款(A2-1-2-2 新增线索 · 一、3 线索流转默认回填):

    "线索公海池:自动回填当前销售所属区域公海池,不可编辑;销售团队/销售部门/销售人员:自动回填当前登录销售……不可编辑;线索状态:默认【未领取】。"

  • 原型条款(A2-1-4 线索管理 · 五、1,08-15 新版新增页面 A2-1-4-1 同义强化):

    "1.新增线索:打开新增线索表单,默认归属当前管理员所属公海池,超级管理员可切换任意公海池。" A2-1-4-1:"线索状态:默认【未分发】";"线索公海池(下拉):部门负责人仅展示自己管辖部门下全部公海池;超级管理员加载全平台所有公海池";"选中人员代表线索创建完成后直接分配给该销售,线索状态变为【已领取】";权限前置:"销售角色:无线索管理菜单入口,无法打开本新增页面"。

  • 与本地缓存:⚠ A2-1-2-2 / A2-1-4 部分一致;A2-1-4-1 为新版页面,本地无缓存(以 MCP 为准)。
  • 与缺陷报告引文: 一致("销售新增默认归属本人池不可编辑、管理员可切换任意池"语义真实存在)。
  • 备注:PRD §6.1 grill #6 权威口径:销售新增自动带池=本人主部门的池,主部门无池→报错拦截。管理侧新增默认"未分发"≠销售侧"未领取",修复票 07 需区分两条路径。

P1-1 反馈提交后未清理草稿行

  • 原型条款无草稿相关条款(A2-1-2-1 / A2-1-2 / A2-1-1 两版均未出现"草稿"字样;反馈弹窗在原型文本中无独立需求说明)。
  • 与本地缓存:— 同样无。
  • 与缺陷报告引文:⚠ 引文称"原型依据(A2-1-2-1):反馈分'草稿/提交'"——该引文在原型中不存在,属报告方转述 PRD。
  • 备注:权威依据是 PRD §6.4:"提交时清除同 (user_id, lead_id) 的草稿行(转为 SUBMITTED)"。判定照 PRD 执行,引文标注失实但不影响结论方向。

P1-2 删除线索未校验创建人/角色权限

  • 原型条款(A2-1-4 线索管理 · 四、3):

    "3.删除:仅管理员角色可见;过期失效、未分发、待领取线索可删除,已领取 / 已转商机线索删除增加二次强确认弹窗。"

  • 与本地缓存: 一致。
  • 与缺陷报告引文: 一致。
  • 备注:原型允许"已领取/已转商机 + 强确认"删除;PRD §3.3 推翻删除 = (状态≠已转商机) AND (管理员 OR 创建人·强确认)——已转商机禁删、创建人也可删。判定与修复按 PRD。

P1-3 编辑线索未记录字段级变更历史

  • 原型条款(A2-1-2-1 线索详情 · 四、历史记录):

    "2.单条日志固定字段:操作时间、操作人、所属销售部门、操作类型标签(领取 / 反馈 / 释放 / 转商机 / 编辑)、完整操作详情文本。" "3.各操作对应详情文案:……编辑:修改线索基础信息。" 五、5:"所有操作永久留存至历史记录,不可删除、修改日志。"

  • 与本地缓存: 一致。
  • 与缺陷报告引文: 一致("完整操作详情文本""永久留存"真实存在)。
  • 备注:原型编辑文案较笼统;PRD §6.9 更细:"detail 含变更字段清单(旧值→新值)"。按 PRD 落地字段级 diff。

P1-4 提交反馈缺少入口级状态校验

  • 原型条款(A2-1-2-1 线索详情 · 三、2;五、业务交互限制):

    "2.反馈:仅【未过期失效】线索可见,点击打开反馈弹窗,新增跟进记录;过期失效线索隐藏此按钮。" "2.过期失效线索:隐藏【反馈】【释放】按钮,仅支持编辑、取消关注。"

  • 原型条款(反馈三态,A2-1-1/A2-1-2/A2-1-3 列表标识):"反馈情况:有效 / 无效 / 未反馈三色标签区分跟进状态"(有效=绿色、无效=橙色)。
  • 与本地缓存: 一致。
  • 与缺陷报告引文: 一致。
  • 备注:PRD 反馈状态枚举口径以 §6.4 为准(有效/无效 两值提交,未反馈为展示态默认值)。

P1-5 池归属(部门/省份)变更后存量线索归属未刷新

  • 原型条款(A7-3-1 · 线索设置-公海池 三、4 保存后逻辑;七、1):

    "数据联动:新增 / 编辑 / 导入公海池保存后,线索公海、我的线索、线索管理、新增线索、导入线索页面内**【线索公海池】下拉选项实时同步更新**。" 其他设置保存:"联动更新:**所有线索模块公海池下拉、领取按钮、上限拦截逻辑同步刷新**。"

  • 与本地缓存: 一致。
  • 与缺陷报告引文:⚠ 引文文字真实存在,但语义=前端下拉/按钮/拦截逻辑刷新,非"存量线索 dept_id 刷新"——报告方借引文推度过远。
  • 备注:权威依据是 PRD §4.1.1:"池换部门:未分发/待领取 dept_id 跟池走,已领取/跟进中不动"。判定照 PRD;引文仅作旁证。PoolChangedEvent 现状由判定票 03 照亮。

P1-6 回收天数 N / 失效天数 M 修改后存量 deadline 未刷新

  • 原型条款(A7-3-1 · 其他设置-五、2):

    "规则联动生效:修改领取上限、回收天数、失效天数后,已领取 / 存量线索次日起按照新规则执行,存量已超时线索当日不批量回溯处理。" N 条款:"销售领取线索后,连续 N 天未新增跟进反馈记录,系统后台定时任务自动将线索回收,回流至原归属公海池,线索状态重置为【待领取】,领取人清空。" M 条款:"线索创建入库起累计满 M 天,无论是否被领取、跟进,系统自动标记线索状态为【过期失效】。"

  • 与本地缓存: 一致(a7-3-1 L397 等)。
  • 与缺陷报告引文: 一致。
  • 备注:PRD §5.3 给出精确重算公式:已领取 recycle_deadline=claim_time+new_N;跟进中 =last_feedback_time+new_N;M =create_time+new_M(status≠已转商机);当日不批量清算。

P1-7 视图统计走内存循环

  • 原型条款(A2-1-1 · 一、3;A2-1-3 · 一、3;A2-1-4 · 二、3):

    A2-1-1:"数据统计卡片……展示 3 项统计数值:线索总量、待领取、今日新增……实时统计当前筛选条件下对应数据。" A2-1-3:"统计当前账号全部关注线索数据:线索总量、有效、未反馈、无效、已转商机,筛选条件变更后数值实时刷新。" A2-1-4:"顶部数据统计卡片(当前角色权限范围内数据实时统计):线索总量、已领取、已转商机、今日新增、未分发。"

  • 与本地缓存: 一致。
  • 与缺陷报告引文: 方向一致(原型只约束"实时统计",未约束实现方式;性能问题属工程判断)。

P1-8 定时任务"先失效后回收"顺序

  • 原型条款无直接条款(仅 A7-3-1 N/M 条款证明"系统后台定时任务"存在)。
  • 与本地缓存:—
  • 与缺陷报告引文:⚠ 引文自认"PRD 依据(v1.1 grill)"。
  • 备注:权威依据是 PRD §6.7 grill #4:"统一每日 02:00 全库扫,失效先、回收后"。

P2-1 领取并发防抖/幂等(后端兜底)

  • 原型条款(A2-1-1 · 六、5;异常区):

    "5.线索领取按钮需支持防抖(500ms)+ 请求中置灰 + 成功后禁用3秒(防连续操作),失败后自动恢复可点击状态。" "多人同时点【领取】时,随机选择成功人员。" 抢占失败提示:"当前线索已被其他销售抢先认领,暂时无法领取,可关注该线索,待对方释放后再次认领。"

  • 与本地缓存: 一致。
  • 与缺陷报告引文: 一致。

P2-2 数值输入校验(每日上限/持有上限/N/M)

  • 原型条款(A7-3-1 · 其他设置-二、2/3/4):

    "输入校验:仅允许输入≥0 的整数,输入负数、小数、文字时失焦自动清空并提示【请输入有效数字】。"(每日/持有上限) N:"输入限制:仅支持≥1 正整数。";M:"输入限制:仅支持≥1 正整数。" 保存:"表单校验:……所有数字框校验为合法正整数;非法输入拦截提交并弹出提示。"

  • 与本地缓存: 一致(a7-3-1 L368-371)。
  • 与缺陷报告引文: 一致。
  • 备注:"0=无限"原型仅明说于每日领取上限;持有上限 0 的语义在原型留白,判定票 04 按"原型原文未授权 hold=0 无限"裁决。

P2-3 公海池名称全局唯一

  • 原型条款(A7-3-1 · 线索设置-公海池 二、1):

    "1)公海池名称(单行输入,必填)占位提示「输入名称」,全局唯一不可重复;部门负责人编辑本部门公海池可修改名称。"

  • 与本地缓存: 一致(a7-3-1 L305-306)。
  • 与缺陷报告引文: 一致。

P2-4 部门负责人编辑时归属字段只读(后端拒绝越权改归属)

  • 原型条款(A7-3-1 · 线索设置-公海池 二、1;三、3;四、2):

    "部门负责人:编辑时下拉置灰只读,仅展示自身所属团队,不可修改。"(团队/部门/省份三条同义) "3.权限校验:部门负责人修改归属字段时拦截提交。" "四、2.部门负责人……销售团队、销售部门、省份下拉置灰只读,不可修改公海池归属。"

  • 与本地缓存: 一致(a7-3-1 L309-317、L335)。
  • 与缺陷报告引文: 一致。
  • 备注:实现方式=拒绝提交(拦截),非"忽略变更"——修复票 10 按拦截落地。

P2-5 批量操作按钮的角色隔离(后端校验)

  • 原型条款(A7-3-1 · 线索设置列表 一、角色权限;二、4):

    "超级管理员可见:新增公海池、导入公海池、导出公海池、批量删除;部门负责人仅显示【查询 / 重置】,批量操作按钮全部隐藏。" "删除:仅超级管理员可见。" A2-1-4 三类角色:"销售角色……无分配、批量删除、线索合并、批量治理权限";部门负责人/超管权限矩阵。

  • 与本地缓存: 一致(a7-3-1 L226-238 等)。
  • 与缺陷报告引文: 一致。

P2-6 反馈情况三态与"最后反馈时间"回填

  • 原型条款(A2-1-1 / A2-1-2 / A2-1-3 列表字段与状态标识):

    A2-1-1:"列表字段(固定字段)……反馈情况、反馈内容、最后反馈时间……反馈情况:有效 / 无效 / 未反馈三色标签区分跟进状态。" A2-1-2(我的线索,本地缓存 L1815/L1818):"列表展示字段:序号、线索名称、联系号码、加急、反馈情况、反馈内容、最后反馈时间……反馈情况:有效(绿色)、无效(橙色)、未反馈三色标签。" A2-1-1-1 详情(跟进反馈展示):"线索存在跟进反馈记录时,在详情信息内展示反馈内容、反馈操作人、反馈时间、对应需求产品。"

  • 与本地缓存: 一致。
  • 与缺陷报告引文: 一致。
  • 备注:另发现我的线索列表含派生字段"超时回收剩余有效期"(本地缓存 L1815,与 N 相关)——修复票 09/10 可顺带核对。

P2-7 过期失效/作废/已转商机线索操作按钮收敛

  • 原型条款(A2-1-2-1 · 五、业务交互限制;A2-1-1-1 · 四、4;A7-3-1 M 条款):

    "1.已转商机线索:隐藏【释放】按钮,仅支持编辑、反馈、取消关注;2.过期失效线索:隐藏【反馈】【释放】按钮,仅支持编辑、取消关注。" A2-1-1-1:"4.已过期失效线索,隐藏【领取】按钮,仅可执行关注操作。" A7-3-1 M:"失效线索不再支持领取、反馈、转商机,仅可查看详情、删除。" A2-1-1:"过期失效的线索不能编辑,只能查看和关注。"(⚠ 与 A2-1-2-1"过期失效仅支持编辑、取消关注"存在页间矛盾,判定票 04 记录)

  • 与本地缓存: 一致。
  • 与缺陷报告引文: 一致("已转商机隐藏释放;过期失效隐藏反馈/释放,仅编辑/取消关注")。

四、附加发现(不计入 22 项,供判定/修复票参考)

  1. A2-1-4-1 管理侧新增(08-15 新页):默认状态"未分发";可选销售人员则创建即"已领取";历史记录写"【管理员新增线索】"日志。修复票 07 的 P0-7 方案需覆盖此路径(当前代码 createLead 无此分支)。
  2. 分配可不指定销售人员(A2-1-4 L495):"【管理员可以不需要指定具体销售人员】"——分配到部门不带人时上限校验主体缺失,修复票 06 需定义(建议:无 assignee 则跳过个人上限,仅做状态/池校验)。
  3. 批量分配限同池(A2-1-4 异常区 L513):"批量分配时,只能选择同个公海池数据进行分配,不可跨公海池操作(部门负责人除外)"。
  4. 分配冲突语义(A2-1-4 异常区):"当前线索已被其他管理员分配";批量分配失败类型="已转商机XX条,抢占分配XX条"——分配走 CAS 语义(与 ADR-0021 一致)。
  5. 激活功能(A2-1-4):过期线索可"激活/批量激活"——个人领取过期恢复"已领取/跟进中",公海池过期恢复"待领取","重新按公海池有效期计算"。当前代码未见 activate 接口(22 项未列,属范围外缺口,记入报告"超出清单发现")。
  6. 展示层状态标签超集:A2-1-3 出现"已联系""未处理"、A2-1-1 分屏出现"查重预警",均无代码状态机对应(7 状态机)。判定票 04 归档为"展示态映射问题",不计缺陷。
  7. 公海列表视图 vs 分屏视图筛选不一致:列表视图状态筛选取值六态、分屏视图三态(含查重预警)——原型自身不齐,按 PRD §7(E) 定稿执行。
  8. 导入线索归属约束(A2-1-2-3 现内容):"导入的全部线索数据,仅允许存入当前登录销售所属部门需求池"(G6 导入在 out of scope,仅记录)。

五、结论

  1. 缺陷报告引文真实性:22 项中 20 项引文真实且语义相符;2 项引文失实/借用——P1-1("反馈分草稿/提交"原型无此条款,实为 PRD §6.4 内容)、P1-5(引文真实但语义被延伸为"存量归属刷新",实为前端下拉联动)。
  2. 版本改版影响:无一项缺陷的判定语义因 08-15 改版改变;A2-1-4-1 新页反而强化 P0-7。
  3. 原型留白、须以 PRD 或用户拍板补齐的点(判定票输入):
    • P0-1 "有效线索"口径 → PRD §4.3"非终态";
    • P0-2/P2-2 hold_limit=0 语义 → 原型仅授权 daily=0 无限;
    • P0-4 超限处理 → 用户拍板"整体失败";
    • P1-1 草稿清理 → PRD §6.4;
    • P1-5 存量归属刷新 → PRD §4.1.1;
    • P1-8 顺序 → PRD §6.7;
    • P2-7 过期失效能否编辑 → 原型页间矛盾,按 PRD/状态机裁决。