153 lines
7.1 KiB
Markdown
153 lines
7.1 KiB
Markdown
# 变更日志
|
||
|
||
## 元数据
|
||
- 需求编号:014-1
|
||
- 创建时间:2026-01-27
|
||
- 创建人:SSOT 架构师
|
||
- 版本号:v1.0.0
|
||
|
||
## 变更概述
|
||
实现 Apex 类与触发器基础管理功能,包括与 Salesforce Tooling API 的连接建立、Apex 类和触发器的 CRUD 操作、RESTful API 接口、异常处理机制和数据模型封装。
|
||
|
||
## 变更内容
|
||
|
||
### 新增功能
|
||
|
||
#### 1. Tooling API 连接管理
|
||
- 实现 Tooling 连接工厂 `ToolingConnectionFactory`
|
||
- 继承 `AbstractConnectionFactory<ToolingConnection>`
|
||
- 使用 `ConnectionProxy` 创建代理连接
|
||
- 复用 `SessionManager` 获取 Session 信息
|
||
- 支持 API 版本 61.0
|
||
|
||
#### 2. Apex 类基础管理
|
||
- **创建功能**:支持创建 Apex 类,包含类名和类体
|
||
- **查询功能**:
|
||
- 根据类 ID 查询 Apex 类详情
|
||
- 根据类名查询 Apex 类详情
|
||
- 分页查询 Apex 类列表
|
||
- **更新功能**:支持更新 Apex 类的类名和类体
|
||
- **删除功能**:支持根据类 ID 删除 Apex 类
|
||
|
||
#### 3. Apex 触发器基础管理
|
||
- **创建功能**:支持创建 Apex 触发器,包含触发器名称、对象、触发事件、状态等
|
||
- **查询功能**:
|
||
- 根据触发器 ID 查询 Apex 触发器详情
|
||
- 根据触发器名称查询 Apex 触发器详情
|
||
- 分页查询 Apex 触发器列表
|
||
- **更新功能**:支持更新 Apex 触发器的名称、对象、触发事件、状态等
|
||
- **删除功能**:支持根据触发器 ID 删除 Apex 触发器
|
||
|
||
#### 4. RESTful API 接口
|
||
- **Apex 类接口**(4 个):
|
||
- `POST /tooling/apex-class` - 创建 Apex 类
|
||
- `GET /tooling/apex-class/{id}` - 查询 Apex 类详情
|
||
- `PUT /tooling/apex-class` - 更新 Apex 类
|
||
- `DELETE /tooling/apex-class/{id}` - 删除 Apex 类
|
||
- **Apex 触发器接口**(4 个):
|
||
- `POST /tooling/apex-trigger` - 创建 Apex 触发器
|
||
- `GET /tooling/apex-trigger/{id}` - 查询 Apex 触发器详情
|
||
- `PUT /tooling/apex-trigger` - 更新 Apex 触发器
|
||
- `DELETE /tooling/apex-trigger/{id}` - 删除 Apex 触发器
|
||
|
||
#### 5. 异常处理机制
|
||
- `ToolingConnectionException` - Tooling 连接异常
|
||
- `ApexClassException` - Apex 类操作异常
|
||
- `ApexTriggerException` - Apex 触发器操作异常
|
||
|
||
#### 6. 数据模型封装
|
||
- **Domain 层**(2 个):
|
||
- `ApexClass` - Apex 类领域对象
|
||
- `ApexTrigger` - Apex 触发器领域对象
|
||
- **DTO 层**(6 个):
|
||
- `ApexClassDto` - Apex 类数据传输对象
|
||
- `ApexTriggerDto` - Apex 触发器数据传输对象
|
||
- `ApexClassCreateRequest` - Apex 类创建请求
|
||
- `ApexClassUpdateRequest` - Apex 类更新请求
|
||
- `ApexTriggerCreateRequest` - Apex 触发器创建请求
|
||
- `ApexTriggerUpdateRequest` - Apex 触发器更新请求
|
||
- **VO 层**(2 个):
|
||
- `ApexClassVo` - Apex 类视图对象
|
||
- `ApexTriggerVo` - Apex 触发器视图对象
|
||
|
||
#### 7. 单元测试
|
||
- `ToolingConnectionFactoryTest` - Tooling 连接工厂测试
|
||
- `ApexClassManagerTest` - Apex 类管理器测试
|
||
- `ApexTriggerManagerTest` - Apex 触发器管理器测试
|
||
|
||
### 新增文档
|
||
- [需求文档](../requirements/REQ-014-1.md) - Apex 类与触发器基础管理需求
|
||
- [设计文档](../design/2026-01-27-014-1-Apex类与触发器基础管理-设计.md) - Apex 类与触发器基础管理设计
|
||
- [决策记录](../decisions/adr/2026-01-27-014-1-ADR-ToolingAPI客户端代码生成方案.md) - Tooling API 客户端代码生成方案
|
||
- [提示词文档](../prompts/2026-01-27-014-1-prompt-Apex类与触发器基础管理.md) - Apex 类与触发器基础管理提示词
|
||
- [会话记录](../sessions/2026-01-27-014-1-session.md) - REQ-014-1 Apex 类与触发器基础管理会话记录
|
||
- [变更日志](./2026-01-27-014-1-changelog.md) - Apex 类与触发器基础管理变更日志
|
||
|
||
### 新增代码文件
|
||
|
||
#### Exception 层(3 个)
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/exception/ToolingConnectionException.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/exception/ApexClassException.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/exception/ApexTriggerException.java`
|
||
|
||
#### Model 层 - Domain(2 个)
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/domain/ApexClass.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/domain/ApexTrigger.java`
|
||
|
||
#### Model 层 - DTO(6 个)
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/ApexClassDto.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/ApexTriggerDto.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/ApexClassCreateRequest.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/ApexClassUpdateRequest.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/ApexTriggerCreateRequest.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/ApexTriggerUpdateRequest.java`
|
||
|
||
#### Model 层 - VO(2 个)
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/vo/ApexClassVo.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/model/vo/ApexTriggerVo.java`
|
||
|
||
#### Factory 层(1 个)
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/factory/impl/ToolingConnectionFactory.java`
|
||
|
||
#### Manager 层(2 个)
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/manager/ApexClassManager.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/manager/ApexTriggerManager.java`
|
||
|
||
#### Service 层(4 个)
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/service/IApexClassService.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/service/impl/ApexClassServiceImpl.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/service/IApexTriggerService.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/service/impl/ApexTriggerServiceImpl.java`
|
||
|
||
#### Controller 层(2 个)
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/controller/ApexClassController.java`
|
||
- `datai-salesforce-tooling/src/main/java/com/datai/tooling/controller/ApexTriggerController.java`
|
||
|
||
#### 单元测试(3 个)
|
||
- `datai-salesforce-tooling/src/test/java/com/datai/tooling/factory/impl/ToolingConnectionFactoryTest.java`
|
||
- `datai-salesforce-tooling/src/test/java/com/datai/tooling/manager/ApexClassManagerTest.java`
|
||
- `datai-salesforce-tooling/src/test/java/com/datai/tooling/manager/ApexTriggerManagerTest.java`
|
||
|
||
## 影响范围
|
||
|
||
### 模块级别
|
||
- **新增模块**:`datai-salesforce-tooling`
|
||
- **影响模块**:`datai-salesforce-integration`(复用连接工厂和会话管理)
|
||
|
||
### 文件级别
|
||
- **新增文件**:20 个代码文件
|
||
- **新增文档**:6 个文档文件
|
||
|
||
### 功能级别
|
||
- **新增功能**:Apex 类与触发器基础管理
|
||
- **新增接口**:8 个 RESTful API 接口
|
||
- **新增异常**:3 个自定义异常类
|
||
|
||
## 相关文档
|
||
- [需求文档](../requirements/REQ-014-1.md)
|
||
- [设计文档](../design/2026-01-27-014-1-Apex类与触发器基础管理-设计.md)
|
||
- [决策记录](../decisions/adr/2026-01-27-014-1-ADR-ToolingAPI客户端代码生成方案.md)
|
||
- [提示词文档](../prompts/2026-01-27-014-1-prompt-Apex类与触发器基础管理.md)
|
||
- [会话记录](../sessions/2026-01-27-014-1-session.md)
|
||
- [主索引](../index.md)
|