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

21 KiB
Raw Blame History

Datai 项目变更日志

本文档记录 Datai 项目的所有重要变更。

格式基于 Keep a Changelog 版本号遵循 语义化版本

[未发布]

新增

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

Metadata API 模块

  • Metadata 连接管理 (v1.0.0)
    • 实现 Metadata API 源 Org 的连接管理功能
    • 实现 MetadataConnectionFactory支持 Partner URL 自动转换为 Metadata URL
    • 集成 SessionManager实现连接的创建、测试、刷新和关闭
    • 提供 4 个 REST API 接口(状态、测试、刷新、关闭)
    • 记录连接日志到数据库,支持连接状态追踪
    • 详细文档: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
  • 测试执行 (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
  • 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

Partner API 集成模块

  • 认证和会话管理 (v1.0.0)

    • 实现认证和会话管理功能,包括获取会话信息、获取用户信息、修改密码
    • 采用工厂模式管理 PartnerConnection 连接
    • 集成 SessionManager 进行会话管理
    • 支持连接缓存和自动 Session 有效性检查
    • 提供 RESTful API 接口3 个接口)
    • 实现异常处理和日志记录
    • 实现权限控制(@PreAuthorize("@ss.hasLogin()")
    • 实现 Swagger 文档注解
    • 详细文档: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
  • 批量操作 (v1.0.0)

    • 实现 Salesforce Partner API 的批量操作功能,包括批量创建、批量更新、批量删除、批量 Upsert 四个核心操作
    • 支持最多 1000 条记录,自动分批处理(每批最多 200 条)
    • 支持部分失败情况,提供详细的成功/失败统计
    • 提供 4 个 REST API 接口
    • 实现 AllOrNoneHeader 控制(可选全部成功或全部失败)
    • 使用 DisableFeedTrackingHeader 提高性能
    • 实现批次间休眠机制(可配置,默认 100ms
    • 实现参数验证、异常处理、权限控制、Swagger 文档
    • 实现完整的单元测试,测试覆盖率不低于 80%
    • 详细文档: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
  • 描述功能 (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

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
  • 符号表分析与 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
  • Apex 动态代码执行与日志管理 (v1.0.0)

    • 封装 Salesforce SOAP API executeAnonymous 实现无状态代码执行
    • 支持细粒度日志级别配置 (DebuggingOptions)
    • 提供结构化执行结果 (ExecuteResult),统一处理编译与运行时异常
    • 提供日志解析扩展能力 (LogParser)
    • 详细文档:2026-01-27-013-2-changelog.md
  • Apex 单元测试与覆盖率统计 (v1.0.0)

    • 封装 Salesforce SOAP API runTests 实现单元测试执行
    • 支持按类、方法、包或全量运行测试
    • 解析 RunTestsResult 返回的成功/失败详情与 apexLogId
    • 解析 CodeCoverageResultCodeLocation,预计算覆盖率百分比
    • 详细文档: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

后端国际化功能

  • 后端国际化功能 (v1.0.0)

    • 实现错误消息国际化,包括 ErrorCode 枚举类和 GlobalExceptionHandler 扩展
    • 实现日志消息国际化,包括 LogAspect 切面类扩展
    • 实现验证消息国际化,包括 ValidationConfig 配置类
    • 实现通知消息国际化,包括 IMessageSystemService 接口和 MessageSystemServiceImpl 类扩展
    • 实现用户语言偏好管理,包括 SysUser 实体类扩展和 I18nController 控制器
    • 实现国际化资源管理,包括 I18nConfig 配置类更新和国际化资源文件
    • 在 sys_user 表中添加 lang_code 字段
    • 详细文档: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

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-salesforce-auth 模块立即修复 (v0.1.18)

    • 密码加密方式从对称加密改为不可逆的 BCrypt 哈希算法
    • 对 Session ID、用户 ID 等敏感信息进行日志脱敏处理
    • 为登录接口添加请求频率限制功能(每分钟最多 5 次登录尝试)
    • 检查代码语法,确认不存在语法错误
    • 详细文档: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
  • 元数据变更自动同步本地数据库 (v0.1.16)

    • 新增 MetadataChangeAutoSyncTask 定时任务类,支持自动同步元数据变更
    • 基于元数据变更类型、操作类型、对象配置的自动执行逻辑
    • 支持通过 SysJob 实体配置执行时间、启用状态等
    • 完善的日志记录和异常处理机制
    • 详细文档:0016-metadata-change-auto-sync.md
  • 定时任务自动同步、插入和更新对象数据 (v0.1.15)

    • 新增 ObjectSyncTask 定时任务类,支持自动同步对象数据
    • 新增 ObjectInsertTask 定时任务类,支持自动插入对象数据
    • 新增 ObjectUpdateTask 定时任务类,支持自动更新对象数据
    • 基于对象字段配置的自动执行逻辑
    • 支持通过 SysJob 实体配置执行时间、启用状态等
    • 完善的日志记录和异常处理机制
    • 详细文档:0015-scheduled-tasks-implementation.md
  • updateObjectDataToTarget 更新数据进度跟踪 (v0.1.14)

  • insertObjectDataToTarget 插入数据进度跟踪 (v0.1.13)

  • syncObjectData 同步进度跟踪 (v0.1.12)

    • 新增同步进度查询接口
    • 集成进度跟踪功能到同步方法
    • 使用 ConcurrentHashMap 存储进度信息
    • 详细文档:0012-sync-progress-tracking.md
  • 目标ORG登录功能 (v0.1.11)

  • 实时同步统计接口 (v0.1.10)

  • 实时服务手动启动管理 (v0.1.9)

  • Pub/Sub API 配置项添加与连接工厂优化 (v0.1.8)

  • Salesforce Pub/Sub API 实时同步功能实现 (v0.1.7)

变更

Salesforce 集成模块

修复

Salesforce 集成模块

项目规则优化

版本说明

版本号格式

  • 主版本号:不兼容的 API 修改
  • 次版本号:向下兼容的功能性新增
  • 修订号:向下兼容的问题修正

变更类型

  • 新增:新功能
  • 变更:现有功能的变更
  • 弃用:即将移除的功能
  • 移除:已移除的功能
  • 修复:问题修复
  • 安全:安全相关的修复

相关链接