datai/docs/requirements/README.md

33 lines
4.5 KiB
Markdown
Raw Permalink Normal View History

feat: 实现动态数据源延迟加载功能 (2026-01-21-001) ## 功能概述 - 实现动态数据源的延迟加载机制,支持应用启动时只加载主库,从库按需动态加载和切换 - 从库配置存储在主库中,支持运行时灵活切换从库库名 - 使用现有的 @DataSource 注解进行数据源切换,业务代码无需修改 ## 新增功能 - 动态数据源管理接口 IDynamicDataSourceManager - 动态数据源服务接口 IDynamicDataSourceService - 动态数据源服务实现 DynamicDataSourceServiceImpl - 数据源管理控制器 DatasourceController - 数据源配置表 sys_datasource_config ## 新增文档 - 需求文档: docs/requirements/2026-01-21-001-动态数据源延迟加载.md - 设计文档: docs/design/2026-01-21-001-动态数据源延迟加载设计.md - 决策记录: docs/decisions/2026-01-21-001-ADR-动态数据源延迟加载.md - SQL 脚本: docs/sql/2026-01-21-001-sys_datasource_config.sql - 提示词: docs/prompts/2026-01-21-001-动态数据源延迟加载代码生成提示词.md - 会话记录: docs/sessions/2026-01-21-001-session.md - 变更日志: docs/changelog/2026-01-21-001-changelog.md - 复盘文档: docs/retros/2026-01-21-001-retro.md - API 文档: docs/api-docs/2026-01-21-001-api.md - 根目录变更日志: CHANGELOG.md ## 修改功能 - 扩展 DataSourceManager 类,添加动态数据源管理方法 - 扩展 SysDatasourceConfigMapper 接口,添加 selectSysDatasourceConfigByDsName 方法 - 更新项目索引和 Authentication.canvas ## 修复问题 - 修复循环依赖问题:创建 IDynamicDataSourceManager 接口解决 datai-system 和 datai-framework 互相依赖 - 修复导入错误:删除 DynamicDataSourceServiceImpl 中未使用的导入 - 修复异常处理:将 setFilters() 调用移到 try-catch 块内 ## API 接口 - POST /system/datasource/loadSlave - 加载从库数据源 - POST /system/datasource/switchSlave/{dbName} - 切换从库库名 - GET /system/datasource/getSlaveConfig - 获取从库配置 - POST /system/datasource/switch/{dsName} - 切换数据源 - DELETE /system/datasource/{dsName} - 移除数据源
2026-01-21 18:24:24 +08:00
# 需求文档
## 目录用途
存放项目的需求文档,包括功能需求、非功能需求、用户故事等。
## 文档规范
- 文档命名格式YYYY-MM-DD-00X-需求名.md
- 必须包含需求概述、功能需求、非功能需求
- 支持用户故事和用例
## 需求列表
- [2026-01-21-001-动态数据源延迟加载](./2026-01-21-001-动态数据源延迟加载.md) - 实现动态数据源的延迟加载机制,支持应用启动时只加载主库,从库按需动态加载和切换
- [2026-01-21-002-项目国际化需求](./2026-01-21-002-项目国际化需求.md) - 实现项目的全面国际化功能,支持前端、后端、数据库三层国际化,支持中文和英文两种语言
- [2026-01-21-002-01-前端国际化需求](./2026-01-21-002-01-前端国际化需求.md) - 实现前端界面的国际化功能,支持界面元素、表单验证、动态内容的国际化
- [2026-01-21-002-02-后端国际化需求](./2026-01-21-002-02-后端国际化需求.md) - 实现后端的国际化功能,支持错误消息、日志消息、验证消息、通知消息的国际化
- [2026-01-21-002-03-数据库国际化需求](./2026-01-21-002-03-数据库国际化需求.md) - 实现数据库数据的国际化功能,支持字典数据、系统配置、菜单数据的国际化
- [2026-01-21-002-04-时区国际化需求](./2026-01-21-002-04-时区国际化需求.md) - 实现时区国际化功能,支持用户设置时区偏好,根据用户时区显示时间
- [2026-01-21-002-05-货币格式化需求](./2026-01-21-002-05-货币格式化需求.md) - 实现货币格式化功能,支持根据用户地区显示货币
- [2026-01-21-002-06-日期格式化需求](./2026-01-21-002-06-日期格式化需求.md) - 实现日期格式化功能,支持根据用户地区显示日期
- [2026-01-21-002-07-数字格式化需求](./2026-01-21-002-07-数字格式化需求.md) - 实现数字格式化功能,支持根据用户地区显示数字
- [2026-01-21-002-08-语言管理需求](./2026-01-21-002-08-语言管理需求.md) - 提供语言管理功能,支持添加、编辑、删除语言,支持设置系统默认语言
- [2026-01-21-002-09-国际化资源管理需求](./2026-01-21-002-09-国际化资源管理需求.md) - 提供国际化资源管理功能,支持添加、编辑、删除国际化资源,支持批量导入导出
- [2026-01-21-003-salesforce-multi-system-auth](./2026-01-21-003-salesforce-multi-system-auth.md) - 实现 Salesforce 多系统认证功能,支持配置多个不同类型的 Salesforce 系统,使用策略模式实现登录,区分源 org 和目标 org支持缓存过期时间戳校验、结构化缓存键设计、登录状态查询、错误码映射
- [2026-01-21-003-01-salesforce-multi-system-config](./2026-01-21-003-01-salesforce-multi-system-config.md) - Salesforce 多系统配置,支持配置多个不同类型的 Salesforce 系统,支持用户自定义系统类型,支持区分源 org 和目标 org支持敏感信息加密存储
- [2026-01-21-003-02-salesforce-strategy-login](./2026-01-21-003-02-salesforce-strategy-login.md) - Salesforce 策略模式登录,使用策略模式实现不同类型的 Salesforce 系统登录,支持 OAuth2 和 Session ID 登录,登录策略工厂使用工厂方法模式
- [2026-01-21-003-03-salesforce-login-history](./2026-01-21-003-03-salesforce-login-history.md) - Salesforce 登录历史,记录所有登录历史信息,包含审计信息,支持选择历史登录成功信息快速登录
- [2026-01-21-003-04-salesforce-cache-optimization](./2026-01-21-003-04-salesforce-cache-optimization.md) - Salesforce 缓存优化,登录成功后将 SF 登录信息保存到 Redis 缓存,使用时校验有效性,结构化缓存键设计,缓存刷新和清理
- [2026-01-21-003-05-salesforce-session-management](./2026-01-21-003-05-salesforce-session-management.md) - Salesforce 会话管理,支持会话管理,会话失效时自动重新登录,获取当前 Session ID 和 Instance URL
- [2026-01-21-003-06-salesforce-login-status-query](./2026-01-21-003-06-salesforce-login-status-query.md) - Salesforce 登录状态查询提供登录状态查询接口显示每个系统的登录状态Session ID 脱敏处理
- [2026-01-21-003-07-salesforce-error-code-mapping](./2026-01-21-003-07-salesforce-error-code-mapping.md) - Salesforce 错误码映射,建立完整的错误码映射表,提供友好的错误提示,支持错误重试机制
feat: 实现动态数据源延迟加载功能 (2026-01-21-001) ## 功能概述 - 实现动态数据源的延迟加载机制,支持应用启动时只加载主库,从库按需动态加载和切换 - 从库配置存储在主库中,支持运行时灵活切换从库库名 - 使用现有的 @DataSource 注解进行数据源切换,业务代码无需修改 ## 新增功能 - 动态数据源管理接口 IDynamicDataSourceManager - 动态数据源服务接口 IDynamicDataSourceService - 动态数据源服务实现 DynamicDataSourceServiceImpl - 数据源管理控制器 DatasourceController - 数据源配置表 sys_datasource_config ## 新增文档 - 需求文档: docs/requirements/2026-01-21-001-动态数据源延迟加载.md - 设计文档: docs/design/2026-01-21-001-动态数据源延迟加载设计.md - 决策记录: docs/decisions/2026-01-21-001-ADR-动态数据源延迟加载.md - SQL 脚本: docs/sql/2026-01-21-001-sys_datasource_config.sql - 提示词: docs/prompts/2026-01-21-001-动态数据源延迟加载代码生成提示词.md - 会话记录: docs/sessions/2026-01-21-001-session.md - 变更日志: docs/changelog/2026-01-21-001-changelog.md - 复盘文档: docs/retros/2026-01-21-001-retro.md - API 文档: docs/api-docs/2026-01-21-001-api.md - 根目录变更日志: CHANGELOG.md ## 修改功能 - 扩展 DataSourceManager 类,添加动态数据源管理方法 - 扩展 SysDatasourceConfigMapper 接口,添加 selectSysDatasourceConfigByDsName 方法 - 更新项目索引和 Authentication.canvas ## 修复问题 - 修复循环依赖问题:创建 IDynamicDataSourceManager 接口解决 datai-system 和 datai-framework 互相依赖 - 修复导入错误:删除 DynamicDataSourceServiceImpl 中未使用的导入 - 修复异常处理:将 setFilters() 调用移到 try-catch 块内 ## API 接口 - POST /system/datasource/loadSlave - 加载从库数据源 - POST /system/datasource/switchSlave/{dbName} - 切换从库库名 - GET /system/datasource/getSlaveConfig - 获取从库配置 - POST /system/datasource/switch/{dsName} - 切换数据源 - DELETE /system/datasource/{dsName} - 移除数据源
2026-01-21 18:24:24 +08:00
## 返回主索引
[返回项目单一真源](../index.md)