121 lines
4.3 KiB
Markdown
121 lines
4.3 KiB
Markdown
# 需求文档
|
||
|
||
## 元数据
|
||
- 需求编号:001
|
||
- 创建时间:2026-01-28
|
||
- 创建人:AI Assistant
|
||
- 状态:进行中
|
||
- 优先级:高
|
||
|
||
## 需求概述
|
||
在 `datai-salesforce-partner` 模块中实现 Salesforce Partner API 的完整功能,提供对 Salesforce 源 org(Source Org)的数据操作能力,包括 CRUD 操作、批量操作、查询功能、描述功能、认证和会话管理、高级功能等。
|
||
|
||
## 目标
|
||
1. 实现 Partner API 的所有核心功能,提供完整的 Salesforce 数据操作能力
|
||
2. 集成 `datai-salesforce-auth` 模块的会话管理功能
|
||
3. 提供 REST API 接口,支持外部系统调用
|
||
4. 默认实现源 org(Source 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. **代码质量**: 代码符合项目规范,无编译错误和警告
|
||
|
||
## 相关文档
|
||
- [子需求索引](./sub/index.md) - 子需求文档索引
|
||
- [设计文档](../design/2026-01-28-001-PartnerAPI源org实现设计.md) - 待创建
|
||
- [决策记录](../decisions/adr/2026-01-28-001-ADR-PartnerAPI源org实现技术选型.md) - 待创建
|
||
- [变更日志](../changelog/2026-01-30-001-changelog.md) - 认证和会话管理变更日志
|
||
- [复盘文档](../retros/2026-01-30-001-retro.md) - 认证和会话管理复盘
|
||
- [API 文档](../api-docs/2026-01-30-001-api.md) - 认证和会话管理 API 文档
|
||
- [参考文档](../reference-code/sforce/docs/partner-module.md) - Partner API 功能说明
|