Commit Graph

16 Commits

Author SHA1 Message Date
2d8f9c0aa2 feat: 实现从库数据源注解功能 (REQ-003)
- 扩展 @DataSource 注解,支持从库数据源的动态切换
- 在 DataSourceAspect 切面中添加动态路由逻辑,通过反射调用 SalesforceConfigCacheManager.getCurrentEnvironmentCode() 方法获取当前激活环境编码
- 构造从库数据源名称(slave_环境编码),检查从库是否存在,存在则切换到从库,不存在则回退到主库
- 缓存 SalesforceConfigCacheManager Bean 和 getCurrentEnvironmentCode Method 对象,优化性能
- 为 8 个方法添加 @DataSource(DataSourceType.SLAVE) 注解:
  - DataiIntegrationObjectServiceImpl.createObjectStructure
  - DataiIntegrationObjectServiceImpl.syncSingleObjectData
  - DataiIntegrationObjectServiceImpl.syncMultipleObjectData
  - DataiIntegrationBatchServiceImpl.syncBatchData
  - DataiIntegrationMetadataChangeServiceImpl.syncToLocalDatabase
  - DataiIntegrationMetadataChangeServiceImpl.syncBatchToLocalDatabase
  - DataSynchronizerImpl.synchronizeData
  - DataSynchronizerImpl.batchSynchronizeData
- 创建需求文档、设计文档、决策记录、提示词文档、会话记录、变更日志、复盘文档和 API 文档
- 更新 CHANGELOG.md 和索引文档
2026-01-24 23:21:57 +08:00
b9be19c94d feat: 环境从库初始化功能 (2026-01-24-002)
实现环境从库初始化功能,包括数据库创建、配置写入、数据源注册、连接验证等步骤。

主要变更:
- 在 ISysDatasourceConfigService 接口中新增 createSlaveDatabase 方法
- 在 SysDatasourceConfigServiceImpl 中实现 createSlaveDatabase 方法
  - 从 application-druid.yml 配置文件中读取主库配置
  - 生成从库名称(slave_环境编码)
  - 检查数据源名称是否已存在
  - 使用 JDBC 创建数据库(字符集:utf8mb4,排序规则:utf8mb4_unicode_ci)
  - 写入数据源配置表
  - 注册数据源到 DataSourceManager
  - 切换到从库并验证连接有效性
  - 切换回主库
  - 使用 Spring 事务保证原子性,验证失败时自动回滚
  - 新增辅助方法:extractDbNameFromUrl、extractHostFromUrl、extractPortFromUrl、extractDbTypeFromUrl
- 在 IDataiConfigEnvironmentService 接口中新增 initSlaveDatasource 方法
- 在 DataiConfigEnvironmentServiceImpl 中实现 initSlaveDatasource 方法
- 在 DataiConfigEnvironmentController 中新增 initSlaveDatasource 接口方法
- 在 DataiConfigEnvironment 实体类中新增 datasourceId 字段
- 在 datai_config_environment 表中新增 datasource_id 字段并添加索引

文档变更:
- 新增需求文档:2026-01-24-002-环境从库初始化.md
- 新增设计文档:2026-01-24-002-环境从库初始化设计.md
- 新增决策记录:2026-01-24-002-ADR-环境从库初始化.md
- 新增提示词文档:2026-01-24-002-prompt-环境从库初始化.md
- 新增实施方案:2026-01-24-002-implementation-环境从库初始化.md
- 新增变更日志:2026-01-24-002-changelog.md
- 新增复盘文档:2026-01-24-002-retro.md
- 新增 API 文档:2026-01-24-002-api-环境从库初始化.md
- 新增会话记录:2026-01-24-002-session.md
- 更新项目索引:index.md
- 更新根目录变更日志:CHANGELOG.md

相关需求:2026-01-24-002
2026-01-24 20:12:48 +08:00
813b76f87e feat: 添加环境初始数据源配置功能(阶段一:需求定义)
- 在 DataiConfigEnvironment 实体中添加 isInitialDataSource 字段
- 创建需求文档:环境初始数据源配置需求
- 支持为每个环境配置初始数据源
- 支持应用启动时自动加载环境的初始数据源
- 结合动态数据源延迟加载机制,实现环境与数据源的灵活绑定

需求编号: 2026-01-24-001
阶段: 阶段一 - 需求定义
2026-01-24 18:46:29 +08:00
1172ef02ad feat: 实现动态数据源延迟加载功能
- 实现数据源配置管理功能(增删改查、启用/停用)
- 实现延迟加载从库(启动时只加载主库,从库按需加载)
- 实现动态切换从库(运行时切换库名,支持回滚)
- 实现数据源状态监控(连接池状态、活跃连接数等)
- 支持多数据库类型(MySQL、PostgreSQL、Oracle、openGauss、SQL Server、H2)
- 完善数据源路由(@DataSource 注解 + AOP 切面)
- 添加密码加密(AES-GCM)
- 完善异常回滚机制
- 更新需求、设计、ADR 文档

需求编号: 2026-01-21-001
2026-01-24 14:46:34 +08:00
dd4efbd4e1 feat: [012] 环境有效性字段功能 2026-01-23 13:29:49 +08:00
64fbaac7b5 feat:文件上传下载及变更环境配置对应京东云 2026-01-20 11:29:24 +08:00
8287b5e2c2 docs: 创建REQ-011(Salesforce文件上传下载功能)需求文档
- 阶段1:需求定义与入库 - 创建需求文档 REQ-011.md
- 需求描述:在 datai-salesforce-integration 模块新增一个 controller,实现 Salesforce 的文件指定 org 上传下载功能
- 详细需求包括:
  - 文件上传功能:实现本地文件上传到 Salesforce Attachment 对象
  - 文件下载功能:实现从 Salesforce Attachment 对象下载文件到本地
  - 指定组织配置:支持用户指定组织配置 ID
  - 错误处理机制:实现完善的错误处理机制
- 参考 Attachment文件上传.md、Attachment文件下载.md、CommonServiceImpl.java 中的实现逻辑
- 更新 index.md,将新需求添加到需求文档表格
- 所有文档均按照SSOT方法论创建
2026-01-19 11:18:19 +08:00
2e6f087732 docs: 完成REQ-010-17和REQ-010-2的文档创建
- 完成REQ-010-17(性能优化和限流处理)的所有6个阶段
  - 创建ADR文档:0026-performance-optimization.md
  - 创建Prompt文档:027-performance-optimization.md
  - 创建会话记录:20260119-performance-optimization.md
  - 创建变更记录:20260119-performance-optimization.md
  - 创建复盘报告:20260119-performance-optimization-retro.md
  - 更新index.md和CHANGELOG.md

- 完成REQ-010-2(基础实体类和Mapper创建)的前3个阶段
  - 更新ADR文档:0011-entity-mapper-create.md
  - 创建Prompt文档:002-entity-mapper-create.md
  - 更新index.md

所有文档均按照SSOT方法论创建,包括需求定义、架构决策、提示词资产化、执行会话、变更记录和闭环复盘。
2026-01-19 10:06:09 +08:00
19168db4a4 refactor: REQ-010-1 optimize database table design from 6 to 9 tables
Changes:
- Add 3 new tables (datai_meta_package_item, datai_meta_component_version, datai_meta_deploy_component_result)
- Optimize 6 existing tables to better match business requirements
- Update all related documents to maintain complete documentation chain

New tables:
1. datai_meta_package_item - Metadata package definition details
2. datai_meta_component_version - Metadata version content table
3. datai_meta_deploy_component_result - Deployment component result details

Documentation updates:
- Update REQ-010-1.md requirements document
- Update 0010-database-table-design.md ADR
- Update 20260117-database-table-design-create.md session record
- Update 0020-database-table-design-create.md changelog
- Update 20260117-database-table-design-create-retro.md retrospective
- Update docs/index.md to maintain complete documentation index
2026-01-18 20:13:13 +08:00
469c78cf29 feat: REQ-010-1 完成数据库表结构设计和创建,REQ-010-2 完成基础实体类和Mapper创建需求定义和架构决策
REQ-010-1 完成内容:
- 创建 6 个数据库表设计(datai_meta_org_config、datai_meta_task、datai_meta_job_execution、datai_meta_component、datai_meta_deploy_history、datai_meta_job_log)
- 设计了合理的索引策略
- 对敏感字段进行了加密存储设计
- 表名前缀统一为 datai_meta_
- 所有表包含标准基础字段

REQ-010-2 完成内容:
- 补充用户故事和细化验收标准
- 创建架构决策记录(MyBatis Plus 注解 + XML 映射文件混合方案)
- 对比了 3 种备选方案
- 分析了决策对系统架构、开发流程、运维管理的影响
- 识别了技术风险、业务风险和实施风险
- 定义了回滚策略和验收标准

文档更新:
- 创建 0010-database-table-design.md 架构决策记录
- 创建 0011-entity-mapper-create.md 架构决策记录
- 创建 0020-database-table-design-create.md 变更记录
- 创建 20260117-database-table-design-create.md 会话记录
- 创建 20260117-database-table-design-create-retro.md 复盘报告
- 创建 011-database-table-design-create.md 提示词文档
- 更新 REQ-010-2.md 需求文档
- 更新 docs/index.md 和 CHANGELOG.md
2026-01-18 19:44:13 +08:00
21c82a4b36 feat: 添加定时任务功能和文档
- 新增 4 个定时任务类:
  - ObjectSyncTask: 对象自动同步任务
  - ObjectInsertTask: 对象自动插入任务
  - ObjectUpdateTask: 对象自动更新任务
  - MetadataChangeAutoSyncTask: 元数据变更自动同步任务

- 新增 2 个多对象操作接口:
  - insertMultipleObjectDataToTarget: 批量插入对象数据到目标系统
  - updateMultipleObjectDataToTarget: 批量更新对象数据到目标系统

- 新增完整的定时任务文档:
  - task/index.md: 定时任务文档索引
  - ObjectSyncTask.md: 对象自动同步任务文档
  - ObjectInsertTask.md: 对象自动插入任务文档
  - ObjectUpdateTask.md: 对象自动更新任务文档
  - MetadataChangeAutoSyncTask.md: 元数据变更自动同步任务文档
  - RateLimitResetTask.md: 每日限流重置任务文档

- 新增 API 文档索引:api-docs/index.md

- 更新唯一真源文档中心:docs/index.md

- 新增完整的项目文档:
  - REQ-005.md: 定时任务自动同步、插入和更新对象数据需求
  - REQ-006.md: 元数据变更自动同步本地数据库需求
  - 0005-scheduled-tasks-implementation.md: 定时任务架构决策
  - 0006-metadata-change-auto-sync.md: 元数据变更自动同步架构决策
  - 005-scheduled-tasks-implementation.md: 定时任务实现提示词
  - 006-metadata-change-auto-sync.md: 元数据变更自动同步实现提示词
  - 20260116-scheduled-tasks-implementation.md: 定时任务实现会话记录
  - 20260116-metadata-change-auto-sync.md: 元数据变更自动同步实现会话记录
  - 20260116-scheduled-tasks-implementation-retro.md: 定时任务实现复盘
  - 20260116-metadata-change-auto-sync-retro.md: 元数据变更自动同步实现复盘
  - 0015-scheduled-tasks-implementation.md: 定时任务变更记录
  - 0016-metadata-change-auto-sync.md: 元数据变更自动同步变更记录

- 更新 CHANGELOG.md 和 README.md
2026-01-16 16:38:35 +08:00
85f71e1dc3 feat: 实现数据同步进度跟踪功能
- 新增 SyncProgress 实体类、ISyncProgressService 接口和 SyncProgressServiceImpl 实现类
- 在 DataiIntegrationObjectController 中添加 6 个进度查询接口:
  - 查询指定对象的同步进度
  - 查询所有正在同步的对象进度
  - 查询指定对象的插入进度
  - 查询所有正在插入的对象进度
  - 查询指定对象的更新进度
  - 查询所有正在更新的对象进度
- 在 DataiIntegrationObjectServiceImpl 中集成进度跟踪功能:
  - syncFullData 方法集成同步进度跟踪
  - syncIncrementalData 方法集成同步进度跟踪
  - insertObjectDataToTarget 方法集成插入进度跟踪
  - updateObjectDataToTarget 方法集成更新进度跟踪
- 进度信息存储在内存中(ConcurrentHashMap),任务完成后立即清除
- 新增 3 个需求文档(REQ-002、REQ-003、REQ-004)
- 新增 3 个架构决策记录(0002、0003、0004)
- 新增 3 个提示词文件(002、003、004)
- 新增 3 个会话记录
- 新增 3 个变更记录(0012、0013、0014)
- 新增 3 个复盘报告
- 新增 6 个 API 文档
- 更新 CHANGELOG.md 和 docs/index.md
2026-01-16 13:02:09 +08:00
517284b614 feat: 实现Salesforce Pub/Sub API实时数据同步
主要变更:
- 新增PubSubConnectionFactory连接工厂,提供Pub/Sub API连接管理
- 新增PubSubEventSubscriberImpl实现,支持Pub/Sub API事件订阅
- 更新EventProcessorImpl,添加事件批次处理能力
- 更新RealtimeSyncService,使用Pub/Sub API替代CDC实现
- 更新Authentication.canvas架构文档,添加Pub/Sub组件
- 优化同步配置管理和实时同步日志功能

技术改进:
- 提升实时同步性能和可靠性
- 支持批量事件处理,提高吞吐量
- 完善连接工厂模式,统一管理连接生命周期
2026-01-12 10:31:25 +08:00
0c96a2b86b 优化项目规则文件,添加变更记录文档 2026-01-09 09:37:41 +08:00
c52a048bbb chore: bootstrap SSOT framework with visual design support 2026-01-08 19:52:43 +08:00
51ffbea77d chore: 建立协作基线与单一真源文档体系 2026-01-07 23:11:44 +08:00