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

10 KiB
Raw Blame History

会话记录

元数据

  • 需求编号003
  • 开始时间2026-01-28
  • 结束时间2026-01-28
  • 当前阶段:阶段 1需求定义与入库

需求澄清记录

原始需求

严格遵守项目规则,现在我有个需求,想将 d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\docs\reference-code\sforce\docs\metadata-module.md 中的功能结合当前模块的实际情况,在 d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\datai-salesforce-metadata 模块下进行实现默认实现源org类型

第一轮澄清

AI 提问

  1. 这个功能的核心目标是什么?
  2. 这个功能涉及哪些业务场景?
  3. 这个功能需要支持哪些用户角色?
  4. 功能边界:根据 metadata-module.md 文档Metadata API 包含大量功能(元数据类型定义、部署操作、异步操作、删除操作、检索操作、检查部署状态、描述元数据、列出元数据等)。您希望实现所有功能?还是优先实现核心功能?哪些功能是必须实现的?
  5. 使用场景:这个模块的主要使用场景是什么?
  6. 用户角色:谁会使用这个模块?
  7. 现有实现:我看到 datai-salesforce-metadata 模块已经有一些 Mapper 文件DataiMetaComponentMapper、DataiMetaDeployHistoryMapper 等),说明已经有部分实现。新的需求是完善现有功能?还是重新实现所有功能?还是基于现有实现进行扩展?
  8. 依赖包:我看到 datai-salesforce-metadata/src/main/resources/lib/metadata.jar 已经存在,这个是 Salesforce 官方的 Metadata API 客户端吗?我们需要基于这个包进行封装吗?
  9. 认证集成:与 Partner API、Apex API 模块类似,是否也需要使用 datai-salesforce-auth 的 SessionManager 管理会话?
  10. 模块设计:是否需要独立的 Controller 层?还是只提供 Service 层?是否需要数据库表?
  11. 异常处理:是否需要自定义异常类?还是使用 datai-salesforce-common 模块中的现有异常?
  12. 日志记录:是否需要记录 API 调用日志?还是暂不考虑?
  13. 连接管理:是否需要连接池?还是每次调用都创建新连接?
  14. 并发控制:是否需要限流?还是暂不考虑?
  15. 缓存策略:是否需要缓存元数据描述结果?

用户回答 1、实现Metadata API的全部功能对于源 orgSource Org 2、Mapper 文件全部删除,忽略,重新实现所有功能 3、模块主要场景就是 d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\docs\reference-code\sforce\docs\metadata-module.md 文档中的主要场景 4、需要使用 datai-salesforce-auth 的 SessionManager 管理会话 5、需要独立的 Controller 层 6、需要数据库表存储编译结果、测试结果等实际当前模块中需要储存下来的数据创建个表进行存储 7、使用 datai-salesforce-common 模块中的现有异常,没有则自定义 8、日志、性能相关暂不考虑

澄清总结

  • 功能范围:实现 Metadata API 的所有功能模块(元数据类型定义、部署操作、异步操作、删除操作、检索操作、检查部署状态、描述元数据、列出元数据)
  • 业务流程:用户调用 REST API → Service 层处理 → 使用 metadata.jar 调用 Salesforce API → 存储结果到数据库 → 返回结果
  • 数据交互:需要创建数据库表存储部署结果、检索结果等数据
  • 性能要求:暂不考虑连接池、并发控制、缓存等性能优化,异步操作需要轮询检查状态
  • 安全要求:集成 datai-salesforce-auth 模块的会话管理,使用 SessionManager 获取 Session ID 和 Server URL
  • 兼容性要求:支持 Salesforce Metadata API v65.0,兼容 Java 22 和 Spring Boot
  • 数据存储要求:需要创建表存储部署结果、检索结果等数据,支持历史记录查询和统计分析
  • 代码重构:删除现有 Mapper 文件,重新实现所有功能

需求描述

datai-salesforce-metadata 模块中实现 Salesforce Metadata API 的完整功能,提供对 Salesforce 源 orgSource Org的元数据操作能力包括元数据类型定义、部署操作、异步操作、删除操作、检索操作、检查部署状态、描述元数据、列出元数据等功能。

执行阶段

阶段 1需求定义与入库

  • 状态:已完成
  • 生成文档:需求文档
  • 关键决策:
    • 实现所有 Metadata API 功能模块
    • 使用 SessionManager 管理会话
    • 提供 Service 层和 Controller 层
    • 创建数据库表存储部署结果、检索结果等数据
    • 删除现有 Mapper 文件,重新实现所有功能
    • 直接使用 metadata.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\metadata-module.md 中的功能结合当前模块的实际情况,在 d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\datai-salesforce-metadata 模块下进行实现默认实现源org类型

AI:我理解您的需求。在创建需求文档前,我需要先澄清一些问题:

第一轮澄清

  1. 这个功能的核心目标是什么?
  2. 这个功能涉及哪些业务场景?
  3. 这个功能需要支持哪些用户角色?
  4. 功能边界:根据 metadata-module.md 文档Metadata API 包含大量功能(元数据类型定义、部署操作、异步操作、删除操作、检索操作、检查部署状态、描述元数据、列出元数据等)。您希望实现所有功能?还是优先实现核心功能?哪些功能是必须实现的?
  5. 使用场景:这个模块的主要使用场景是什么?
  6. 用户角色:谁会使用这个模块?
  7. 现有实现:我看到 datai-salesforce-metadata 模块已经有一些 Mapper 文件DataiMetaComponentMapper、DataiMetaDeployHistoryMapper 等),说明已经有部分实现。新的需求是完善现有功能?还是重新实现所有功能?还是基于现有实现进行扩展?
  8. 依赖包:我看到 datai-salesforce-metadata/src/main/resources/lib/metadata.jar 已经存在,这个是 Salesforce 官方的 Metadata API 客户端吗?我们需要基于这个包进行封装吗?
  9. 认证集成:与 Partner API、Apex API 模块类似,是否也需要使用 datai-salesforce-auth 的 SessionManager 管理会话?
  10. 模块设计:是否需要独立的 Controller 层?还是只提供 Service 层?是否需要数据库表?
  11. 异常处理:是否需要自定义异常类?还是使用 datai-salesforce-common 模块中的现有异常?
  12. 日志记录:是否需要记录 API 调用日志?还是暂不考虑?
  13. 连接管理:是否需要连接池?还是每次调用都创建新连接?
  14. 并发控制:是否需要限流?还是暂不考虑?
  15. 缓存策略:是否需要缓存元数据描述结果?

用户 1、实现Metadata API的全部功能对于源 orgSource Org 2、Mapper 文件全部删除,忽略,重新实现所有功能 3、模块主要场景就是 d:\idea_demo\datai\datai-scenes\datai-scene-salesforce\docs\reference-code\sforce\docs\metadata-module.md 文档中的主要场景 4、需要使用 datai-salesforce-auth 的 SessionManager 管理会话 5、需要独立的 Controller 层 6、需要数据库表存储编译结果、测试结果等实际当前模块中需要储存下来的数据创建个表进行存储 7、使用 datai-salesforce-common 模块中的现有异常,没有则自定义 8、日志、性能相关暂不考虑

AI:好的,感谢您的详细回答。让我总结一下需求:

澄清总结

  • 功能范围:实现 Metadata API 的所有功能模块(元数据类型定义、部署操作、异步操作、删除操作、检索操作、检查部署状态、描述元数据、列出元数据)
  • 使用场景:元数据部署(部署 Apex 类、触发器、页面、自定义对象等、元数据检索检索组织中的元数据、导出元数据到本地、CI/CD 集成(自动化部署流程、持续集成测试、环境间元数据同步)、元数据管理(批量更新元数据、删除不需要的组件)、分析和报告(创建和更新报告、管理仪表板)
  • 认证集成:使用 datai-salesforce-authSessionManager 管理会话,通过 SessionManager 获取 Session ID 和 Server URL
  • 模块设计:提供 Service 层和 Controller 层REST API默认实现 source org 类型(源 org需要数据库表存储部署结果、检索结果等数据删除现有 Mapper 文件,重新实现所有功能
  • 技术实现:直接使用 metadata.jar 中的现有类Metadata、CustomObject、CustomField、DeployOptions、DeployResult 等),不进行二次封装
  • 异常处理:优先使用 datai-salesforce-common 模块中的现有异常,没有的话就自定义
  • 暂不考虑的功能:日志记录、连接池、并发控制、缓存策略、限流
  • 数据存储要求:需要创建表存储部署结果、检索结果等数据,支持历史记录查询和统计分析

还有其他需要补充的吗?

用户:没有,创建需求文档

AI:好的,我现在开始创建需求文档。

生成的文档

回退记录