datai/datai-scenes/datai-scene-salesforce/CHANGELOG.md

438 lines
40 KiB
Markdown
Raw 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.

# 变更摘要
## [Unreleased]
### Added
- 文件上传下载基础设施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 APIBulk API v1/v2、Partner API、REST API
### Changed
-
### Fixed
-
## 变更记录规范
本文件遵循 [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) 规范,记录项目的重要变更。
### 变更类型
- **Added**: 新增功能
- **Changed**: 功能变更
- **Fixed**: 问题修复
- **Deprecated**: 废弃功能
- **Removed**: 移除功能
- **Security**: 安全相关
### 版本号格式
采用语义化版本号格式MAJOR.MINOR.PATCH
- **MAJOR**: 不兼容的 API 变更
- **MINOR**: 向下兼容的功能新增
- **PATCH**: 向下兼容的问题修复
### 变更记录要求
- 每个版本的变更必须包含日期
- 变更描述必须清晰、简洁
- 重大变更必须详细说明影响
- 变更必须与代码提交对应