datai/datai-scenes/datai-scene-salesforce/docs/sessions/2026-02-03-002-05-session.md

8.0 KiB
Raw Permalink Blame History

会话记录Flow 覆盖率功能

元数据

  • 需求编号002-05
  • 需求名称Flow 覆盖率
  • 会话日期2026-02-03
  • 会话状态:进行中

阶段记录

阶段 1需求定义

  • 状态:已完成
  • 时间2026-01-28
  • 文档Flow覆盖率需求文档
  • 关键决策
    • 使用 apex.jar 中的 FlowCoverageResult、FlowCoverageWarning 类
    • 固定使用 source org 类型
    • 数据存储到数据库
    • 提供 REST API 接口

阶段 2方案设计

  • 状态:已完成
  • 时间2026-02-03
  • 文档Flow覆盖率-设计
  • 关键决策
    • 采用分层架构Controller -> Service -> Mapper -> Entity
    • 使用 MyBatis-Plus 进行数据访问
    • 实现 5 个 RESTful API 端点
    • 覆盖率计算采用元素数量加权平均法
    • 支持按类型统计覆盖率

阶段 3方案决策

  • 状态:已完成
  • 时间2026-02-03
  • 文档Flow覆盖率技术选型-ADR
  • 关键决策
    • 决策 1:创建独立的 Flow 覆盖率表(不与代码覆盖率表合并)
    • 决策 2:独立 Service 层(不与代码覆盖率 Service 合并)
    • 决策 3:数据库索引 + 分页查询(不使用 Redis 缓存)
    • 决策 4:元素数量加权平均法计算覆盖率
    • 决策 5:独立权限标识 apex:flow-coverage:query
    • 决策 6:独立的 RESTful API 端点

对话记录

2026-02-03

用户:继续(进入阶段二)

助手 已完成 Flow 覆盖率功能的设计文档创建,包含:

  1. 架构设计(分层架构图)
  2. 数据模型2 张数据库表)
  3. 接口设计5 个 RESTful API
  4. 核心算法(覆盖率计算)
  5. 集成策略(与测试执行功能集成)

已更新:

  • 项目索引 index.md
  • 需求文档(添加设计文档引用)

待办事项

  • 创建设计文档
  • 更新项目索引
  • 更新需求文档
  • 进入阶段 3方案决策

生成的文档

文档类型 文档路径 状态
需求文档 docs/requirements/sub/2026-01-28-002-05-Flow覆盖率.md 已完成
设计文档 docs/design/2026-02-03-002-05-Flow覆盖率-设计.md 已完成
决策记录 docs/decisions/2026-02-03-002-05-ADR-Flow覆盖率技术选型.md 已完成
会话记录 docs/sessions/2026-02-03-002-05-session.md 进行中

关键决策记录

架构决策

  • 决策采用分层架构Controller -> Service -> Mapper -> Entity
  • 理由
    • 与代码覆盖率功能保持一致
    • 便于维护和扩展
    • 符合项目整体架构风格

数据模型决策

  • 决策:创建 2 张表datai_apex_flow_coverage、datai_apex_flow_coverage_warning
  • 理由
    • 独立存储 Flow 覆盖率数据
    • 支持灵活的查询和统计
    • 与代码覆盖率表结构相似,便于统一管理

API 设计决策

  • 决策:提供 5 个 RESTful API 端点
  • 理由
    • 覆盖所有核心功能
    • 支持多条件筛选和分页
    • 提供统计和聚合接口

2026-02-03阶段 3 完成)

用户:继续(进入阶段三)

助手 已完成 Flow 覆盖率功能的架构决策记录ADR创建包含 6 个关键决策:

  1. 数据库表策略:创建独立的 Flow 覆盖率表
  2. Service 层设计:独立 Service 层
  3. 查询性能优化:数据库索引 + 分页查询
  4. 覆盖率计算:元素数量加权平均法
  5. 权限控制:独立权限标识
  6. API 设计:独立的 RESTful API 端点

已更新:

  • 项目索引 index.md
  • 设计文档(添加决策记录引用)
  • 会话记录

阶段 4数据库结构生成

  • 状态:进行中(回退后)
  • 时间2026-02-03
  • 文档Flow覆盖率SQL脚本
  • 涉及数据库变更:是
  • 关键变更内容
    • 修改 datai_apex_flow_coverage 表,添加 num_elements_not_covered 字段
    • 为 Flow 覆盖率表添加复合索引test_result_id + type、test_result_id + namespace、type + coverage_percent
    • 创建 datai_apex_flow_coverage_warning 表存储 Flow 覆盖率警告
    • 创建统计视图 v_apex_flow_coverage_summaryv_apex_flow_coverage_by_type

回退记录

  • 回退时间2026-02-03
  • 回退原因发现之前的需求002-04 代码覆盖率)遗漏了 datai_apex_code_coverage_warning 表,需要统一修复数据库设计
  • 回退操作
    • 删除阶段 5 生成的提示词文档
    • 从索引中移除提示词链接
    • 从需求文档中移除提示词引用
  • 当前状态:回退到阶段 4需要补充创建代码覆盖率警告表

2026-02-03阶段 4 修复完成)

用户

  • 补充创建代码覆盖率警告表002-04 的遗漏)
  • 创建 datai_apex_code_coverage_warning 表
  • 更新 002-04 的 SQL 脚本
  • 检查并更新 Flow 覆盖率 SQL 脚本002-05
  • 确认是否需要调整

助手 已完成数据库结构修复,包含:

  1. 补充 002-04 代码覆盖率警告表

    • 创建 datai_apex_code_coverage_warning
    • 更新 SQL 脚本 2026-02-02-002-02-Apex代码编译和执行.sql
    • 添加外键关联到 datai_apex_test_result
    • 添加适当索引优化查询性能
    • 更新设计文档,添加 ApexCodeCoverageWarning 实体类
  2. 检查 002-05 Flow 覆盖率 SQL 脚本

    • datai_apex_flow_coverage_warning 表已正确创建
    • 字段设计符合 Salesforce API 结构
    • 无需调整

已更新:

  • SQL 脚本002-02
  • 设计文档002-02
  • 会话记录

下一步计划

  1. 进入阶段 3方案决策ADR 已完成
  2. 创建架构决策记录文档 已完成
  3. 进入阶段 4数据库结构SQL 脚本) 已完成
  4. 补充创建代码覆盖率警告表 已完成
  5. 重新进入阶段 5提示词生成
  6. 更新 Flow 覆盖率 SQL 脚本(如需要)
  7. 重新进入阶段 5提示词生成

阶段 5提示词生成

  • 状态:已完成
  • 时间2026-02-03
  • 文档Flow覆盖率提示词
  • 提示词内容摘要
    • 引用真源需求文档、设计文档、决策记录、SQL 脚本
    • 需求描述Flow 覆盖率查询、统计、警告查询等 6 大功能
    • 设计方案分层架构、MyBatis、PageHelper、加权平均算法
    • 输出格式Controller、Service、Mapper、Entity、DTO、VO、单元测试
    • 代码规范:命名规范、注释规范、异常处理、日志规范
    • 核心算法:总体覆盖率计算、按类型统计覆盖率
    • 注意事项:与测试执行功能集成、与代码覆盖率区别、性能优化

2026-02-03阶段 5 完成)

用户:继续(进入阶段五)

助手 已完成 Flow 覆盖率功能的提示词生成,包含:

  1. 完整的引用真源需求、设计、决策、SQL
  2. 详细的需求描述和设计方案
  3. 明确的输出格式要求(所有需要生成的文件)
  4. 严格的代码规范要求
  5. 核心算法实现示例
  6. 完整的测试要求和注意事项

已更新:

  • 项目索引 index.md
  • 需求文档(添加提示词引用)
  • 会话记录

下一步计划

  1. 进入阶段 3方案决策ADR 已完成
  2. 创建架构决策记录文档 已完成
  3. 进入阶段 4数据库结构SQL 脚本) 已完成
  4. 生成 SQL 脚本 已完成
  5. 进入阶段 5提示词生成 已完成
  6. 生成提示词文档 已完成
  7. 进入阶段 6代码生成

备注

  • 设计文档已完整定义技术方案
  • ADR 文档已记录所有关键架构决策
  • SQL 脚本已生成,包含表结构、索引和视图
  • 提示词文档已生成,包含完整的代码生成指导
  • 所有文档已更新索引
  • 等待用户确认进入下一阶段