40 KiB
40 KiB
变更摘要
[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 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: 向下兼容的问题修复
变更记录要求
- 每个版本的变更必须包含日期
- 变更描述必须清晰、简洁
- 重大变更必须详细说明影响
- 变更必须与代码提交对应