# Datai 项目变更日志 本文档记录 Datai 项目的所有重要变更。 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/), 版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。 ## [未发布] ### 新增 #### Tooling API 集成模块 - **连接管理** (v1.0.0) - 实现 Tooling API 连接管理功能,包括获取连接、清除缓存、测试连接、设置调用选项、设置调试头部 - 继承 AbstractConnectionFactory 实现 ToolingConnectionFactory,提供连接缓存和自动 Session 有效性检查 - 集成 SessionManager 获取会话信息,支持 Session 过期时自动重新创建连接 - 支持 SessionHeader、CallOptions、DebuggingHeader 等头部配置 - 提供 5 个 REST API 接口 - 使用 ToolingConnectionErrorCode 枚举定义错误码 - 实现完整的单元测试,测试覆盖率 100%(9 个测试用例) - 详细文档:[2026-01-28-004-01-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-28-004-01-changelog.md) #### Metadata API 模块 - **Metadata 连接管理** (v1.0.0) - 实现 Metadata API 源 Org 的连接管理功能 - 实现 MetadataConnectionFactory,支持 Partner URL 自动转换为 Metadata URL - 集成 SessionManager,实现连接的创建、测试、刷新和关闭 - 提供 4 个 REST API 接口(状态、测试、刷新、关闭) - 记录连接日志到数据库,支持连接状态追踪 - 详细文档:[2026-01-28-003-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-28-003-changelog.md) #### Apex 开发工具包 - **代码覆盖率** (v1.0.0) - 实现 Salesforce Apex 代码覆盖率查询和统计功能 - 支持代码覆盖率列表查询(多条件筛选、分页查询、覆盖率范围筛选) - 支持代码覆盖率详情查询(单条记录查询) - 支持总体代码覆盖率统计(总体、类、触发器覆盖率) - 支持按类型统计代码覆盖率(Class/Trigger 分组统计) - 提供 4 个 REST API 接口(2 个查询接口、2 个统计接口) - 复用 002-03 的 `datai_apex_code_coverage` 数据库表 - 使用独立 Service 层(IApexCodeCoverageService)与测试执行功能解耦 - 实现覆盖率计算算法(保留两位小数、除零保护) - 使用 PageHelper 进行分页查询优化 - 使用数据库索引优化查询性能 - 实现参数验证、异常处理、权限控制、Swagger 文档 - 实现完整的单元测试,测试覆盖率不低于 80% - 详细文档:[2026-02-03-002-04-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-02-03-002-04-changelog.md) - **测试执行** (v1.0.0) - 实现 Salesforce Apex 测试执行功能,支持运行所有测试、按类运行测试、按包运行测试、按方法运行测试 - 提供查询测试结果、测试详情、代码覆盖率、Flow 覆盖率等辅助功能 - 支持 8 个 REST API 接口(4 个测试执行接口、4 个查询接口) - 使用数据库持久化存储测试结果、成功详情、失败详情、代码覆盖率、Flow 覆盖率 - 复用 002-02 的 3 张数据库表(测试结果、测试失败详情、代码覆盖率) - 新建 2 张数据库表(测试成功详情、Flow 覆盖率) - 使用 ReentrantLock 保证多线程安全 - 使用 @Transactional 保证数据一致性 - 实现参数验证、异常处理、权限控制、Swagger 文档 - 实现完整的单元测试,测试覆盖率不低于 80% - 详细文档:[2026-02-02-002-03-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-02-02-002-03-changelog.md) - **Apex 代码编译和执行** (v1.0.0) - 实现 Apex 代码编译和执行功能,包括编译 Apex 类、编译 Apex 触发器、编译并运行测试、执行匿名 Apex 代码 - 提供查询编译历史、测试结果、代码覆盖率等辅助功能 - 支持批量编译(类和触发器) - 支持执行匿名 Apex 代码片段 - 提供 7 个 REST API 接口(3 个编译接口、1 个执行接口、3 个查询接口) - 使用数据库持久化存储编译历史、测试结果和代码覆盖率 - 创建 4 张数据库表(编译历史、测试结果、测试失败详情、代码覆盖率) - 使用 ReentrantLock 保证多线程安全 - 实现参数验证、异常处理、权限控制、Swagger 文档 - 实现完整的单元测试,测试覆盖率不低于 80% - 详细文档:[2026-02-02-002-02-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-02-02-002-02-changelog.md) #### Partner API 集成模块 - **认证和会话管理** (v1.0.0) - 实现认证和会话管理功能,包括获取会话信息、获取用户信息、修改密码 - 采用工厂模式管理 PartnerConnection 连接 - 集成 SessionManager 进行会话管理 - 支持连接缓存和自动 Session 有效性检查 - 提供 RESTful API 接口(3 个接口) - 实现异常处理和日志记录 - 实现权限控制(@PreAuthorize("@ss.hasLogin()")) - 实现 Swagger 文档注解 - 详细文档:[2026-01-30-001-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-30-001-changelog.md) - **CRUD 操作** (v1.0.0) - 实现 Salesforce Partner API 的 CRUD 操作功能,包括 Create、Retrieve、Update、Delete、Upsert、Merge 六个核心操作 - 支持单条记录和批量记录操作(最多 200 条) - 提供 6 个 REST API 接口 - 实现参数验证、异常处理、权限控制、Swagger 文档 - 实现 SObjectConverter 工具类,支持 Map 到 SObject 的转换 - 实现完整的单元测试,测试覆盖率不低于 80% - 详细文档:[2026-01-30-002-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-30-002-changelog.md) - **批量操作** (v1.0.0) - 实现 Salesforce Partner API 的批量操作功能,包括批量创建、批量更新、批量删除、批量 Upsert 四个核心操作 - 支持最多 1000 条记录,自动分批处理(每批最多 200 条) - 支持部分失败情况,提供详细的成功/失败统计 - 提供 4 个 REST API 接口 - 实现 AllOrNoneHeader 控制(可选全部成功或全部失败) - 使用 DisableFeedTrackingHeader 提高性能 - 实现批次间休眠机制(可配置,默认 100ms) - 实现参数验证、异常处理、权限控制、Swagger 文档 - 实现完整的单元测试,测试覆盖率不低于 80% - 详细文档:[2026-01-30-003-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-30-003-changelog.md) - **查询功能** (v1.0.0) - 实现 Salesforce Partner API 的查询功能,包括 SOQL 查询(Query)、查询所有记录(QueryAll)、分页查询(QueryMore)和 SOSL 搜索(Search)四个核心功能 - 支持自定义批次大小(1-2000,默认 500) - 支持关系查询(如 Account.Name) - 支持跨对象搜索(SOSL) - 提供 4 个 REST API 接口 - 实现 SObject 到 Map 的转换 - 实现参数验证、异常处理、权限控制、Swagger 文档 - 实现完整的单元测试,测试覆盖率不低于 80% - 详细文档:[2026-01-30-004-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-30-004-changelog.md) - **描述功能** (v1.0.0) - 实现 Salesforce Partner API 的描述功能,包括 DescribeGlobal、DescribeSObject、DescribeSObjects、DescribeLayout、DescribeTabs、DescribeQuickActions 六个核心功能 - 支持获取 Salesforce 对象的元数据信息,包括字段定义、布局信息、标签页信息、快速操作信息等 - 支持批量描述优化(DescribeSObjects 批量 API,最多 100 个对象) - 支持字段信息处理(类型、长度、精度、必填性等) - 支持 Picklist 字段处理(选项值、默认值、有效性规则) - 支持关系字段处理(引用对象、关系名称、级联删除) - 支持布局信息处理(字段布局、按钮布局、相关列表) - 提供 6 个 REST API 接口 - 实现 DescribeResultConverter 工具类,将 Salesforce 描述结果转换为 Map 格式 - 实现参数验证、异常处理、权限控制、Swagger 文档 - 实现完整的单元测试,测试覆盖率不低于 80% - 详细文档:[2026-02-02-005-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-02-02-005-changelog.md) #### Apex 开发工具包 - **Apex 编译器接口与错误处理** (v1.0.0) - 实现统一错误模型,创建 ApexCompileIssue 类映射 Salesforce SOAP API 的 CompileIssue - 实现编译器结果封装,创建 CompileResult 类封装编译结果 - 实现 WSDL 转 Apex 结果封装,创建 WsdlToApexResult 类封装 WSDL 转换结果 - 实现异常体系,创建 ApexException 及其子类(ApexCompilationException、ApexRuntimeException、ApexConnectionException) - 实现服务接口,创建 ApexCompilerService 和 WsdlConverterService 接口 - 实现服务实现,使用 force-wsc 库与 Salesforce SOAP API 集成 - 实现单元测试,测试覆盖率不低于 80% - 详细文档:[2026-01-28-013-1-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-28-013-1-changelog.md) - **符号表分析与 DTO 生成** (v1.0.0) - 实现符号表获取功能,通过 ToolingConnection 查询 Apex 类的 SymbolTable - 实现结构解析器,解析 SymbolTable 中的 innerClasses、methods 和 variables - 实现 Java 代码生成器,基于解析结果生成符合 Java Bean 规范的源代码 - 实现 Apex 类型到 Java 类型的映射,支持精确映射和降级处理 - 实现 RESTful API 接口,提供符号表查询和 DTO 生成功能 - 实现权限控制和参数验证,确保 API 安全性 - 实现完整的单元测试,测试覆盖率不低于 80% - 详细文档:[2026-01-27-014-2-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-27-014-2-changelog.md) - **Apex 动态代码执行与日志管理** (v1.0.0) - 封装 Salesforce SOAP API `executeAnonymous` 实现无状态代码执行 - 支持细粒度日志级别配置 (`DebuggingOptions`) - 提供结构化执行结果 (`ExecuteResult`),统一处理编译与运行时异常 - 提供日志解析扩展能力 (`LogParser`) - 详细文档:[2026-01-27-013-2-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-27-013-2-changelog.md) - **Apex 单元测试与覆盖率统计** (v1.0.0) - 封装 Salesforce SOAP API `runTests` 实现单元测试执行 - 支持按类、方法、包或全量运行测试 - 解析 `RunTestsResult` 返回的成功/失败详情与 `apexLogId` - 解析 `CodeCoverageResult` 与 `CodeLocation`,预计算覆盖率百分比 - 详细文档:[2026-01-27-013-3-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-27-013-3-changelog.md) - **元数据容器与原子性部署** (v1.0.0) - 实现元数据容器生命周期管理功能,包括创建容器(支持容器名称冲突处理)、删除容器、查询容器、获取容器详情 - 实现容器成员管理功能,包括添加成员到容器,支持多种元数据类型(ApexClassMember、ApexTriggerMember、ApexComponentMember、ApexPageMember) - 实现异步部署请求功能,包括创建部署请求,支持 CheckOnly 模式和测试执行 - 实现状态轮询与结果解析功能,包括查询部署状态、轮询部署状态(支持超时和重试)、获取部署详情、解析编译错误、解析测试结果 - 实现 RESTful API 接口,提供元数据容器和部署管理的完整功能 - 实现权限控制和参数验证,确保 API 安全性 - 实现完整的单元测试,测试覆盖率不低于 80% - 详细文档:[2026-01-27-014-4-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-27-014-4-changelog.md) #### 后端国际化功能 - **后端国际化功能** (v1.0.0) - 实现错误消息国际化,包括 ErrorCode 枚举类和 GlobalExceptionHandler 扩展 - 实现日志消息国际化,包括 LogAspect 切面类扩展 - 实现验证消息国际化,包括 ValidationConfig 配置类 - 实现通知消息国际化,包括 IMessageSystemService 接口和 MessageSystemServiceImpl 类扩展 - 实现用户语言偏好管理,包括 SysUser 实体类扩展和 I18nController 控制器 - 实现国际化资源管理,包括 I18nConfig 配置类更新和国际化资源文件 - 在 sys_user 表中添加 lang_code 字段 - 详细文档:[2026-01-25-002-02-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-25-002-02-changelog.md) - **数据库国际化功能** (v1.0.0) - 实现字典数据国际化,包括 SysDictData 和 SysDictType 的国际化支持 - 实现系统配置国际化,包括 SysConfig 的国际化支持 - 实现菜单数据国际化,包括 SysMenu 的国际化支持 - 在 sys_dict_data 表中添加 dict_label_en 和 dict_label_i18n 字段 - 在 sys_dict_type 表中添加 dict_name_en 和 dict_name_i18n 字段 - 在 sys_config 表中添加 config_name_en 和 config_name_i18n 字段 - 在 sys_menu 表中添加 menu_name_en 和 menu_name_i18n 字段 - 实现语言切换功能,包括 I18nController 控制器 - 实现按语言分别缓存的机制,缓存键格式:{数据类型}:{标识}:{语言代码} - 实现数据回退机制,国际化数据缺失时显示默认语言(中文)的数据 - 详细文档:[2026-01-25-002-03-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-25-002-03-changelog.md) #### Salesforce 集成模块 - **环境从库初始化功能** (v1.0.0) - 实现环境从库初始化功能,包括数据库创建、配置写入、数据源注册、连接验证等步骤 - 在 ISysDatasourceConfigService 接口中新增 createSlaveDatabase 方法 - 在 IDataiConfigEnvironmentService 接口中新增 initSlaveDatasource 方法 - 在 DataiConfigEnvironmentController 中新增 initSlaveDatasource 接口方法 - 在 DataiConfigEnvironment 实体类中新增 datasourceId 字段 - 在 datai_config_environment 表中新增 datasource_id 字段并添加索引 - 主库配置从 application-druid.yml 配置文件中读取 - 从库一经创建,不允许任何修改、删除或重新初始化 - 详细文档:[2026-01-24-002-changelog.md](datai-scenes/datai-scene-salesforce/docs/changelog/2026-01-24-002-changelog.md) - **datai-salesforce-auth 模块立即修复** (v0.1.18) - 密码加密方式从对称加密改为不可逆的 BCrypt 哈希算法 - 对 Session ID、用户 ID 等敏感信息进行日志脱敏处理 - 为登录接口添加请求频率限制功能(每分钟最多 5 次登录尝试) - 检查代码语法,确认不存在语法错误 - 详细文档:[0018-datai-salesforce-auth-immediate-fixes.md](datai-scenes/datai-scene-salesforce/docs/changelog/0018-datai-salesforce-auth-immediate-fixes.md) - **查询不同类型ORG登录历史及自动登录功能** (v0.1.17) - 新增查询不同类型ORG成功登录历史接口 - 新增根据登录历史自动登录接口 - 支持多种ORG类型(Source、Target、Sandbox、Production等) - 完善的日志记录和异常处理机制 - 详细文档:[0017-login-history-query-and-auto-login.md](datai-scenes/datai-scene-salesforce/docs/changelog/0017-login-history-query-and-auto-login.md) - **元数据变更自动同步本地数据库** (v0.1.16) - 新增 MetadataChangeAutoSyncTask 定时任务类,支持自动同步元数据变更 - 基于元数据变更类型、操作类型、对象配置的自动执行逻辑 - 支持通过 SysJob 实体配置执行时间、启用状态等 - 完善的日志记录和异常处理机制 - 详细文档:[0016-metadata-change-auto-sync.md](datai-scenes/datai-scene-salesforce/docs/changelog/0016-metadata-change-auto-sync.md) - **定时任务自动同步、插入和更新对象数据** (v0.1.15) - 新增 ObjectSyncTask 定时任务类,支持自动同步对象数据 - 新增 ObjectInsertTask 定时任务类,支持自动插入对象数据 - 新增 ObjectUpdateTask 定时任务类,支持自动更新对象数据 - 基于对象字段配置的自动执行逻辑 - 支持通过 SysJob 实体配置执行时间、启用状态等 - 完善的日志记录和异常处理机制 - 详细文档:[0015-scheduled-tasks-implementation.md](datai-scenes/datai-scene-salesforce/docs/changelog/0015-scheduled-tasks-implementation.md) - **updateObjectDataToTarget 更新数据进度跟踪** (v0.1.14) - 新增更新进度查询接口 - 集成进度跟踪功能到更新方法 - 复用现有的内存存储方案 - 详细文档:[0014-update-progress-tracking.md](datai-scenes/datai-scene-salesforce/docs/changelog/0014-update-progress-tracking.md) - **insertObjectDataToTarget 插入数据进度跟踪** (v0.1.13) - 新增插入进度查询接口 - 集成进度跟踪功能到插入方法 - 复用现有的内存存储方案 - 详细文档:[0013-insert-progress-tracking.md](datai-scenes/datai-scene-salesforce/docs/changelog/0013-insert-progress-tracking.md) - **syncObjectData 同步进度跟踪** (v0.1.12) - 新增同步进度查询接口 - 集成进度跟踪功能到同步方法 - 使用 ConcurrentHashMap 存储进度信息 - 详细文档:[0012-sync-progress-tracking.md](datai-scenes/datai-scene-salesforce/docs/changelog/0012-sync-progress-tracking.md) - **目标ORG登录功能** (v0.1.11) - 支持目标 Salesforce 系统的多种认证方式 - 实现目标系统登录会话管理 - 详细文档:[0011-target-org-login-functionality.md](datai-scenes/datai-scene-salesforce/docs/changelog/0011-target-org-login-functionality.md) - **实时同步统计接口** (v0.1.10) - 新增实时同步统计查询接口 - 支持查询实时同步服务的运行状态 - 详细文档:[0010-realtime-sync-statistics.md](datai-scenes/datai-scene-salesforce/docs/changelog/0010-realtime-sync-statistics.md) - **实时服务手动启动管理** (v0.1.9) - 支持手动启动、停止、重启实时同步服务 - 实时同步服务状态监控 - 详细文档:[0009-realtime-service-manual-start.md](datai-scenes/datai-scene-salesforce/docs/changelog/0009-realtime-service-manual-start.md) - **Pub/Sub API 配置项添加与连接工厂优化** (v0.1.8) - 新增 Pub/Sub API 配置项 - 优化连接工厂实现 - 详细文档:[0008-pubsub-config-optimization.md](datai-scenes/datai-scene-salesforce/docs/changelog/0008-pubsub-config-optimization.md) - **Salesforce Pub/Sub API 实时同步功能实现** (v0.1.7) - 实现 Salesforce Event Bus 实时数据订阅 - CDC 事件接收和处理 - 实时数据同步到本地数据库 - 详细文档:[0007-pubsub-api-implementation.md](datai-scenes/datai-scene-salesforce/docs/changelog/0007-pubsub-api-implementation.md) ### 变更 #### Salesforce 集成模块 - **文档完善** (v0.1.6) - 完善项目文档结构 - 添加 API 文档 - 详细文档:[0006-documentation-improvement.md](datai-scenes/datai-scene-salesforce/docs/changelog/0006-documentation-improvement.md) - **测试和验证** (v0.1.5) - 完善测试用例 - 验证功能正确性 - 详细文档:[0005-testing-and-verification.md](datai-scenes/datai-scene-salesforce/docs/changelog/0005-testing-and-verification.md) - **同步配置管理实现** (v0.1.4) - 实现同步配置管理功能 - 支持动态配置同步参数 - 详细文档:[0003-sync-configuration-management.md](datai-scenes/datai-scene-salesforce/docs/changelog/0003-sync-configuration-management.md) - **实时同步日志功能完善** (v0.1.3) - 完善实时同步日志记录 - 支持日志查询和统计 - 详细文档:[0004-realtime-sync-log-enhancement.md](datai-scenes/datai-scene-salesforce/docs/changelog/0004-realtime-sync-log-enhancement.md) - **数据库结构调整** (v0.1.2) - 调整数据库表结构 - 优化数据存储方案 - 详细文档:[0002-database-structure-adjustment.md](datai-scenes/datai-scene-salesforce/docs/changelog/0002-database-structure-adjustment.md) ### 修复 #### Salesforce 集成模块 - **核心组件实现** (v0.1.1) - 实现核心组件功能 - 修复已知问题 - 详细文档:[0001-core-components-implementation.md](datai-scenes/datai-scene-salesforce/docs/changelog/0001-core-components-implementation.md) ### 项目规则优化 - **项目规则优化** (v0.1.1) - 优化项目协作规则 - 完善文档管理流程 - 详细文档:[0.1.1-project-rules-optimization.md](datai-scenes/datai-scene-salesforce/docs/changelog/0.1.1-project-rules-optimization.md) ## 版本说明 ### 版本号格式 - 主版本号:不兼容的 API 修改 - 次版本号:向下兼容的功能性新增 - 修订号:向下兼容的问题修正 ### 变更类型 - **新增**:新功能 - **变更**:现有功能的变更 - **弃用**:即将移除的功能 - **移除**:已移除的功能 - **修复**:问题修复 - **安全**:安全相关的修复 ## 相关链接 - **项目文档中心**:[datai-scenes/datai-scene-salesforce/docs/index.md](datai-scenes/datai-scene-salesforce/docs/index.md) - **Salesforce 集成模块文档**:[datai-scenes/datai-scene-salesforce/docs/](datai-scenes/datai-scene-salesforce/docs/) - **变更日志目录**:[datai-scenes/datai-scene-salesforce/docs/changelog/](datai-scenes/datai-scene-salesforce/docs/changelog/)