datai/CHANGELOG.md
Kris 39d1595e0b Merge branch 'develop' of http://134.175.52.143:3000/kris/datai into develop
# Conflicts:
#	CHANGELOG.md
#	datai-scenes/datai-scene-salesforce/docs/index.md
2026-02-03 17:00:00 +08:00

362 lines
21 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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<String, Object> 格式
- 实现参数验证、异常处理、权限控制、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/)