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.

119 lines
9.3 KiB

6 days ago
# 票 07 · E2E 核心域实测结果(草稿章节)
> 运行时间:2026-08-31 14:38:47 · 数据基线:seed 12 条 + F01 新建 1 条 · 判定纪律见 map「判定纪律」
| 流程 | 用例 | 结论 | 证据 |
|---|---|---|---|
| F01 | convertible-leads 下拉接口 | ✅ | 返回 0 条可关联线索 |
| F01 | 必填校验(缺商机名称) | ✅ | 被拒: 商机名称不能为空 |
| F01 | 新建商机 | ✅ | id=749639265603813376 |
| F01 | 初始负责人=当前用户 | ✅ | owner=744842565802524672 |
| F01 | 初始 oppStatus(U01 观察口径) | ✅ | 实测=2(PRD §3.1 取值域内;seed 同现象=2 推进中) |
| F01 | 新建后出现在 MINE 视图 | ✅ | MINE 命中 1 条 |
| F02 | A/MANAGE 视图 total=13 | ✅ | 期望 13(seed 校验值+F01 新建) |
| F02 | A/MINE 视图 total=5 | ✅ | 期望 5(seed 校验值+F01 新建) |
| F02 | A/PUBLIC_POOL 视图 total=2 | ✅ | 期望 2(seed 校验值+F01 新建) |
| F02 | A/FOLLOWED 视图 total=1 | ✅ | 期望 1(seed 校验值+F01 新建) |
| F02 | A/RECENT 初始(未上报前) | ✅ | total=0(空即符合「仅记录访问过的」) |
| F02 | A/PARTICIPATED | ✅ | total=1(观察值;seed 无团队成员样例,范围口径记录) |
| F02 | B/MINE 范围(公海态不计 MINE) | ✅ | total=4(期望 4:B 造 5 条-1 已入公海) |
| F02 | A/MINE 不含 B 商机(范围互斥) | ✅ | 混入: [] |
| F02 | keyword 筛选生效 | ✅ | 命中 2(应仅智慧园区 2 条-F01 无关词) |
| F02 | statusIn=1 筛选(公海态) | ✅ | total=2(期望 2) |
| F02 | page 出参回显列存在性 | ✅ | schemeCardStatus/stageStayDays/lastFollowTime 均在 |
| F02 | 有卡/有跟进商机的回显值非空 | ✅ | A2 行三列全有值 |
| F02 | 公海视图回显入池原因 poolReason | ✅ | poolReason=pool_reason_02 poolStageNameSnapshot=None |
| F03 | MANAGE summary 合计=7 vs page(=推进态(status2))=7 | ✅ | 口径: =推进态(status2) |
| F03 | board/cards 首批限量+翻页不重不漏 | ✅ | 首页=['749639076239376384'] 次页=['749639265603813376'] |
| F03 | PUBLIC_POOL summary 合计=2 vs page(=公海态(status1))=2 | ✅ | 口径: =公海态(status1) |
| F04 | view-touch 上报 | ✅ | |
| F04 | detail 出参全性(PRD §7.9) | ✅ | 6 个联动字段全非空 |
| F04 | detail.followed(A 已关注 B1,非 A2) | ✅ | A2.followed=False |
| F04 | RECENT 出现刚访问的商机 | ✅ | recent ids 前3=['749639076239376384', '749639078307168256'] |
| F04 | RECENT 倒序(后访问在前) | ✅ | A1 idx=0 A2 idx=1(A1 后 touch 应更靠前) |
| F05 | D-14 编辑改空被拒(66001 逐字段) | ✅ | 被拒: 商机名称不能为空 |
| F05 | 编辑回写 | ✅ | |
| F05 | remark 已更新 | ✅ | remark=E2E改备注-14:38:47 |
| F05 | 暂缓态编辑受限(负路径) | ✅ | 被拒: 暂缓中的商机不允许此操作,请先取消暂缓 |
| F06 | unfocus 后 FOLLOWED=0 | ✅ | total=0 |
| F06 | focus 后 FOLLOWED=1 且 detail.followed=true | ✅ | FOLLOWED=1 followed=True |
| F06 | focus-batch 两条 → FOLLOWED=3 | ✅ | total=3 |
| F06 | B 视角关注 A 商机(跨部门可见性) | ✅ | B_FOLLOWED=1 |
| F07 | 写跟进 | ✅ | id=749639288836063232 |
| F07 | 跟进分页 +1 | ✅ | 2 → 3 |
| F07 | lastFollowTime/lastValidFollowTime 刷新(回收锚点) | ✅ | last=2026-08-31 14:38:54 valid=2026-08-31 14:38:47 |
| F07 | delete 后分页 -1 | ✅ | 3 → 2 |
| F08 | file/upload(MinIO 直传) | ✅ | fileId=749639290811580416 name=e2e-attach.txt |
| F08 | bizType 缺省 → 66001(D-21 修复后契约) | ✅ | code=66001 msg=bizType 必传且必须为 OPP/FOLLOW_UP/SITE_SURVEY/SCHEME_CARD 之一 |
| F08 | add→list 出现 | ✅ | list 1 条 |
| F08 | 资料类型/出参结构 | ✅ | 字段示例: ['bizId', 'bizType', 'createTime', 'creatorId', 'deleteKey', 'deleted', 'fileId', 'id', 'materialType', 'oppId'] |
| F08 | delete 后消失 | ✅ | |
| F08 | 下载端点探测 /api/file/download | ✅ | HTTP 200(若 404 按缺陷候选核源码) |
| F09 | selectable-templates 含发布中模板 | ✅ | 1 条,templateId=748508098259320832 |
| F09 | valuesJson 装配(seed 卡 fields 骨架) | ✅ | fields=8 动态项=6 |
| F09 | 一客户一卡约束(同客户重复建卡被拒) | ✅ | 被拒: 该客户在本商机下已有方案卡(一客户一卡),请直接编辑原卡 |
| F09 | 新建方案卡草稿 | ✅ | cardId=749639298566848512 |
| F09 | 草稿态 cardStatus=1 | ✅ | cardStatus=1 |
| F09 | 草稿可编辑(card_status<3+ 预算回写 | | budget=130000.0 |
| F09 | 提交后 cardStatus 推进 | ✅ | cardStatus=2 |
| F09 | 提交后主表 schemeBudget/schemeCardStatus 回显(P0-4 锚点) | ✅ | 主表 budget=880000.0 cardStatus=2(多卡取值口径观察) |
| F09 | 多卡列表口径(2 张卡并列) | ✅ | 2 张 |
| F10 | 勘察次数需调用方传(D-18 翻案) | ✅ | 不传 surveySeq 被拒(符合裁决) |
| F10 | 新增勘察(传 surveySeq) | ✅ | id=749639302924730368 |
| F10 | 次数列表回显(调用方传值落库) | ✅ | surveySeq 列表=['survey_seq_01'] |
| F10 | 补充说明非强制(D-19 翻案) | ✅ | 空说明放行(符合裁决) |
| F10 | 删除后次数重算(口径观察) | ✅ | 删后 surveySeq=['survey_seq_02'] |
| F11 | customer/list(seed DB 补入的关联客户) | ✅ | 3 条 |
| F11 | 出参结构(角色/快照/主要意向标记) | ✅ | role=customer_role_04 snapshot=省建工设计院(seed快照) primary=1 |
| F11 | primaryCustomerSnapshot 与 detail 回显一致 | ✅ | detail.primary=省建工设计院(seed快照) |
| F11 | 端点探测 /api/opportunity/customer/add | ✅ | HTTP 200 |
| F11 | 端点探测 /api/opportunity/customer/search | ✅ | HTTP 200 |
| F11 | 端点探测 /api/opportunity/customer/set-primary | ✅ | HTTP 200 |
| F12 | team/list | ✅ | 3 条(seed 无样例) |
| F12 | 端点探测 /api/opportunity/team/add | ✅ | HTTP 200 |
| F12 | 端点探测 /api/opportunity/team/delete | ✅ | HTTP 200 |
| F12 | 端点探测 /api/opportunity/team/update | ✅ | HTTP 200 |
| F12 | PARTICIPATED 视图(成员联动口径,无样例记录观察) | ✅ | total=1 |
| F14 | 暂缓 E4: 2→3 | ✅ | oppStatus=3 |
| F14 | 暂缓态关闭(E6 2,3→4 合法边,D-08 翻案) | ✅ | oppStatus=4 |
| F14 | 数据修正后回到暂缓态 | ✅ | oppStatus=3 |
| F14 | CAS 守卫(§3.4):前置态已变再提交 | ✅ | 被拒: 当前状态不允许此操作 |
| F14 | 取消暂缓 E5: 3→2 | ✅ | |
| F14 | 关闭 E6: 2→4 | ✅ | |
| F14 | 受限态出边:已关闭不可 resume | ✅ | 当前状态不允许此操作 |
| F14 | 重启 E7: 4→2 | ✅ | |
| F14 | 抛公海 E3: 2→1(公海 total) | ✅ | PUBLIC_POOL=4(期望 2+2) |
| F14 | poolReason 枚举落库+公海回显(§3.5) | ✅ | poolReason=pool_reason_02 |
| F14 | 领取 E1: 1→2 + 负责人变更 | ✅ | status=2 owner=744842566742048768 |
| F14 | 批量领取(冠军团队商机 → 66014 整批禁领,D-09 批量守卫) | ✅ | code=66014 msg=该商机所属部门已配置禁领规则,无法自由领取,请联系管理员分配 |
| F14 | 分配 E2: 1→2 指定负责人 | ✅ | owner=744842565802524672 |
| F14 | 批量分配 | ✅ | |
| F14 | 批量关闭 | ✅ | |
| F14 | 移交 E9(自环换 owner) | ✅ | owner=744842566742048768 |
| F14 | U02 禁领规则草稿 | ✅ | id=749639332834312192 |
| F14 | U02 禁领版本发布 | ✅ | |
| F14 | U02 禁领负路径:领取被拒 | ✅ | 被拒: 该商机所属部门已配置禁领规则,无法自由领取,请联系管理员分配 |
| F14 | 停用禁领版后恢复领取 | ✅ | |
| F14 | 切阶段前进(progress 当前节点变化) | ✅ | 当前节点={'nodeId': '747831302870269952', 'seqNo': 2, 'stageDictCode': 'OPP_STAGE_02', 'customNodeName': None, 'workGoal': None, 'isFixed': 0, 'nodeState': 'CURRENT'} |
| F14 | 切阶段回退 | ✅ | |
| F14 | 非法 toStageId 负路径 | ✅ | 目标阶段节点不存在或已被删除 |
| F13 | oplog/page(A2 经历 release/close/reopen/handover 应有多条) | ✅ | 15 条 |
| F13 | oplog 字段(实体/字段/旧值/新值/说明 P1-5) | ✅ | keys=['bizRef', 'createTime', 'creatorId', 'deleted', 'entityName', 'fieldName', 'id', 'logType'] |
| F13 | oplog 覆盖内容(流转是否留痕观察) | ✅ | 15 条: [('STATUS_FLOW', 'opp_status'), ('STATUS_FLOW', 'opp_status'), ('STATUS_FLOW', 'opp_status'), ('STATUS_FLOW', 'opp_status'), ('STATUS_FLOW', 'opp_status'), ('ROW_CHANGE', Non |
| F13 | stage/history(切阶段 2 次应留痕) | ✅ | 2 条 |
| F13 | progress 节点名+完成状态(U08) | ✅ | 5 节点 |
| F13 | 工作目标文本存在性(U08 宽断言) | ⚠ | goal=False |
| F15 | save 视图 | ✅ | viewId=d5b233f7ea5b4988869a916eaf087428 |
| F15 | list 查到新视图 | ✅ | |
| F15 | 同 viewId 重复 save(upsert 语义实测) | ✅ | 同 id 条数=1 name=e2e-A-改名视图 |
| F15 | set-default 回显默认标记 | ✅ | isDefault=True |
| F15 | scopeKey 维度隔离(lead 视图不串 opportunity 域;list 出参无 scopeKey 回显) | ✅ | lead names=['e2e-A-lead域视图'] / opportunity names=['e2e-A-改名视图', 'e2e-A-改名视图'] |
| F15 | delete 后消失 | ✅ | |
| F15 | B 的 seed 视图不受影响 | ✅ | B 视图 1 条 |
## 缺陷清单(P0/P1/P2 初判,只记录不修复)
(无新增缺陷)
## SKIP