datai/docs/archive/changelog/2026-01-27-014-1-changelog.md

7.1 KiB
Raw Blame History

变更日志

元数据

  • 需求编号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 触发器管理器测试

新增文档

新增代码文件

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 层 - Domain2 个)

  • 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 层 - DTO6 个)

  • 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 层 - VO2 个)

  • 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 个自定义异常类

相关文档