datai/datai-scenes/datai-scene-salesforce/docs/requirements/2026-01-28-001-PartnerAPI源org实现.md

4.3 KiB
Raw Blame History

需求文档

元数据

  • 需求编号001
  • 创建时间2026-01-28
  • 创建人AI Assistant
  • 状态:进行中
  • 优先级:高

需求概述

datai-salesforce-partner 模块中实现 Salesforce Partner API 的完整功能,提供对 Salesforce 源 orgSource Org的数据操作能力包括 CRUD 操作、批量操作、查询功能、描述功能、认证和会话管理、高级功能等。

目标

  1. 实现 Partner API 的所有核心功能,提供完整的 Salesforce 数据操作能力
  2. 集成 datai-salesforce-auth 模块的会话管理功能
  3. 提供 REST API 接口,支持外部系统调用
  4. 默认实现源 orgSource Org类型的数据操作

功能需求

核心功能

1. CRUD 操作

  • Create: 创建新记录
  • Retrieve: 检索单个记录
  • Update: 更新记录
  • Delete: 删除记录
  • Upsert: 更新或插入记录
  • Merge: 合并记录

2. 批量操作

  • Create 批量: 批量创建记录
  • Update 批量: 批量更新记录
  • Delete 批量: 批量删除记录
  • Upsert 批量: 批量更新或插入记录

3. 查询功能

  • Query: 执行 SOQL 查询
  • QueryAll: 查询所有记录(包括已删除的)
  • QueryMore: 获取查询结果的下一页
  • Search: 执行 SOSL 搜索

4. 描述功能

  • DescribeGlobal: 描述所有可用对象
  • DescribeSObject: 描述特定对象
  • DescribeSObjects: 描述多个对象
  • DescribeLayout: 描述对象布局
  • DescribeTabs: 描述标签页
  • DescribeQuickActions: 描述快速操作

5. 认证和会话

  • Login: 用户登录(集成 SessionManager
  • Logout: 用户登出
  • ChangeOwnPassword: 修改自己的密码
  • SessionHeader: 会话头信息管理

6. 高级功能

  • ConvertLead: 转换线索
  • EmptyRecycleBin: 清空回收站
  • ProcessSubmitRequest: 处理提交请求
  • GetUserInfo: 获取用户信息
  • GetServerTimestamp: 获取服务器时间戳

次要功能

  • SOAP 头部设置QueryOptions、AssignmentRuleHeader、EmailHeader 等)
  • 错误处理和异常管理
  • 结果封装和返回

非功能需求

性能要求

  • 暂不考虑连接池、并发控制、缓存等性能优化
  • 每次调用都创建新连接

安全要求

  • 集成 datai-salesforce-auth 模块的会话管理
  • 使用 SessionManager 获取 Session ID 和 Server URL
  • 优先使用 datai-salesforce-common 模块中的现有异常

兼容性要求

  • 支持 Salesforce Partner API v65.0
  • 兼容 Java 22
  • 兼容 Spring Boot 框架

技术约束

必须使用的框架或库

  • partner.jar: Salesforce Partner API 客户端Connector、PartnerConnection、SObject、QueryResult、SaveResult 等)
  • datai-salesforce-auth: 使用 SessionManager 管理会话
  • datai-salesforce-common: 使用现有异常类

必须遵循的设计模式

  • Service 层模式:提供业务逻辑封装
  • Controller 层模式:提供 REST API 接口
  • 直接使用 partner.jar 中的现有类,不进行不必要的二次封装

必须继承的基类

  • 无特殊基类要求

自定义类原则

  • 优先使用 partner.jar 中的现有类
  • 如果确实有需求需要使用自定义类,则新增
  • 新增前需要严格判断必要性

成功标准

  1. 功能完整性: 所有 Partner API 核心功能都已实现并通过测试
  2. 认证集成: 成功集成 SessionManager能够获取 Session ID 和 Server URL
  3. API 接口: 提供 REST API 接口,支持外部系统调用
  4. 异常处理: 正确处理各种异常情况,使用合适的异常类
  5. 代码质量: 代码符合项目规范,无编译错误和警告

相关文档