|
|
5a067d481f
|
fix: 修复 Salesforce Tooling API 类的字段冲突问题并优化类型处理
- 修复 SfApexClass、SfApexTrigger、SfMetadataContainer、SfContainerAsyncRequest、SfDeployDetails 类的字段冲突
- 移除与父类冲突的字段,直接使用父类方法
- 优化 DeploymentManager 的 parseCompilationErrors 方法,直接处理 DeployMessage[]
- 优化 MetadataContainerManager 的日期处理,直接使用 Calendar 类型
- 添加相关设计文档、提示词、复盘和会话记录
|
2026-01-28 14:05:29 +08:00 |
|
|
|
634e057ac9
|
feat: [002-08,002-09] 语言管理和国际化资源管理API文档拆分
|
2026-01-26 16:45:31 +08:00 |
|
|
|
dc885151a8
|
feat: 实现数字格式化功能
- 新增 NumberFormat 注解和 NumberFormatAspect 切面,实现 Service 层自动数字格式化
- 新增 NumberFormatUtils 工具类,提供数字格式化功能(COMMA、DOT、SPACE、CUSTOM)
- 新增 NumberConstants 常量类,定义数字格式常量
- 扩展 SysUser 实体,添加 numberFormat 和 decimalPlaces 字段
- 扩展 ISysUserService 接口,添加数字格式偏好管理方法
- 更新 SysUserServiceImpl,实现数字格式偏好管理逻辑
- 更新 SysUserController,添加数字格式偏好管理接口
- 更新 SysConfigController,添加系统默认数字格式查询接口
- 更新 CacheConstants,添加数字格式缓存常量
- 更新 TimeZoneConvertAspect,调整切面执行顺序
- 新增需求文档、设计文档、架构决策记录、SQL 脚本、提示词文档、会话记录、变更日志、复盘文档、API 文档
- 更新文档索引,添加新文档链接
需求编号: 2026-01-21-002-07
|
2026-01-25 23:52:05 +08:00 |
|
|
|
dd3c36207e
|
docs: 完成日期格式化功能文档(需求、设计、决策、提示词、复盘、API)
|
2026-01-25 22:56:33 +08:00 |
|
|
|
238764c694
|
feat: 实现货币格式化功能
- 新增货币格式化工具类 CurrencyUtils,支持多种货币格式化
- 新增 @CurrencyFormat 注解和 CurrencyFormatAspect AOP 切面,实现自动货币格式化
- 新增汇率管理功能,包括汇率查询、转换、更新等接口
- 新增用户货币偏好设置功能,支持用户切换货币
- 扩展 SysUser 表,添加 currency_code 字段
- 扩展 CacheConstants,添加货币相关缓存常量
- 新增 CurrencyConstants,定义货币相关常量
- 完善文档:需求文档、设计文档、ADR、提示词文档、会话记录、变更日志、复盘文档、API 文档
- 更新文档索引
需求编号:2026-01-21-002-05
父需求:2026-01-21-002-项目国际化需求
|
2026-01-25 21:47:26 +08:00 |
|
|
|
8b1e7d78a3
|
feat: 实现时区国际化功能
- 新增时区管理功能:时区设置、时区转换、时区显示、时区列表管理、时区切换、时区缓存管理
- 新增时区转换注解 @TimeZoneConvert 和 AOP 切面 TimeZoneConvertAspect
- 新增时区转换工具类 TimeZoneUtils
- 新增时区实体类、DTO、VO、Mapper、Service 和 Controller
- 新增时区 API 接口:获取当前用户时区、切换用户时区、获取系统默认时区、查询时区列表、获取时区详情、新增时区、修改时区、删除时区
- 新增时区缓存常量 CacheConstants.SYS_TIMEZONE_KEY
- 修改 SysUser 实体类,添加 time_zone 字段
- 修复 I18nController 导入错误,使用 RedisCache 替代 RedisUtils
- 完善 API 文档、变更日志、复盘文档和会话记录
- 更新文档索引
需求编号:2026-01-21-002-04
|
2026-01-25 18:54:33 +08:00 |
|
|
|
6c8bab4151
|
feat: [002-03] 实现数据库国际化功能
|
2026-01-25 16:23:46 +08:00 |
|
|
|
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 |
|
|
|
fe887c0641
|
fix: 修改从库数据库排序规则为 utf8mb4_general_ci
问题:从库数据库排序规则应使用 utf8mb4_general_ci 而非 utf8mb4_unicode_ci
修复:
- 修改 SQL 语句,将 COLLATE utf8mb4_unicode_ci 改为 COLLATE utf8mb4_general_ci
- 更新相关文档,包括接口文档、API 文档、变更日志、实施方案
说明:
- utf8mb4_general_ci 是 MySQL 的默认排序规则,性能更好
- utf8mb4_unicode_ci 是基于 Unicode 标准的排序规则,支持更多语言,但性能稍差
|
2026-01-24 20:51:46 +08:00 |
|
|
|
e80489530b
|
docs: 更新 DataiConfigEnvironmentController 接口文档
- 新增 0009-init-slave-datasource.md 接口文档
- 更新 0001-environment-list.md 接口文档,添加 datasourceId 字段
- 更新 0003-get-info.md 接口文档,添加 datasourceId 字段
- 更新 0004-add-environment.md 接口文档,更新最后更新日期
- 更新 0005-edit-environment.md 接口文档,更新最后更新日期
- 更新 index.md 索引,添加新接口链接并更新接口统计
|
2026-01-24 20:20:46 +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 |
|
|
|
dd4efbd4e1
|
feat: [012] 环境有效性字段功能
|
2026-01-23 13:29:49 +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 |
|
|
|
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 |
|
|
|
4f01af9025
|
feat:忽略sql文件
|
2026-01-14 17:31:25 +08:00 |
|
|
|
a383cde260
|
feat: 优化 autoLogin 接口支持 ORG 类型参数
主要修改:
1. DataISfLoginController.autoLogin() 方法优化
- 添加 orgType 参数(source/target)支持指定 ORG 类型
- 使用 selectLatestSuccessLoginHistoryByOrgType() 根据指定 ORG 类型查询登录历史
- 优化日志输出,明确显示请求的 ORG 类型
- 改进错误提示,显示未找到哪个 ORG 类型的登录历史
2. 更新接口文档
- 更新版本号:v1.0 -> v1.1
- 添加 orgType Query 参数说明
- 更新请求示例,区分源 ORG 和目标 ORG
- 更新错误处理,针对不同 ORG 类型提供具体错误信息
- 更新注意事项,强调必须指定 orgType 参数
- 更新实现细节,说明根据 orgType 查询对应登录历史
- 扩展测试用例,覆盖不同 ORG 类型的场景
功能说明:
- 支持源 ORG 和目标 ORG 的独立自动登录
- 源 ORG 和目标 ORG 的登录历史完全隔离
- 通过 orgType 参数精确控制登录哪个 ORG
|
2026-01-14 15:22:07 +08:00 |
|
|
|
1af07403fb
|
fix: 修复 setting 模块业务逻辑问题和 NullPointerException
主要修改:
1. 添加 orgType 字段支持源/目标 ORG 类型隔离
- DataiConfigAuditLog、DataiConfigEnvironment、DataiConfigSnapshot 添加 orgType 字段
- 相关 DTO、VO、Mapper XML 同步更新
- 创建 SQL 脚本:add_org_type_to_*.sql
2. 修复业务逻辑问题
- SalesforceConfigCacheManager:添加并发安全锁,修复环境初始化查询条件
- DataiConfigSnapshotServiceImpl:添加快照恢复审计日志记录
- DataiConfigEnvironmentServiceImpl:完善环境切换的事务回滚机制
- EnvironmentSwitchListener:移除重复环境切换,移除 @Async 注解
- ConfigChangeListener:添加空指针检查
3. 修复 NullPointerException
- DataiConfigurationController.list():添加 list 空值检查
- DataiConfigSnapshotController.list():添加 list 空值检查
- 过滤 null environmentId 防止 Map 创建失败
4. 生成 API 文档
- DataiConfigEnvironmentController:切换环境、获取当前环境接口文档
- DataiConfigSnapshotController:快照管理完整接口文档
- DataiConfigurationController:配置管理完整接口文档
- 创建 setting 模块索引:docs/api-docs/setting/index.md
5. 更新文档索引
- 更新 docs/index.md 添加 setting 模块索引链接
|
2026-01-14 14:08:33 +08:00 |
|
|
|
ccc7109c31
|
feat(salesforce-integration): 完善实时同步和统计功能
主要变更:
- 新增实时同步日志统计接口,支持多维度统计(综合、对象、操作类型、状态、时间趋势)
- 新增实时同步统计接口,提供服务状态、对象统计和订阅统计
- 实现实时服务手动启动管理,移除自动启动注解
- 移除所有统计相关功能(EventProcessor、DataSynchronizer统计方法)
- 解决DataiIntegrationObjectServiceImpl和ObjectRegistryImpl循环依赖问题
- 完善元数据变更统计功能,支持自动时间范围和缺失数据点填充
- 修复SQL布尔值兼容性问题(true/false改为1/0)
- 新增SysJobController和SysJobLogController接口文档
- 更新项目文档和变更日志
技术细节:
- 添加@Lazy注解解决循环依赖
- 实现时间趋势统计的自动时间范围处理
- 支持多种时间单位(天、周、月、季度)的趋势分析
- 优化同步成功率计算和数据处理完整性
- 遵循项目文档规范,更新唯一真源
|
2026-01-13 13:51:33 +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 |
|
|
|
8a6e65d34f
|
优化数据同步日志统计功能,增强参数验证和错误处理
|
2026-01-09 14:24:58 +08:00 |
|