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

6.4 KiB
Raw Blame History

变更日志

元数据

  • 需求编号014-4
  • 创建时间2026-01-27
  • 创建人AI Assistant
  • 版本号v1.0.0

变更概述

实现基于 Salesforce Tooling API 的 MetadataContainer 机制的元数据容器与原子性部署功能,包括容器生命周期管理、成员管理、异步部署请求、状态轮询与结果解析等核心功能,支持将多个 Apex 类、触发器、Visualforce 页面等成员的修改打包,一次性原子部署,确保代码依赖的一致性。

变更内容

新增功能

  • 实现元数据容器生命周期管理功能:

    • 创建容器(支持容器名称冲突处理)
    • 删除容器
    • 查询容器
    • 获取容器详情
  • 实现容器成员管理功能:

    • 添加成员到容器
    • 支持多种元数据类型ApexClassMember、ApexTriggerMember、ApexComponentMember、ApexPageMember
  • 实现异步部署请求功能:

    • 创建部署请求
    • 支持 CheckOnly 模式
    • 支持测试执行
  • 实现状态轮询与结果解析功能:

    • 查询部署状态
    • 轮询部署状态(支持超时和重试)
    • 获取部署详情
    • 解析编译错误
    • 解析测试结果

新增文档

新增代码文件

  • Domain4 个)

    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/domain/MetadataContainer.java - 元数据容器领域模型
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/domain/ContainerMember.java - 容器成员领域模型
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/domain/ContainerAsyncRequest.java - 容器异步请求领域模型
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/domain/DeployDetails.java - 部署详情领域模型
  • DTO7 个)

    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/CreateContainerRequest.java - 创建容器请求 DTO
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/AddMemberRequest.java - 添加成员请求 DTO
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/DeployContainerRequest.java - 部署容器请求 DTO
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/CheckStatusRequest.java - 检查状态请求 DTO
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/GetDeployDetailsRequest.java - 获取部署详情请求 DTO
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/DeploymentResult.java - 部署结果 DTO
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/dto/CompilationError.java - 编译错误 DTO
  • VO5 个)

    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/vo/ContainerVo.java - 容器视图对象
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/vo/MemberVo.java - 成员视图对象
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/vo/DeploymentStatusVo.java - 部署状态视图对象
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/vo/DeployDetailsVo.java - 部署详情视图对象
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/model/vo/CompilationErrorVo.java - 编译错误视图对象
  • Enum3 个)

    • datai-salesforce-tooling/src/main/java/com/datai/tooling/enums/MetadataType.java - 元数据类型枚举
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/enums/DeploymentState.java - 部署状态枚举
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/enums/DeploymentMode.java - 部署模式枚举
  • Exception2 个)

    • datai-salesforce-tooling/src/main/java/com/datai/tooling/exception/MetadataContainerException.java - 元数据容器异常
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/exception/DeploymentException.java - 部署异常
  • Manager2 个)

    • datai-salesforce-tooling/src/main/java/com/datai/tooling/manager/MetadataContainerManager.java - 元数据容器管理器
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/manager/DeploymentManager.java - 部署管理器
  • Service4 个)

    • datai-salesforce-tooling/src/main/java/com/datai/tooling/service/IMetadataContainerService.java - 元数据容器服务接口
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/service/impl/MetadataContainerServiceImpl.java - 元数据容器服务实现
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/service/IDeploymentService.java - 部署服务接口
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/service/impl/DeploymentServiceImpl.java - 部署服务实现
  • Controller2 个)

    • datai-salesforce-tooling/src/main/java/com/datai/tooling/controller/MetadataContainerController.java - 元数据容器控制器
    • datai-salesforce-tooling/src/main/java/com/datai/tooling/controller/DeploymentController.java - 部署控制器
  • 单元测试4 个)

    • datai-salesforce-tooling/src/test/java/com/datai/tooling/manager/MetadataContainerManagerTest.java - 元数据容器管理器测试
    • datai-salesforce-tooling/src/test/java/com/datai/tooling/manager/DeploymentManagerTest.java - 部署管理器测试
    • datai-salesforce-tooling/src/test/java/com/datai/tooling/service/impl/MetadataContainerServiceImplTest.java - 元数据容器服务测试
    • datai-salesforce-tooling/src/test/java/com/datai/tooling/service/impl/DeploymentServiceImplTest.java - 部署服务测试

影响范围

  • 模块:datai-salesforce-tooling
  • 功能:元数据容器与原子性部署
  • 文件31 个新文件4 个 Domain、7 个 DTO、5 个 VO、3 个 Enum、2 个 Exception、2 个 Manager、4 个 Service、2 个 Controller、4 个单元测试)

相关文档