datai/datai-scenes/datai-scene-salesforce/docs/sessions/2026-01-28-002-session.md

145 lines
8.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 会话记录
## 元数据
- 需求编号002
- 开始时间2026-01-28
- 结束时间2026-01-28
- 当前阶段:阶段 1需求定义与入库
## 需求澄清记录
### 原始需求
严格遵守项目规则,现在我有个需求,想将 `d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\docs\reference-code\sforce\docs\apex-module.md` 中的功能结合当前模块的实际情况,在 `d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\datai-salesforce-apex` 模块下进行实现默认实现源org类型
### 第一轮澄清
**AI 提问**
1. 这个功能的核心目标是什么?
2. 这个功能涉及哪些业务场景?
3. 这个功能需要支持哪些用户角色?
4. 功能边界:根据 `apex-module.md` 文档Apex API 包含以下功能模块您确认全部实现吗Apex 代码编译和执行、测试执行、代码覆盖率、Flow 覆盖率、日志记录、WSDL 转换、编译结果)
5. 使用场景:这个模块的主要使用场景是什么?
6. 用户角色:谁会使用这个模块?
7. 依赖包:我看到 `datai-salesforce-apex/src/main/resources/lib/apex.jar` 已经存在,这个是 Salesforce 官方的 Apex API 客户端吗?我们需要基于这个包进行封装吗?
8. 认证集成:与 Partner API 模块类似,是否也需要使用 `datai-salesforce-auth` 的 SessionManager 管理会话?
9. 模块设计:是否需要独立的 Controller 层?还是只提供 Service 层?是否需要数据库表?
10. 异常处理:是否需要自定义异常类?还是使用 `datai-salesforce-common` 模块中的现有异常?
11. 日志记录:是否需要记录 API 调用日志?还是暂不考虑?
12. 性能相关:连接、并发、缓存等性能相关是否暂不考虑?
**用户回答**
1、在 datai-salesforce-apex 模块中实现 Apex API 的全部功能,对于源 orgSource Org
2、全部实现
3、主要使用场景 `d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\docs\reference-code\sforce\docs\apex-module.md` 文档中所有的场景
4、也需要使用 datai-salesforce-auth 的 SessionManager 管理会话
5、需要独立的 Controller 层
6、需要数据库表存储编译结果、测试结果等实际当前模块中需要储存下来的数据创建个表进行存储
7、使用 datai-salesforce-common 模块中的现有异常,没有则自定义
8、日志、性能相关暂不考虑
### 澄清总结
- **功能范围**:实现 Apex API 的所有功能模块Apex 代码编译和执行、测试执行、代码覆盖率、Flow 覆盖率、日志记录、WSDL 转换、编译结果、连接管理)
- **业务流程**:用户调用 REST API → Service 层处理 → 使用 apex.jar 调用 Salesforce API → 存储结果到数据库 → 返回结果
- **数据交互**:需要创建数据库表存储编译结果、测试结果等数据
- **性能要求**:暂不考虑连接池、并发控制、缓存等性能优化
- **安全要求**:集成 `datai-salesforce-auth` 模块的会话管理,使用 SessionManager 获取 Session ID 和 Server URL
- **兼容性要求**:支持 Salesforce Apex API v65.0,兼容 Java 22 和 Spring Boot
- **数据存储要求**:需要创建表存储编译结果、测试结果等数据,支持历史记录查询和统计分析
## 需求描述
`datai-salesforce-apex` 模块中实现 Salesforce Apex API 的完整功能,提供对 Salesforce 源 orgSource Org的 Apex 代码编译、执行和测试能力包括代码编译、测试执行、代码覆盖率、Flow 覆盖率、日志记录、WSDL 转换等功能。
## 执行阶段
### 阶段 1需求定义与入库
- 状态:已完成
- 生成文档:[需求文档](../requirements/2026-01-28-002-ApexAPI源org实现.md)
- 关键决策:
- 实现所有 Apex API 功能模块
- 使用 SessionManager 管理会话
- 提供 Service 层和 Controller 层
- 创建数据库表存储编译结果、测试结果等数据
- 直接使用 apex.jar 中的现有类
- 优先使用 datai-salesforce-common 模块中的现有异常
- 暂不考虑性能优化(连接池、并发控制、缓存)
### 阶段 2方案设计
- 状态:未开始
### 阶段 3方案决策
- 状态:未开始
### 阶段 4数据库结构
- 状态:未开始
### 阶段 5提示词生成
- 状态:未开始
### 阶段 6代码生成
- 状态:未开始
### 阶段 7会话记录
- 状态:进行中
### 阶段 8变更日志
- 状态:未开始
### 阶段 9复盘与接口
- 状态:未开始
### 阶段 10代码提交
- 状态:未开始
## 对话记录
**用户**:严格遵守项目规则,现在我有个需求,想将 `d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\docs\reference-code\sforce\docs\apex-module.md` 中的功能结合当前模块的实际情况,在 `d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\datai-salesforce-apex` 模块下进行实现默认实现源org类型
**AI**:我理解您的需求。在创建需求文档前,我需要先澄清一些问题:
**第一轮澄清**
1. 这个功能的核心目标是什么?
2. 这个功能涉及哪些业务场景?
3. 这个功能需要支持哪些用户角色?
4. 功能边界:根据 `apex-module.md` 文档Apex API 包含以下功能模块您确认全部实现吗Apex 代码编译和执行、测试执行、代码覆盖率、Flow 覆盖率、日志记录、WSDL 转换、编译结果)
5. 使用场景:这个模块的主要使用场景是什么?
6. 用户角色:谁会使用这个模块?
7. 依赖包:我看到 `datai-salesforce-apex/src/main/resources/lib/apex.jar` 已经存在,这个是 Salesforce 官方的 Apex API 客户端吗?我们需要基于这个包进行封装吗?
8. 认证集成:与 Partner API 模块类似,是否也需要使用 `datai-salesforce-auth` 的 SessionManager 管理会话?
9. 模块设计:是否需要独立的 Controller 层?还是只提供 Service 层?是否需要数据库表?
10. 异常处理:是否需要自定义异常类?还是使用 `datai-salesforce-common` 模块中的现有异常?
11. 日志记录:是否需要记录 API 调用日志?还是暂不考虑?
12. 性能相关:连接、并发、缓存等性能相关是否暂不考虑?
**用户**
1、在 datai-salesforce-apex 模块中实现 Apex API 的全部功能,对于源 orgSource Org
2、全部实现
3、主要使用场景 `d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\docs\reference-code\sforce\docs\apex-module.md` 文档中所有的场景
4、也需要使用 datai-salesforce-auth 的 SessionManager 管理会话
5、需要独立的 Controller 层
6、需要数据库表存储编译结果、测试结果等实际当前模块中需要储存下来的数据创建个表进行存储
7、使用 datai-salesforce-common 模块中的现有异常,没有则自定义
8、日志、性能相关暂不考虑
**AI**:好的,感谢您的详细回答。让我总结一下需求:
**澄清总结**
- **功能范围**:实现 Apex API 的所有功能模块Apex 代码编译和执行、测试执行、代码覆盖率、Flow 覆盖率、日志记录、WSDL 转换、编译结果、连接管理)
- **使用场景**CI/CD 集成(编译 Apex 代码、运行单元测试、检查代码覆盖率、验证测试结果)、代码质量检查(检查代码覆盖率是否达到要求、识别未测试的代码路径、生成测试报告)、动态代码执行(执行匿名 Apex 代码进行调试、运行临时脚本、执行管理任务、Flow 测试(测试 Flow 的执行、检查 Flow 覆盖率、验证 Flow 逻辑)
- **认证集成**:使用 `datai-salesforce-auth``SessionManager` 管理会话,通过 SessionManager 获取 Session ID 和 Server URL
- **模块设计**:提供 Service 层和 Controller 层REST API默认实现 source org 类型(源 org需要数据库表存储编译结果、测试结果等数据
- **技术实现**:直接使用 `apex.jar` 中的现有类Connector、SoapConnection、RunTestsRequest、ExecuteAnonymousResult 等),不进行二次封装
- **异常处理**:优先使用 `datai-salesforce-common` 模块中的现有异常,没有的话就自定义
- **暂不考虑的功能**:日志记录、连接池、并发控制、缓存策略、限流
- **数据存储要求**:需要创建表存储编译结果、测试结果等数据,支持历史记录查询和统计分析
还有其他需要补充的吗?
**用户**:对,创建需求文档吧
**AI**:好的,我现在开始创建需求文档。
## 生成的文档
- [需求文档](../requirements/2026-01-28-002-ApexAPI源org实现.md)
## 回退记录