51 KiB
51 KiB
变更摘要
[Unreleased]
Added
- 元数据类型定义(REQ-003-02) - 实现了 7 种 Salesforce 元数据类型的部署功能,包括自定义对象、自定义字段、Apex 类、Apex 触发器、Visualforce 页面、Visualforce 组件、Flow
- 自定义对象部署 - 支持部署 CustomObject 元数据类型,包含对象定义、字段定义、验证规则等
- 自定义字段部署 - 支持部署 CustomField 元数据类型,包含字段类型、长度、精度、必填性等属性
- Apex 类部署 - 支持部署 ApexClass 元数据类型,包含类定义、方法、属性等
- Apex 触发器部署 - 支持部署 ApexTrigger 元数据类型,包含触发器定义、触发事件、触发对象等
- Visualforce 页面部署 - 支持部署 ApexPage 元数据类型,包含页面定义、控制器、扩展等
- Visualforce 组件部署 - 支持部署 ApexComponent 元数据类型,包含组件定义、属性、方法等
- Flow 部署 - 支持部署 Flow 元数据类型,包含流程定义、节点、连接器、变量等
- 元数据部署服务层 - 实现 IMetadataTypeService 服务接口和 MetadataTypeServiceImpl 服务实现类,提供 7 个部署方法,包含 ZIP 文件创建、部署执行、状态轮询、日志记录
- 元数据部署控制器层 - 实现 MetadataTypeController 控制器,提供 8 个 REST API 接口(7 个部署接口 + 1 个日志查询接口)
- 数据传输对象(DTO)- DeployOptionsDto 部署选项请求参数
- 视图对象(VO)- DeployResultVo 部署结果响应
- 数据库表结构 - 创建 datai_metadata_deploy_log 表,包含 18 个字段和 7 个索引
- 代码文件 - 12 个 Java 文件(5 个 AI 手动生成 + 7 个代码生成器生成)
- 文档文件 - 6 个 Markdown 文件(需求文档、设计文档、决策记录、SQL 脚本、提示词文档、会话记录、变更日志)
- Apex 连接管理(REQ-002-01) - 实现了 Salesforce Apex API 连接管理功能,包括连接工厂、会话头管理、调用选项配置、调试头部配置、字段截断头配置、包版本头配置和连接缓存管理等功能
- 连接工厂功能 - 创建 ApexConnectionFactory 连接工厂类,继承 AbstractConnectionFactory,复用缓存机制,实现 createConnection()、getConnectionType()、isConnectionValid() 方法,使用 Salesforce API 65.0 版本,连接超时 60 秒,读取超时 60 秒,支持连接压缩
- 连接管理服务 - 实现 IApexConnectionService 服务接口和 ApexConnectionServiceImpl 服务实现类,固定使用 source org 类型,集成 SessionManager 获取会话信息,完整的异常处理和日志记录,参数校验和验证
- 7 个核心服务方法 - getConnection() 获取连接信息、setSessionHeader() 设置会话头、setCallOptions() 设置调用选项、setDebuggingHeader() 设置调试头部、setFieldTruncationHeader() 设置字段截断头、setPackageVersionHeader() 设置包版本头、clearConnection() 清除连接缓存
- 7 个 REST API 接口 - GET /api/apex/connection 获取连接、POST /api/apex/connection/session-header 设置会话头、POST /api/apex/connection/call-options 设置调用选项、POST /api/apex/connection/debugging-header 设置调试头部、POST /api/apex/connection/field-truncation-header 设置字段截断头、POST /api/apex/connection/package-version-header 设置包版本头、DELETE /api/apex/connection/cache 清除连接缓存
- 数据传输对象(DTO)- SetSessionHeaderDto 设置会话头请求参数、SetCallOptionsDto 设置调用选项请求参数、SetDebuggingHeaderDto 设置调试头部请求参数、SetFieldTruncationHeaderDto 设置字段截断头请求参数、SetPackageVersionHeaderDto 设置包版本头请求参数
- 视图对象(VO)- ConnectionInfoVo 连接信息响应,包含 sessionId、serverUrl、success、errorMessage 字段
- 代码文件 - 10 个 Java 文件(1 个 Factory、1 个 Service 接口、1 个 Service 实现、1 个 Controller、5 个 DTO、1 个 VO)
- 文档文件 - 4 个 Markdown 文件(设计文档、决策记录、提示词文档、会话记录)
- Partner API 高级功能(REQ-001-06) - 实现了 Salesforce Partner API 的高级功能,包括线索转换、清空回收站、流程提交、获取用户信息、获取服务器时间戳五个核心功能
- 线索转换功能 - 支持将线索转换为账户、联系人和商机,支持指定现有账户和联系人进行关联,支持覆盖线索来源选项,支持不创建商机选项,支持发送通知邮件选项,返回转换结果(账户ID、联系人ID、商机ID)
- 清空回收站功能 - 支持永久删除回收站中的记录,支持批量操作(最多 200 个记录),返回每个记录的删除结果,支持部分失败情况处理,提供详细的成功/失败统计
- 流程提交功能 - 支持提交记录到审批流程,支持添加审批评论,返回流程实例ID,支持流程提交结果查询,提供详细的错误信息
- 获取用户信息功能 - 获取当前登录用户的基本信息,返回用户ID、用户名、全名、邮箱、组织ID、组织名称、用户语言和时区信息、货币符号信息,复用认证模块实现
- 获取服务器时间戳功能 - 获取 Salesforce 服务器当前时间戳,返回 ISO 8601 格式时间戳,返回服务器时区信息
- RESTful API 接口 - 提供 5 个 RESTful API 接口(POST /partner/advanced/convert-lead 转换线索、POST /partner/advanced/empty-recycle-bin 清空回收站、POST /partner/advanced/process-submit-request 流程提交、GET /partner/advanced/user-info 获取用户信息、GET /partner/advanced/server-timestamp 获取服务器时间戳)
- 权限控制 - 实现 5 个权限标识(partner:advanced:convertLead、partner:advanced:emptyRecycleBin、partner:advanced:processSubmit、partner:advanced:userInfo、partner:advanced:serverTimestamp)
- 数据模型 - 实现 3 个 DTO 类(LeadConvertDto、EmptyRecycleBinDto、ProcessSubmitDto),实现 4 个 VO 类(LeadConvertResultVo、EmptyRecycleBinResultVo、ProcessResultVo、ServerTimestampVo)
- Service 层 - 实现 IPartnerAdvancedService 接口和 PartnerAdvancedServiceImpl 实现类,提供 4 个核心方法(convertLead、emptyRecycleBin、processSubmitRequest、getServerTimestamp)
- Controller 层 - 实现 PartnerAdvancedController 控制器,提供 5 个 REST API 接口,使用 @PreAuthorize 进行权限控制
- 单元测试 - 实现 PartnerAdvancedServiceImplTest 单元测试类,包含 12 个测试用例,覆盖正常场景、异常场景、部分失败场景
- Apex 类与触发器基础管理(REQ-014-1) - 实现了完整的 Apex 类与触发器基础管理功能,包括与 Salesforce Tooling API 的连接建立、Apex 类和触发器的 CRUD 操作、RESTful API 接口、异常处理机制和数据模型封装
- Tooling API 连接管理 - 实现 Tooling 连接工厂 ToolingConnectionFactory,继承 AbstractConnectionFactory,使用 ConnectionProxy 创建代理连接,复用 SessionManager 获取 Session 信息,支持 API 版本 61.0
- Apex 类基础管理 - 支持创建 Apex 类(包含类名和类体)、查询 Apex 类详情(根据类 ID 或类名)、分页查询 Apex 类列表、更新 Apex 类(类名和类体)、删除 Apex 类
- Apex 触发器基础管理 - 支持创建 Apex 触发器(包含触发器名称、对象、触发事件、状态等)、查询 Apex 触发器详情(根据触发器 ID 或名称)、分页查询 Apex 触发器列表、更新 Apex 触发器(名称、对象、触发事件、状态等)、删除 Apex 触发器
- RESTful API 接口 - 提供 8 个 RESTful API 接口(Apex 类 4 个:POST /tooling/apex-class、GET /tooling/apex-class/{id}、PUT /tooling/apex-class、DELETE /tooling/apex-class/{id};Apex 触发器 4 个:POST /tooling/apex-trigger、GET /tooling/apex-trigger/{id}、PUT /tooling/apex-trigger、DELETE /tooling/apex-trigger/{id})
- 异常处理机制 - 实现 3 个自定义异常类(ToolingConnectionException、ApexClassException、ApexTriggerException)
- 数据模型封装 - 实现 10 个数据模型类(Domain 层 2 个:ApexClass、ApexTrigger;DTO 层 6 个:ApexClassDto、ApexTriggerDto、ApexClassCreateRequest、ApexClassUpdateRequest、ApexTriggerCreateRequest、ApexTriggerUpdateRequest;VO 层 2 个:ApexClassVo、ApexTriggerVo)
- 单元测试 - 实现 3 个单元测试类(ToolingConnectionFactoryTest、ApexClassManagerTest、ApexTriggerManagerTest)
- 从库数据源注解实现(REQ-003) - 实现了基于 @DataSource 注解的从库数据源动态切换功能,支持根据当前激活环境自动切换到对应的从库数据源
- DataSourceAspect 动态路由 - 在 DataSourceAspect 切面中添加动态路由逻辑,通过反射调用 SalesforceConfigCacheManager.getCurrentEnvironmentCode() 方法获取当前激活环境编码,构造从库数据源名称(slave_环境编码),检查从库是否存在,存在则切换到从库,不存在则回退到主库
- 性能优化 - 缓存 SalesforceConfigCacheManager Bean 和 getCurrentEnvironmentCode Method 对象,避免每次调用都通过反射获取方法,提高了性能
- 降级机制 - 当从库数据源不存在或环境编码为空时,自动回退到主库数据源,确保系统稳定性
- DataiIntegrationObjectServiceImpl 注解 - 为 createObjectStructure、syncSingleObjectData、syncMultipleObjectData 三个方法添加 @DataSource(DataSourceType.SLAVE) 注解
- DataiIntegrationBatchServiceImpl 注解 - 为 syncBatchData 方法添加 @DataSource(DataSourceType.SLAVE) 注解
- DataiIntegrationMetadataChangeServiceImpl 注解 - 为 syncToLocalDatabase、syncBatchToLocalDatabase 两个方法添加 @DataSource(DataSourceType.SLAVE) 注解
- DataSynchronizerImpl 注解 - 为 synchronizeData、batchSynchronizeData 两个方法添加 @DataSource(DataSourceType.SLAVE) 注解
- 环境有效性字段功能(REQ-012) - 在 DataiConfigEnvironment 实体类中新增 isValid 字段,用于标记环境是否有效,当环境登录成功后自动设置为有效状态
- 新增 isValid 字段 - 在 DataiConfigEnvironment 实体类中新增 isValid 字段(数据库字段:is_valid,类型:TINYINT(1),默认值:NULL)
- 新增 version 字段 - 在 DataiConfigEnvironment 实体类中新增 version 字段(数据库字段:version,类型:BIGINT,默认值:0),使用 @Version 注解实现乐观锁机制
- 新增 updateEnvironmentValidity 方法 - 在 SalesforceLoginServiceImpl 中新增 updateEnvironmentValidity 方法,用于更新环境有效性,使用 @Transactional 注解确保事务一致性,添加重试机制处理并发冲突
- 登录成功后自动更新环境有效性 - 在登录成功后自动将对应环境设置为有效状态,添加异常处理确保更新失败不影响登录结果
- 新增单元测试 - DataiConfigEnvironmentTest 和 SalesforceLoginServiceImplTest,包含 7 个测试用例
- 文件上传下载基础设施(REQ-011-1) - 实现了完整的文件上传下载基础设施,包括文件对象类型枚举、错误代码枚举、异常类、参数类、响应类和验证工具类
- FileObjectType 枚举类 - 文件对象类型枚举,包含 ATTACHMENT、CONTENT_DOCUMENT、DOCUMENT 三个值,包含 API 名称、描述、文件大小限制、推荐等级、上传方式和必填字段等元数据
- FileErrorCode 枚举类 - 错误代码枚举,包含 FILE_UPLOAD_FAILED、FILE_DOWNLOAD_FAILED、FILE_SIZE_EXCEEDED、FILE_TYPE_NOT_SUPPORTED、FILE_OBJECT_NOT_FOUND、ORG_CONFIG_NOT_FOUND、FILE_VALIDATION_FAILED、FILE_NOT_FOUND、FILE_READ_FAILED、FILE_WRITE_FAILED 10 个错误代码
- FileUploadException 异常类 - 文件上传异常,继承自 RuntimeException,包含错误代码和错误消息
- FileDownloadException 异常类 - 文件下载异常,继承自 RuntimeException,包含错误代码和错误消息
- FileSizeExceededException 异常类 - 文件大小超限异常,包含实际大小和最大限制
- FileTypeNotSupportedException 异常类 - 文件类型不支持异常,包含实际类型和支持的类型列表
- FileObjectNotFoundException 异常类 - 文件对象不存在异常,包含对象 ID 和对象类型
- OrgConfigNotFoundException 异常类 - 组织配置不存在异常,包含配置 ID
- FileValidationException 异常类 - 文件验证异常,包含验证类型
- FileUploadRequest 参数类 - 文件上传请求参数,包含组织配置 ID、文件对象类型、文件、关联记录 ID、文件名和描述,使用 Lombok 注解和 JSR-303 验证注解
- FileDownloadRequest 参数类 - 文件下载请求参数,包含组织配置 ID、文件对象类型、文件 ID 和保存路径,使用 Lombok 注解和 JSR-303 验证注解
- FileUploadResponse 响应类 - 文件上传响应,包含文件 ID、文件名、文件大小、文件类型、上传时间、状态和消息
- FileDownloadResponse 响应类 - 文件下载响应,包含文件名、文件大小、保存路径、下载时间、状态和消息
- FileValidationUtils 工具类 - 文件验证工具类,提供文件大小验证、文件类型验证、文件名验证、文件扩展名获取、文件 MIME 类型获取等功能,支持 13 种文件类型白名单和 13 种危险扩展名黑名单
- Attachment 文件上传下载功能(REQ-011-2) - 实现了 Salesforce Attachment 对象的文件上传下载功能,使用 REST API + Base64 编码方式进行文件上传,使用 REST API + 流式处理方式进行文件下载
- FileUploadStrategy 接口 - 文件上传策略接口,定义 upload() 方法,接收 FileUploadRequest 参数,返回 FileUploadResponse 响应
- FileDownloadStrategy 接口 - 文件下载策略接口,定义 download() 方法,接收 FileDownloadRequest 参数,返回 FileDownloadResponse 响应
- AttachmentUploadStrategy 类 - Attachment 上传策略实现,使用 REST API + Base64 编码方式上传文件,支持最大 50MB 文件大小,包含文件验证、会话管理、错误处理等功能
- AttachmentDownloadStrategy 类 - Attachment 下载策略实现,使用 REST API + 流式处理方式下载文件,使用 BufferedInputStream 和 ByteArrayOutputStream 避免内存溢出,包含会话管理、错误处理等功能
- AttachmentFileService 接口 - Attachment 文件服务接口,定义 uploadAttachment() 和 downloadAttachment() 方法
- AttachmentFileServiceImpl 类 - Attachment 文件服务实现,使用策略模式封装上传下载逻辑,通过 @Autowired 注入 FileUploadStrategy 和 FileDownloadStrategy
- ContentDocument/ContentVersion 文件上传下载功能(REQ-011-3) - 实现了 Salesforce ContentDocument/ContentVersion 对象的文件上传下载功能,使用 REST API + Multipart/form-data 方式进行文件上传,使用 REST API + 流式处理方式进行文件下载
- Apache HttpClient 依赖 - 在 datai-salesforce-integration 模块的 pom.xml 中引入 Apache HttpClient 依赖,包括 httpclient 4.5.13 和 httpmime 4.5.13
- ContentVersionUploadStrategy 类 - ContentVersion 上传策略实现,使用 REST API + Multipart/form-data 方式上传文件,支持最大 2GB 文件大小,包含文件验证、会话管理、错误处理等功能
- ContentVersionDownloadStrategy 类 - ContentVersion 下载策略实现,使用 REST API + 流式处理方式下载文件,使用 BufferedInputStream 和 ByteArrayOutputStream 避免内存溢出,包含会话管理、错误处理等功能
- ContentVersionFileService 接口 - ContentVersion 文件服务接口,定义 uploadContentVersion() 和 downloadContentVersion() 方法
- ContentVersionFileServiceImpl 类 - ContentVersion 文件服务实现,使用策略模式封装上传下载逻辑,通过 @Autowired 注入 FileUploadStrategy 和 FileDownloadStrategy
- Document 文件上传下载功能(REQ-011-4) - 实现了 Salesforce Document 对象的文件上传下载功能,使用 SOAP API + Base64 编码方式进行文件上传,使用 SOAP API + 流式处理方式进行文件下载
- DocumentUploadStrategy 类 - Document 上传策略实现,使用 SOAP API + Base64 编码方式上传文件,支持最大 20-30MB 文件大小,包含文件验证、会话管理、错误处理等功能
- DocumentDownloadStrategy 类 - Document 下载策略实现,使用 SOAP API + 流式处理方式下载文件,使用 BufferedInputStream 和 ByteArrayOutputStream 避免内存溢出,包含会话管理、错误处理等功能
- DocumentFileService 接口 - Document 文件服务接口,定义 uploadDocument() 和 downloadDocument() 方法
- DocumentFileServiceImpl 类 - Document 文件服务实现,使用策略模式封装上传下载逻辑,通过 @Autowired 注入 FileUploadStrategy 和 FileDownloadStrategy
- 文件上传下载 Controller 和 API 接口(REQ-011-5) - 实现了文件上传下载的 RESTful API 接口,支持 Attachment、ContentDocument、Document 三种文件对象类型,使用策略模式根据文件对象类型调用不同的 Service
- ApiResponse 统一响应类 - 统一响应格式,包含 code、message、data 三个字段,提供 success() 和 error() 静态方法
- FileController 控制器 - 文件上传下载控制器,提供 2 个 RESTful API 接口,支持文件上传和文件下载
- uploadFile 方法 - 文件上传接口(POST /files/upload),支持三种文件对象类型,使用 @RequestParam 和 @RequestPart 注解接收参数,使用 @Valid 注解进行参数验证,使用 @Operation、@Parameter、@ApiResponse 注解生成 API 文档,使用策略模式根据文件对象类型调用不同的 Service,返回统一的响应格式
- downloadFile 方法 - 文件下载接口(GET /files/download),支持三种文件对象类型,使用 @RequestParam 注解接收参数,使用 @Valid 注解进行参数验证,使用 @Operation、@Parameter、@ApiResponse 注解生成 API 文档,使用策略模式根据文件对象类型调用不同的 Service,返回统一的响应格式
- 元数据拉取核心功能(REQ-010-6) - 实现了完整的元数据拉取核心功能,包括手动触发拉取、异步拉取执行、状态监控、拉取历史记录、拉取进度查询、拉取取消功能
- JobExecutionStatus 枚举类 - 作业执行状态枚举,包含 PENDING、PROCESSING、SUCCESS、FAILED、PARTIAL_SUCCESS、CANCELLED 六个值,使用 @EnumValue 注解映射数据库值
- MetadataRetrieveController 控制器 - 元数据拉取控制器,提供 4 个 RESTful API 接口,支持手动触发拉取、查询拉取历史记录、查询拉取进度、取消拉取
- RetrieveRequest DTO - 拉取请求,包含 taskId 和 orgConfigId 字段
- RetrieveResponse DTO - 拉取响应,包含 jobId 和 message 字段
- RetrieveProgressResponse DTO - 拉取进度响应,包含 jobId、status、progress、message 字段
- IMetadataRetrieveService 服务接口 - 元数据拉取服务接口,定义 triggerRetrieve()、getRetrieveHistory()、getRetrieveProgress()、cancelRetrieve() 方法
- MetadataRetrieveServiceImpl 服务实现 - 元数据拉取服务实现,使用 MetadataApiClient 调用 retrieve() 方法,使用 @Async 注解实现异步执行,使用 ConcurrentHashMap 存储正在运行的作业
- RetrieveException 异常类 - 拉取异常,封装拉取异常
- 单元测试 - MetadataRetrieveServiceImplTest
- Metadata API客户端封装(REQ-010-5) - 实现了完整的Metadata API客户端封装功能,包括MetadataApiClient客户端类、retrieve()方法、deploy()方法、状态轮询机制、Zip文件处理、部署结果解析、错误处理机制、异步服务接口和实现、单元测试
- MetadataApiClient 客户端类 - Metadata API 客户端,使用 Salesforce WSC (Web Service Connector) 库,封装 Salesforce Metadata API 调用
- RetrieveRequest 类 - Retrieve 请求模型,包含 orgConfigId、packageNames、singlePackage、specificFiles、unpackaged、timeout 等字段
- RetrieveResult 类 - Retrieve 结果模型,包含 id、success、status、message、zipFile、fileProperties 等字段
- DeployRequest 类 - Deploy 请求模型,包含 orgConfigId、zipFile、allowMissingFiles、autoUpdatePackage、checkOnly、ignoreWarnings、performRetrieve、purgeOnDelete、rollbackOnError、testLevel、runTests、timeout 等字段
- DeployResult 类 - Deploy 结果模型,包含 id、success、status、message、startDate、finishDate、numberComponentErrors、numberComponentsDeployed、numberComponentsTotal、numberTestErrors、numberTestsCompleted、numberTestsTotal、testCoverage、messages 等字段
- DeployMessage 类 - Deploy 消息模型,包含 fileName、componentName、problem、line、column、success 等字段
- MetadataApiException 类 - Metadata API 异常,封装 API 调用异常
- AsyncConfig 配置类 - 异步配置,配置线程池,使用 ThreadPoolTaskExecutor 配置线程池
- IMetadataApiAsyncService 服务接口 - Metadata API 异步服务接口,定义 retrieveAsync() 和 deployAsync() 方法
- MetadataApiAsyncServiceImpl 服务实现 - Metadata API 异步服务实现,使用 @Async 注解实现异步执行,使用 CompletableFuture 支持异步结果
- 单元测试 - MetadataApiClientTest
- 元数据任务定义管理(REQ-010-4) - 实现了完整的元数据任务定义管理功能,包括任务定义CRUD、package.xml内容配置、调度类型选择、Cron表达式配置、任务验证功能
- ScheduleType 枚举类 - 调度类型枚举,包含 MANUAL 和 CRON 两个值,使用 @EnumValue 注解映射数据库值
- PackageXmlEditor 工具类 - package.xml 编辑器,使用 Java DOM 解析器处理 package.xml,支持添加、删除、查询元数据类型
- CronExpressionValidator 工具类 - Cron 表达式验证器,支持验证秒、分、时、日、月、周,支持通配符、范围、列表、步长
- MetadataTaskController 控制器 - 元数据任务控制器,提供 6 个 RESTful API 接口,支持元数据任务的增删改查和验证
- IMetadataTaskService 服务接口 - 元数据任务服务接口,定义元数据任务 CRUD 方法
- MetadataTaskServiceImpl 服务实现 - 元数据任务服务实现,使用 MyBatis Plus 的 BaseMapper 实现 CRUD
- ITaskValidationService 服务接口 - 任务验证服务接口,定义任务验证方法
- TaskValidationServiceImpl 服务实现 - 任务验证服务实现,使用 PackageXmlEditor 验证 package.xml,使用 CronExpressionValidator 验证 Cron 表达式
- TaskValidationResult 验证结果类 - 任务验证结果,提供成功和失败的静态工厂方法
- 单元测试 - MetadataTaskServiceImplTest
- Salesforce组织配置管理(REQ-010-3) - 实现了完整的Salesforce组织配置管理功能,包括组织配置CRUD、OAuth认证信息加密存储、环境类型管理、存储根路径配置、连接状态管理、配置验证功能
- EnvironmentType 枚举类 - 环境类型枚举,包含 SANDBOX 和 PRODUCTION 两个值,使用 @EnumValue 注解映射数据库值
- ConnectionStatus 枚举类 - 连接状态枚举,包含 ACTIVE、INACTIVE、AUTH_INVALID 三个值,使用 @EnumValue 注解映射数据库值
- EncryptionUtil 工具类 - 加密工具类,使用 Java Cryptography API 实现 AES 加密,使用 AES/CBC/PKCS5Padding 加密模式,使用 256 位密钥
- OrgConfigController 控制器 - Salesforce组织配置控制器,提供 6 个 RESTful API 接口,支持组织配置的增删改查和验证
- IOrgConfigService 服务接口 - 组织配置服务接口,定义组织配置 CRUD 方法
- OrgConfigServiceImpl 服务实现 - 组织配置服务实现,使用 MyBatis Plus 的 BaseMapper 实现 CRUD,使用 EncryptionUtil 加密敏感字段
- IOrgConfigValidationService 服务接口 - 组织配置验证服务接口,定义配置验证方法
- OrgConfigValidationServiceImpl 服务实现 - 组织配置验证服务实现,使用正则表达式验证 OAuth 信息格式,使用 @Async 注解实现异步验证
- OrgConfigValidationResult 验证结果类 - 组织配置验证结果,提供成功和失败的静态工厂方法
- application.yml - 配置加密密钥
- 单元测试 - OrgConfigServiceImplTest
- 基础实体类和Mapper创建(REQ-010-2) - 为9张数据库表创建了对应的Java实体类、Mapper接口和XML映射文件,使用MyBatis Plus框架,提供基础的CRUD操作
- DataiMetaOrgConfig 实体类 - Salesforce组织配置实体类,使用 @TableName 注解指定表名,使用 @TableId 注解标识主键,使用 @TableField 注解处理字段映射,使用 Lombok 简化代码,使用 @TableField(select = false) 注解保护敏感字段
- DataiMetaTask 实体类 - 元数据任务定义实体类
- DataiMetaPackageItem 实体类 - 元数据包项实体类
- DataiMetaComponent 实体类 - 元数据组件实体类
- DataiMetaComponentVersion 实体类 - 元数据组件版本实体类
- DataiMetaJobExecution 实体类 - 元数据作业执行实体类
- DataiMetaDeployHistory 实体类 - 元数据部署历史实体类
- DataiMetaDeployComponentResult 实体类 - 元数据部署组件结果实体类
- DataiMetaJobLog 实体类 - 元数据作业日志实体类
- DataiMetaOrgConfigMapper 接口 - Salesforce组织配置Mapper接口,继承 BaseMapper,使用 @Mapper 注解标记
- DataiMetaTaskMapper 接口 - 元数据任务定义Mapper接口
- DataiMetaPackageItemMapper 接口 - 元数据包项Mapper接口
- DataiMetaComponentMapper 接口 - 元数据组件Mapper接口
- DataiMetaComponentVersionMapper 接口 - 元数据组件版本Mapper接口
- DataiMetaJobExecutionMapper 接口 - 元数据作业执行Mapper接口
- DataiMetaDeployHistoryMapper 接口 - 元数据部署历史Mapper接口
- DataiMetaDeployComponentResultMapper 接口 - 元数据部署组件结果Mapper接口
- DataiMetaJobLogMapper 接口 - 元数据作业日志Mapper接口
- DataiMetaOrgConfigMapper.xml - Salesforce组织配置Mapper映射文件,配置 namespace 和 resultType
- DataiMetaTaskMapper.xml - 元数据任务定义Mapper映射文件
- DataiMetaPackageItemMapper.xml - 元数据包项Mapper映射文件
- DataiMetaComponentMapper.xml - 元数据组件Mapper映射文件
- DataiMetaComponentVersionMapper.xml - 元数据组件版本Mapper映射文件
- DataiMetaJobExecutionMapper.xml - 元数据作业执行Mapper映射文件
- DataiMetaDeployHistoryMapper.xml - 元数据部署历史Mapper映射文件
- DataiMetaDeployComponentResultMapper.xml - 元数据部署组件结果Mapper映射文件
- DataiMetaJobLogMapper.xml - 元数据作业日志Mapper映射文件
- application.yml - 配置 MyBatis Plus 扫描路径和分页插件
- 单元测试 - DataiMetaOrgConfigTest、DataiMetaTaskTest、DataiMetaPackageItemTest、DataiMetaComponentTest、DataiMetaComponentVersionTest、DataiMetaJobExecutionTest、DataiMetaDeployHistoryTest、DataiMetaDeployComponentResultTest、DataiMetaJobLogTest
- 性能优化和限流处理(REQ-010-17) - 实现了完整的性能优化和限流处理功能,包括API限流处理、并发控制、缓存优化、数据库优化、文件处理优化、性能监控
- RateLimitConfig 配置类 - 限流配置类,使用 Guava RateLimiter 实现令牌桶算法
- @RateLimit 注解 - 限流注解,定义注解属性
- RateLimitAspect 切面类 - 限流切面,使用 AOP 实现限流功能
- RateLimitException 异常类 - 限流异常类,统一管理限流异常
- RateLimitService 服务类 - 限流服务,使用 Spring Retry 实现重试机制
- ThreadPoolConfig 配置类 - 线程池配置类,配置线程池参数
- PriorityTask 任务类 - 优先级任务类,支持任务优先级
- ConcurrencyControlService 服务类 - 并发控制服务,使用 @Async 实现异步执行
- CacheConfig 配置类 - 缓存配置类,配置 Redis 缓存
- CacheService 服务类 - 缓存服务,使用 Spring Cache 注解简化缓存操作
- BatchOperationService 服务类 - 批量操作服务,使用 MyBatis Plus 的批量操作功能
- QueryOptimizationService 服务类 - 查询优化服务,使用 MyBatis Plus 的分页插件实现分页查询
- FileProcessingService 服务类 - 流式文件处理服务,使用 Java 的 Stream API 实现流式处理大文件
- ParallelFileProcessingService 服务类 - 并行文件处理服务,使用 CompletableFuture 实现并行处理多个文件
- PerformanceMonitoringConfig 配置类 - 性能监控配置类,使用 Micrometer 创建性能指标
- PerformanceMonitoringService 服务类 - 性能监控服务,使用 Micrometer 收集性能指标
- 异常处理机制完善(REQ-010-16) - 实现了完整的异常处理机制完善功能,包括异常捕获、异常分类、异常处理、异常恢复、异常告警、异常日志
- GlobalExceptionHandler 全局异常处理器 - 提供统一的异常处理,使用 @ControllerAdvice 和 @ExceptionHandler 注解
- ExceptionLogController 控制器 - 提供 4 个 RESTful API 接口,支持异常日志查询、删除
- RecoveryController 控制器 - 提供 6 个 RESTful API 接口,支持恢复点创建、查询、恢复、删除
- ExceptionAlarmController 控制器 - 提供 6 个 RESTful API 接口,支持异常告警创建、查询、发送、删除
- IExceptionLogService 服务接口 - 定义异常日志服务接口
- ExceptionLogServiceImpl 服务实现 - 实现异常日志服务,使用日志框架记录异常日志,使用 MyBatis Plus 实现异常日志查询
- IRecoveryService 服务接口 - 定义恢复服务接口
- RecoveryServiceImpl 服务实现 - 实现恢复服务,使用状态机管理恢复过程,使用恢复点记录恢复状态
- IExceptionAlarmService 服务接口 - 定义异常告警服务接口
- ExceptionAlarmServiceImpl 服务实现 - 实现异常告警服务,使用消息队列异步发送告警
- ExceptionType 枚举 - 异常类型枚举(NETWORK、API_CALL、FILE_OPERATION、DATABASE_OPERATION、BUSINESS_LOGIC)
- ExceptionLevel 枚举 - 异常级别枚举(INFO、WARN、ERROR、FATAL)
- ExceptionSource 枚举 - 异常来源枚举(METADATA_RETRIEVE、METADATA_DEPLOY、FILE_STORAGE、DATABASE)
- BaseException 基类 - 自定义异常基类
- NetworkException 网络异常类 - 网络异常类
- ApiCallException API 调用异常类 - API 调用异常类
- FileOperationException 文件操作异常类 - 文件操作异常类
- DatabaseOperationException 数据库操作异常类 - 数据库操作异常类
- BusinessLogicException 业务逻辑异常类 - 业务逻辑异常类
- ExceptionLog 实体类 - 异常日志实体类
- RecoveryPoint 实体类 - 恢复点实体类
- ExceptionAlarm 实体类 - 异常告警实体类
- ExceptionLogMapper 接口 - 异常日志 Mapper 接口
- RecoveryPointMapper 接口 - 恢复点 Mapper 接口
- ExceptionAlarmMapper 接口 - 异常告警 Mapper 接口
- 详细日志记录和查询(REQ-010-15) - 实现了完整的详细日志记录和查询功能,包括日志记录、日志查询、日志导出、日志分析
- LogQueryController 控制器 - 提供 4 个 RESTful API 接口,支持日志列表查询、条件查询、时间范围查询、作业ID查询
- LogExportController 控制器 - 提供 6 个 RESTful API 接口,支持日志导出为文本文件、Excel 文件、CSV 文件,支持按条件导出
- LogAnalysisController 控制器 - 提供 5 个 RESTful API 接口,支持日志分析、日志趋势分析、日志统计分析
- IOperationLogService 服务接口 - 定义操作日志服务接口
- OperationLogServiceImpl 服务实现 - 实现操作日志服务,使用异步日志记录,使用日志框架记录日志
- ILogQueryService 服务接口 - 定义日志查询服务接口
- LogQueryServiceImpl 服务实现 - 实现日志查询服务,使用 MyBatis Plus 的 QueryWrapper 实现多条件查询,使用分页插件实现分页
- ILogExportService 服务接口 - 定义日志导出服务接口
- LogExportServiceImpl 服务实现 - 实现日志导出服务,使用 Apache POI 和 EasyExcel 实现 Excel 文件导出,使用流式处理大文件导出
- ILogAnalysisService 服务接口 - 定义日志分析服务接口
- LogAnalysisServiceImpl 服务实现 - 实现日志分析服务,使用聚合查询实现日志统计,使用图表展示分析结果
- LogLevel 枚举 - 日志级别枚举(INFO、WARN、ERROR)
- OperationLog 实体类 - 操作日志实体类
- OperationLogMapper 接口 - 操作日志 Mapper 接口
- 作业执行监控(REQ-010-14) - 实现了完整的作业执行监控功能,包括作业状态监控、作业进度监控、作业耗时统计、作业失败告警、作业列表查询
- JobStatusController 控制器 - 提供 8 个 RESTful API 接口,支持作业状态创建、查询、更新、删除
- JobProgressController 控制器 - 提供 3 个 RESTful API 接口,支持作业进度查询、更新
- JobStatisticsController 控制器 - 提供 5 个 RESTful API 接口,支持作业耗时统计、作业统计查询
- JobAlarmController 控制器 - 提供 5 个 RESTful API 接口,支持作业告警创建、查询、发送、删除
- JobQueryController 控制器 - 提供 4 个 RESTful API 接口,支持作业列表查询、条件查询、时间范围查询
- IJobExecutionService 服务接口 - 定义作业执行服务接口
- JobExecutionServiceImpl 服务实现 - 实现作业执行服务,使用 MyBatis Plus 的 BaseMapper
- IJobProgressService 服务接口 - 定义作业进度服务接口
- JobProgressServiceImpl 服务实现 - 实现作业进度服务,使用缓存提高查询性能
- IJobStatisticsService 服务接口 - 定义作业统计服务接口
- JobStatisticsServiceImpl 服务实现 - 实现作业统计服务,使用时间戳记录作业开始和结束时间
- IJobAlarmService 服务接口 - 定义作业告警服务接口
- JobAlarmServiceImpl 服务实现 - 实现作业告警服务,使用消息队列异步发送告警
- IJobQueryService 服务接口 - 定义作业查询服务接口
- JobQueryServiceImpl 服务实现 - 实现作业查询服务,使用 MyBatis Plus 的 BaseMapper 和分页插件
- JobStatus 枚举 - 作业状态枚举(PENDING、RUNNING、SUCCESS、FAILED、CANCELLED)
- JobType 枚举 - 作业类型枚举(RETRIEVE、DEPLOY、QUICK_DEPLOY、DESTRUCTIVE_CHANGES)
- JobExecution 实体类 - 作业执行实体类
- JobAlarm 实体类 - 作业告警实体类
- JobExecutionMapper 接口 - 作业执行 Mapper 接口
- JobAlarmMapper 接口 - 作业告警 Mapper 接口
- 复用 IMetadataRetrieveService 服务接口 - 元数据拉取服务接口,用于监控拉取作业
- 复用 IMetadataDeployService 服务接口 - 元数据部署服务接口,用于监控部署作业
- 版本回溯功能(REQ-010-13) - 实现了完整的版本回溯功能,支持查看和恢复历史版本的元数据文件
- VersionHistoryController 控制器 - 提供 8 个 RESTful API 接口,支持版本历史记录创建、查询、删除
- VersionComparisonController 控制器 - 提供 3 个 RESTful API 接口,支持版本对比、文件内容对比、文件哈希对比
- VersionRecoveryController 控制器 - 提供 1 个 RESTful API 接口,支持版本恢复
- VersionRollbackController 控制器 - 提供 1 个 RESTful API 接口,支持版本回滚
- IMetadataVersionService 服务接口 - 定义元数据版本服务接口
- MetadataVersionServiceImpl 服务实现 - 实现元数据版本服务,使用 MyBatis Plus 的 BaseMapper
- IVersionComparisonService 服务接口 - 定义版本对比服务接口
- VersionComparisonServiceImpl 服务实现 - 实现版本对比服务,使用 Google Diff Match Patch 库
- IVersionRecoveryService 服务接口 - 定义版本恢复服务接口
- VersionRecoveryServiceImpl 服务实现 - 实现版本恢复服务,使用 @Transactional 注解确保恢复原子性
- IVersionRollbackService 服务接口 - 定义版本回滚服务接口
- VersionRollbackServiceImpl 服务实现 - 实现版本回滚服务,使用 @Transactional 注解确保回滚原子性
- MetadataVersion 实体类 - 元数据版本实体类
- MetadataVersionMapper 接口 - 元数据版本 Mapper 接口
- DTO 类 - VersionHistoryCreateRequest、VersionHistoryCreateResponse、VersionHistoryQueryRequest、VersionHistoryQueryResponse、VersionComparisonRequest、VersionComparisonResponse、FileContentComparisonRequest、FileContentComparisonResponse、FileHashComparisonRequest、FileHashComparisonResponse、VersionRecoveryRequest、VersionRecoveryResponse、VersionRollbackRequest、VersionRollbackResponse
- 异常类 - VersionHistoryException、VersionComparisonException、VersionRecoveryException、VersionRollbackException
- 复用 IFileStorageService 接口 - 文件存储服务接口,用于读取文件内容
- 复用 IMetadataRetrieveService 服务接口 - 元数据拉取服务接口,用于版本恢复
- 复用 IMetadataDeployService 服务接口 - 元数据部署服务接口,用于版本回滚
- 文件哈希对比和增量检测(REQ-010-12) - 实现了完整的文件哈希对比和增量检测功能,支持检测文件变化,只拉取或部署变化的文件
- FileHashController 控制器 - 提供 2 个 RESTful API 接口,支持文件哈希计算、批量哈希计算
- HashComparisonController 控制器 - 提供 2 个 RESTful API 接口,支持哈希对比、查找变化文件
- IncrementalDetectionController 控制器 - 提供 3 个 RESTful API 接口,支持增量检测、监听文件系统、停止监听
- IncrementalRetrieveController 控制器 - 提供 1 个 RESTful API 接口,支持增量拉取
- IncrementalDeployController 控制器 - 提供 1 个 RESTful API 接口,支持增量部署
- IFileHashService 服务接口 - 定义文件哈希服务接口
- FileHashServiceImpl 服务实现 - 实现文件哈希服务,使用 SHA-256 算法,使用流式处理大文件
- IHashComparisonService 服务接口 - 定义哈希对比服务接口
- HashComparisonServiceImpl 服务实现 - 实现哈希对比服务,使用并行处理提高对比性能
- IIncrementalDetectionService 服务接口 - 定义增量检测服务接口
- IncrementalDetectionServiceImpl 服务实现 - 实现增量检测服务,使用哈希对比和文件系统监听器
- IIncrementalRetrieveService 服务接口 - 定义增量拉取服务接口
- IncrementalRetrieveServiceImpl 服务实现 - 实现增量拉取服务,复用 IMetadataRetrieveService
- IIncrementalDeployService 服务接口 - 定义增量部署服务接口
- IncrementalDeployServiceImpl 服务实现 - 实现增量部署服务,复用 IMetadataDeployService
- ChangeType 枚举 - 文件变化类型枚举(ADDED、MODIFIED、DELETED)
- FileChange 实体类 - 文件变化实体类
- FileChangeMapper 接口 - 文件变化 Mapper 接口
- DTO 类 - FileHashCalculateRequest、FileHashCalculateResponse、FileHashBatchCalculateRequest、FileHashBatchCalculateResponse、HashComparisonRequest、HashComparisonResponse、ChangedFilesFindRequest、ChangedFilesFindResponse、IncrementalDetectionRequest、IncrementalDetectionResponse、IncrementalRetrieveRequest、IncrementalRetrieveResponse、IncrementalDeployRequest、IncrementalDeployResponse
- 异常类 - FileHashException、HashComparisonException、IncrementalDetectionException、IncrementalRetrieveException、IncrementalDeployException
- 复用 IFileStorageService 接口 - 文件存储服务接口,用于读取文件内容
- 复用 IMetadataRetrieveService 服务接口 - 元数据拉取服务接口,用于增量拉取
- 复用 IMetadataDeployService 服务接口 - 元数据部署服务接口,用于增量部署
- 元数据组件索引和查询(REQ-010-11) - 实现了完整的元数据组件索引和查询功能,支持按类型、名称、版本等条件查询元数据组件
- MetadataComponentIndexController 控制器 - 提供 8 个 RESTful API 接口,支持组件索引创建、组件查询、组件详情查看、组件统计
- IMetadataComponentIndexService 服务接口 - 定义组件索引服务接口
- MetadataComponentIndexServiceImpl 服务实现 - 实现组件索引服务,支持异步索引创建
- IMetadataComponentQueryService 服务接口 - 定义组件查询服务接口
- MetadataComponentQueryServiceImpl 服务实现 - 实现组件查询服务,使用 MyBatis Plus 的 QueryWrapper 实现多条件查询
- IMetadataComponentDetailService 服务接口 - 定义组件详情服务接口
- MetadataComponentDetailServiceImpl 服务实现 - 实现组件详情服务,支持查看组件文件内容和依赖关系
- IMetadataComponentStatisticsService 服务接口 - 定义组件统计服务接口
- MetadataComponentStatisticsServiceImpl 服务实现 - 实现组件统计服务,使用 MyBatis Plus 的聚合查询实现统计功能
- MetadataComponentParser 接口 - 元数据组件解析器接口
- ApexClassParser 实现类 - Apex Class 解析器
- VisualforcePageParser 实现类 - Visualforce Page 解析器
- CustomObjectParser 实现类 - Custom Object 解析器
- CustomFieldParser 实现类 - Custom Field 解析器
- MetadataComponentIndex 实体类 - 元数据组件索引实体类
- MetadataComponentIndexMapper 接口 - 元数据组件索引 Mapper 接口
- DTO 类 - ComponentIndexRequest、ComponentIndexResponse、ComponentQueryRequest、ComponentQueryResponse、ComponentDetailResponse、ComponentStatisticsResponse、ComponentTypeDistributionResponse、ComponentVersionDistributionResponse
- ComponentIndexException 异常类 - 组件索引异常类
- 复用 IFileStorageService 接口 - 文件存储服务接口,用于读取组件文件内容
- Destructive Changes功能实现(REQ-010-10) - 实现了完整的 Destructive Changes 功能,支持部署时删除指定的元数据组件,使用 destructiveChanges.xml 配置删除规则
- DestructiveChangesController 控制器 - 提供 6 个 RESTful API 接口,支持 destructiveChanges.xml 配置、Destructive Changes 部署、Destructive Changes 验证、Destructive Changes 历史记录、Destructive Changes 回滚
- IDestructiveChangesService 服务接口 - 定义 Destructive Changes 服务接口
- DestructiveChangesServiceImpl 服务实现 - 实现 Destructive Changes 服务,支持异步执行和状态管理
- IDestructiveChangesConfigService 服务接口 - 定义 Destructive Changes 配置服务接口
- DestructiveChangesConfigServiceImpl 服务实现 - 实现 Destructive Changes 配置服务,支持 destructiveChanges.xml 配置和验证
- DestructiveChangesXmlParser 工具类 - Destructive Changes XML 解析器,验证 destructiveChanges.xml 格式
- DestructiveChangesXmlBuilder 工具类 - Destructive Changes XML 构建器,构建 destructiveChanges.xml
- DestructiveChangeRule 实体类 - Destructive Change Rule 实体类
- DestructiveChangeRuleMapper 接口 - Destructive Change Rule Mapper 接口
- DTO 类 - DestructiveChangesConfigRequest、DestructiveChangesConfigResponse、DestructiveChangesValidateRequest、DestructiveChangesValidateResponse、DestructiveChangesDeployRequest、DestructiveChangesDeployResponse、DestructiveChangesHistoryResponse、DestructiveChangesRollbackRequest、DestructiveChangesRollbackResponse
- DestructiveChangesException 异常类 - Destructive Changes 异常类
- 复用 AsyncConfig 配置类 - 异步配置,自定义线程池
- Quick Deploy功能实现(REQ-010-9) - 实现了完整的 Quick Deploy 功能,支持基于最近一次成功的部署记录快速重新部署,无需重新运行测试
- QuickDeployController 控制器 - 提供 4 个 RESTful API 接口,支持 Quick Deploy 触发、进度查询、取消操作、历史记录查询
- IQuickDeployService 服务接口 - 定义 Quick Deploy 服务接口
- QuickDeployServiceImpl 服务实现 - 实现 Quick Deploy 服务,支持异步执行和状态管理
- DTO 类 - QuickDeployTriggerRequest、QuickDeployTriggerResponse、QuickDeployProgressResponse、QuickDeployHistoryResponse、QuickDeployResult
- 复用 DeployStatus 枚举 - 定义 Quick Deploy 状态(Pending/Processing/Success/Failed/Partial_Success/Cancelled)
- 复用 AsyncConfig 配置类 - 异步配置,自定义线程池
- 复用 DeployException 异常类 - Quick Deploy 异常
- 元数据部署核心功能(REQ-010-8) - 实现了完整的 Salesforce 元数据部署核心功能,包括手动触发部署、异步部署执行、状态监控、部署历史记录、部署进度查询、部署取消功能、部署结果解析
- DeployStatus 枚举 - 定义部署状态(Pending/Processing/Success/Failed/Partial_Success/Cancelled)
- MetadataDeployController 控制器 - 提供 4 个 RESTful API 接口,支持部署触发、进度查询、取消操作、历史记录查询
- IMetadataDeployService 服务接口 - 定义元数据部署服务接口
- MetadataDeployServiceImpl 服务实现 - 实现元数据部署服务,支持异步执行和状态管理
- DTO 类 - DeployTriggerRequest、DeployTriggerResponse、DeployProgressResponse、DeployHistoryResponse、DeployResult
- AsyncConfig 配置类 - 异步配置,自定义线程池
- DeployException 异常类 - 部署异常
- 文件存储和解压处理(REQ-010-7) - 实现了完整的文件存储和解压处理功能,包括 Zip 文件存储、文件解压、文件路径管理、存储空间管理和文件清理
- IFileStorageService 接口 - 文件存储服务接口,支持存储、读取、删除、存在性检查
- LocalStorageService 实现类 - 本地文件系统存储实现,支持配置动态切换
- OssStorageService 实现类 - OSS 存储实现,使用阿里云 OSS SDK
- IFileExtractService 接口 - 文件解压服务接口,支持进度回调和取消操作
- FileExtractServiceImpl 实现类 - 文件解压服务实现,使用 ZipInputStream 实现流式解压
- PathValidator 工具类 - 路径验证工具类,使用 Path API 和正则表达式验证路径安全性
- IStorageMonitorService 接口 - 存储空间监控服务接口
- StorageMonitorServiceImpl 实现类 - 存储空间监控服务实现,使用定时任务定期检查存储空间
- IFileCleanupService 接口 - 文件清理服务接口
- FileCleanupServiceImpl 实现类 - 文件清理服务实现,使用定时任务定期清理过期文件
- DTO 类 - FileStorageRequest、FileStorageResponse、FileExtractRequest、FileExtractResponse、ExtractProgressCallback、StorageSpaceInfo、FileCleanupRequest、FileCleanupResponse
- 枚举类 - StorageType、ExtractStatus
- 配置类 - FileStorageConfig、OssConfig
- 异常类 - FileStorageException、FileExtractException、PathSecurityException
- 工具类 - FileUtil、ZipUtil
- 单元测试 - LocalStorageServiceTest、FileExtractServiceTest、PathValidatorTest、StorageMonitorServiceTest、FileCleanupServiceTest、FileUtilTest、ZipUtilTest
- 元数据拉取核心功能(REQ-010-6) - 实现了完整的 Salesforce 元数据拉取核心功能,包括手动触发拉取、异步拉取执行、状态监控、拉取历史记录、拉取进度查询、拉取取消功能
- RetrieveStatus 枚举 - 定义拉取状态(Pending/Processing/Success/Failed/Partial_Success/Cancelled)
- MetadataRetrieveController 控制器 - 提供 4 个 RESTful API 接口,支持拉取触发、进度查询、取消操作、历史记录查询
- IMetadataRetrieveService 服务接口 - 定义元数据拉取服务接口
- MetadataRetrieveServiceImpl 服务实现 - 实现元数据拉取服务,支持异步执行和状态管理
- DTO 类 - RetrieveTriggerRequest、RetrieveTriggerResponse、RetrieveProgressResponse、RetrieveHistoryResponse
- 前端组件 - MetadataRetrieve.vue,基于 Vue 3 和 Element Plus 的元数据拉取界面
Changed
- 无
Fixed
- 无
[0.1.15] - 2026-01-17
Added
- 数据库表结构设计和创建 - 为 Salesforce 元数据拉取和部署功能(REQ-010-1)设计了 6 个核心数据库表,采用 MyBatis Plus + MySQL 技术栈
- datai_meta_org_config - Salesforce组织配置表,支持 OAuth2 和 JWT 两种认证方式
- datai_meta_task - 元数据任务定义表,支持多种任务类型和版本控制
- datai_meta_job_execution - 作业执行记录表,跟踪作业执行状态和进度
- datai_meta_component - 元数据组件索引表,支持版本管理和哈希对比
- datai_meta_deploy_history - 部署历史记录表,记录部署详细信息
- datai_meta_job_log - 作业执行日志表,记录详细日志信息
- 索引策略优化 - 为每个表设计了合理的索引策略,确保查询性能
- 数据安全设计 - 对敏感字段进行了加密存储设计(client_secret、password、security_token、access_token、refresh_token)
- 命名规范统一 - 所有表名统一使用 datai_meta_ 前缀,与现有项目表结构保持一致
- 基础字段标准化 - 所有表包含标准基础字段(dept_id, create_by, create_time, update_by, update_time, remark)
Changed
- 无
Fixed
- 无
[0.1.14] - 2026-01-16
Added
- updateObjectDataToTarget 更新数据进度跟踪功能 - 复用现有的内存存储方案(ConcurrentHashMap)存储进度信息,更新任务完成后立即清除进度信息,不保留历史记录
- 更新进度查询接口 - 支持按对象ID查询更新进度和查询所有正在更新的对象进度
- 更新进度跟踪集成 - 在 updateObjectDataToTarget 方法中集成了进度跟踪功能,与 syncObjectData 同步进度跟踪功能和 insertObjectDataToTarget 插入数据进度跟踪功能保持一致
Changed
- 无
Fixed
- 无
[0.1.13] - 2026-01-16
Added
- insertObjectDataToTarget 插入数据进度跟踪功能 - 复用现有的内存存储方案(ConcurrentHashMap)存储进度信息,插入任务完成后立即清除进度信息,不保留历史记录
- 插入进度查询接口 - 支持按对象ID查询插入进度和查询所有正在插入的对象进度
- 插入进度跟踪集成 - 在 insertObjectDataToTarget 方法中集成了进度跟踪功能,与 syncObjectData 同步进度跟踪功能保持一致
Changed
- 无
Fixed
- 无
[0.1.12] - 2026-01-16
Added
- syncObjectData 同步进度跟踪功能 - 使用内存存储方案(ConcurrentHashMap)存储进度信息,同步任务完成后立即清除进度信息,不保留历史记录
- 进度查询接口 - 支持按对象ID查询进度和查询所有正在同步的对象进度
- 进度跟踪服务 - 创建了 ISyncProgressService 接口和 SyncProgressServiceImpl 实现类,支持并发访问
Changed
- 无
Fixed
- 无
[0.1.11] - 2026-01-13
Added
- 目标ORG登录功能 - 支持目标ORG的独立认证管理,为双向同步提供基础
Changed
- 无
Fixed
- 无
[0.1.0] - 2026-01-08
Added
- 项目初始化
- 认证模块:datai-salesforce-auth
- 通用模块:datai-salesforce-common
- 集成模块:datai-salesforce-integration
- 支持多种 Salesforce API:Bulk API v1/v2、Partner API、REST API
Changed
- 无
Fixed
- 无
变更记录规范
本文件遵循 Keep a Changelog 规范,记录项目的重要变更。
变更类型
- Added: 新增功能
- Changed: 功能变更
- Fixed: 问题修复
- Deprecated: 废弃功能
- Removed: 移除功能
- Security: 安全相关
版本号格式
采用语义化版本号格式:MAJOR.MINOR.PATCH
- MAJOR: 不兼容的 API 变更
- MINOR: 向下兼容的功能新增
- PATCH: 向下兼容的问题修复
变更记录要求
- 每个版本的变更必须包含日期
- 变更描述必须清晰、简洁
- 重大变更必须详细说明影响
- 变更必须与代码提交对应