- 增加 Salesforce CLI 和 Legacy Credential 登录支持 - 将错误码映射从数据库表改为枚举类(SalesforceErrorCode) - 增加会话管理表(datai_sf_login_session)和功能 - 增加登录历史导出 Excel 和分页查询功能 - 优化系统配置字段(login_url、grant_type、org_alias) - 更新业务场景、功能需求、数据模型、业务规则等章节 - 确保总需求文档与所有子需求保持一致
151 lines
13 KiB
Markdown
151 lines
13 KiB
Markdown
# 项目单一真源
|
||
|
||
## 元数据
|
||
- 项目名称:datai
|
||
- 创建时间:2026-01-21
|
||
- 版本:1.0.0
|
||
- 状态:初始化
|
||
|
||
## 项目概述
|
||
datai 是一个基于 Spring Boot 的项目,采用文档驱动开发(Documentation-Driven Development)模式,通过"单一真源"(Single Source of Truth)原则管理项目的所有信息。
|
||
|
||
## 技术栈
|
||
- 后端框架:Spring Boot
|
||
- Java 版本:Java 8+
|
||
- 数据库:MySQL (Druid连接池)
|
||
- ORM框架:MyBatis
|
||
- 缓存:Redis/Ehcache
|
||
- 工作流:Flowable
|
||
- 认证授权:OAuth2/JustAuth
|
||
- 其他技术:Netty、WebSocket、RabbitMQ等
|
||
|
||
## 目录索引
|
||
|
||
### 核心文档
|
||
- [Authentication.canvas](./Authentication.canvas) - 项目组件可视化
|
||
|
||
### 文档目录
|
||
- [API 文档](./api-docs/README.md) - API 相关文档
|
||
- [变更日志](./changelog/README.md) - 变更日志
|
||
- [决策记录](./decisions/README.md) - 决策记录(ADR)
|
||
- [设计文档](./design/README.md) - 设计稿或架构设计
|
||
- [实施方案](./implementation/README.md) - 实施方案
|
||
- [业务逻辑](./method-logic/README.md) - 业务逻辑或算法逻辑
|
||
- [AI 提示词](./prompts/README.md) - AI 提示词库
|
||
- [参考代码](./reference-code/README.md) - 参考代码
|
||
- [需求文档](./requirements/README.md) - 需求文档
|
||
- [复盘文档](./retros/README.md) - 复盘与回顾
|
||
- [会话记录](./sessions/README.md) - 会议或对话记录
|
||
- [技能资料](./skill/README.md) - 技能相关资料
|
||
- [数据库脚本](./sql/README.md) - 数据库脚本
|
||
|
||
### Prompt 目录
|
||
- [元提示词](./Prompt/0001-元提示词.md) - 终极提示词架构师
|
||
- [创建 Trae 项目规则](./Prompt/0002-创建-trae-项目规则.md) - Trae 项目规则生成
|
||
- [需求澄清提示词](./Prompt/0003-需求澄清提示词.md) - 需求澄清专家
|
||
- [单一真源文档驱动架构师](./Prompt/0004-单一真源文档驱动架构师.md) - 文档驱动架构师
|
||
- [项目单一真源初始化专家](./Prompt/0005-项目单一真源初始化专家.md) - 项目初始化专家
|
||
- [API文档提示词](./Prompt/0006-api-docs-提示词.md) - API文档生成提示词
|
||
- [变更日志提示词](./Prompt/0007-changelog-提示词.md) - 变更日志生成提示词
|
||
- [决策记录提示词](./Prompt/0008-decisions-提示词.md) - 决策记录生成提示词
|
||
- [设计文档提示词](./Prompt/0009-design-提示词.md) - 设计文档生成提示词
|
||
|
||
## 模块索引
|
||
- [datai-admin](./../datai-admin/) - 管理后台模块
|
||
- [datai-common](./../datai-common/) - 通用工具模块
|
||
- [datai-framework](./../datai-framework/) - 核心框架模块
|
||
- [datai-models](./../datai-models/) - 模型模块集合
|
||
- datai-flowable - 工作流模块
|
||
- datai-form - 表单模块
|
||
- datai-generator - 代码生成器模块
|
||
- datai-message - 消息模块
|
||
- datai-online - 在线开发模块
|
||
- datai-quartz - 定时任务模块
|
||
- [datai-plugins](./../datai-plugins/) - 插件模块集合
|
||
- datai-atomikos - Atomikos事务管理
|
||
- datai-cache-ehcache - Ehcache缓存实现
|
||
- datai-cache-redis - Redis缓存实现
|
||
- datai-mybatis-interceptor - MyBatis拦截器
|
||
- datai-mybatis-jpa - MyBatis JPA支持
|
||
- datai-mybatis-plus - MyBatis Plus支持
|
||
- datai-netty - Netty通信框架
|
||
- datai-rabbitmq - RabbitMQ消息队列
|
||
- datai-websocket - WebSocket支持
|
||
- [datai-scenes](./../datai-scenes/) - 场景模块集合
|
||
- datai-scene-auth - 认证场景模块
|
||
- datai-scene-file - 文件场景模块
|
||
- datai-scene-pay - 支付场景模块
|
||
- [datai-system](./../datai-system/) - 系统核心模块
|
||
|
||
## 需求追踪
|
||
- [2026-01-21-001-动态数据源延迟加载](./requirements/2026-01-21-001-动态数据源延迟加载.md) - 实现动态数据源的延迟加载机制,支持应用启动时只加载主库,从库按需动态加载和切换 - 已完成
|
||
- [设计文档](./design/2026-01-21-001-动态数据源延迟加载设计.md) - 动态数据源延迟加载技术方案设计
|
||
- [架构决策](./decisions/2026-01-21-001-ADR-动态数据源延迟加载.md) - ADR-001: 动态数据源延迟加载架构决策
|
||
- [数据库脚本](./sql/2026-01-21-001-sys_datasource_config.sql) - 数据源配置表 SQL 文档
|
||
- [代码生成提示词](./prompts/2026-01-21-001-动态数据源延迟加载代码生成提示词.md) - 动态数据源延迟加载代码生成专用提示词
|
||
- [会话记录](./sessions/2026-01-21-001-session.md) - 动态数据源延迟加载开发会话记录
|
||
- [变更日志](./changelog/2026-01-21-001-changelog.md) - 动态数据源延迟加载变更记录
|
||
- [复盘文档](./retros/2026-01-21-001-retro.md) - 动态数据源延迟加载复盘文档
|
||
- [API 文档](./api-docs/2026-01-21-001-api.md) - 动态数据源延迟加载 API 文档
|
||
- [2026-01-21-002-项目国际化需求](./requirements/2026-01-21-002-项目国际化需求.md) - 实现项目的全面国际化功能,支持前端、后端、数据库三层国际化,支持中文和英文两种语言 - 进行中
|
||
- [2026-01-21-002-01-前端国际化需求](./requirements/2026-01-21-002-01-前端国际化需求.md) - 实现前端界面的国际化功能,支持界面元素、表单验证、动态内容的国际化
|
||
- [2026-01-21-002-02-后端国际化需求](./requirements/2026-01-21-002-02-后端国际化需求.md) - 实现后端的国际化功能,支持错误消息、日志消息、验证消息、通知消息的国际化
|
||
- [2026-01-21-002-03-数据库国际化需求](./requirements/2026-01-21-002-03-数据库国际化需求.md) - 实现数据库数据的国际化功能,支持字典数据、系统配置、菜单数据的国际化
|
||
- [2026-01-21-002-04-时区国际化需求](./requirements/2026-01-21-002-04-时区国际化需求.md) - 实现时区国际化功能,支持用户设置时区偏好,根据用户时区显示时间
|
||
- [2026-01-21-002-05-货币格式化需求](./requirements/2026-01-21-002-05-货币格式化需求.md) - 实现货币格式化功能,支持根据用户地区显示货币
|
||
- [2026-01-21-002-06-日期格式化需求](./requirements/2026-01-21-002-06-日期格式化需求.md) - 实现日期格式化功能,支持根据用户地区显示日期
|
||
- [2026-01-21-002-07-数字格式化需求](./requirements/2026-01-21-002-07-数字格式化需求.md) - 实现数字格式化功能,支持根据用户地区显示数字
|
||
- [2026-01-21-002-08-语言管理需求](./requirements/2026-01-21-002-08-语言管理需求.md) - 提供语言管理功能,支持添加、编辑、删除语言,支持设置系统默认语言
|
||
- [2026-01-21-002-09-国际化资源管理需求](./requirements/2026-01-21-002-09-国际化资源管理需求.md) - 提供国际化资源管理功能,支持添加、编辑、删除国际化资源,支持批量导入导出
|
||
- [2026-01-21-003-salesforce-multi-system-auth](./requirements/2026-01-21-003-salesforce-multi-system-auth.md) - 实现 Salesforce 多系统认证功能,支持配置多个不同类型的 Salesforce 系统,使用策略模式实现登录,区分源 org 和目标 org,支持缓存过期时间戳校验、结构化缓存键设计、登录状态查询、错误码映射 - 进行中
|
||
- [2026-01-21-003-01-salesforce-multi-system-config](./requirements/2026-01-21-003-01-salesforce-multi-system-config.md) - Salesforce 多系统配置,支持配置多个不同类型的 Salesforce 系统,支持用户自定义系统类型,支持区分源 org 和目标 org,支持敏感信息加密存储 - 代码生成已完成
|
||
- [2026-01-21-003-01-salesforce-multi-system-config-design](./design/2026-01-21-003-01-salesforce-multi-system-config-design.md) - Salesforce 多系统配置技术方案设计,包含架构设计、数据库设计、接口设计、核心逻辑设计等
|
||
- [2026-01-21-003-01-ADR-salesforce-multi-system-config](./decisions/2026-01-21-003-01-ADR-salesforce-multi-system-config.md) - ADR-003-01: Salesforce 多系统配置架构决策
|
||
- [2026-01-21-003-01-datai_sf_system_config](./sql/2026-01-21-003-01-datai_sf_system_config.sql) - Salesforce 系统配置表 SQL 文档
|
||
- [2026-01-21-003-01-salesforce-multi-system-config代码生成提示词](./prompts/2026-01-21-003-01-salesforce-multi-system-config代码生成提示词.md) - Salesforce 多系统配置代码生成提示词
|
||
- [2026-01-21-003-01-session](./sessions/2026-01-21-003-01-session.md) - Salesforce 多系统配置开发会话记录
|
||
- [2026-01-21-003-01-changelog](./changelog/2026-01-21-003-01-changelog.md) - Salesforce 多系统配置变更记录
|
||
- [2026-01-21-003-01-retro](./retros/2026-01-21-003-01-retro.md) - Salesforce 多系统配置复盘文档
|
||
- [2026-01-21-003-01-api](./api-docs/2026-01-21-003-01-api.md) - Salesforce 多系统配置 API 文档
|
||
- [2026-01-21-003-02-salesforce-strategy-login](./requirements/2026-01-21-003-02-salesforce-strategy-login.md) - Salesforce 策略模式登录,使用策略模式实现不同类型的 Salesforce 系统登录,支持 OAuth2 和 Session ID 登录,登录策略工厂使用工厂方法模式
|
||
- [2026-01-21-003-02-salesforce-strategy-login-design](./design/2026-01-21-003-02-salesforce-strategy-login-design.md) - Salesforce 策略模式登录技术方案设计,包含策略模式设计、工厂方法设计、接口设计、核心逻辑设计等
|
||
- [2026-01-21-003-02-ADR-salesforce-strategy-login](./decisions/2026-01-21-003-02-ADR-salesforce-strategy-login.md) - ADR-003-02: Salesforce 策略模式登录架构决策
|
||
- [2026-01-21-003-02-salesforce-strategy-login-database](./sql/2026-01-21-003-02-salesforce-strategy-login-database.md) - Salesforce 策略模式登录数据库结构说明,说明不需要创建新的数据库表,登录信息会回写到已有的 datai_sf_system_config 表中
|
||
- [2026-01-21-003-02-salesforce-strategy-login代码生成提示词](./prompts/2026-01-21-003-02-salesforce-strategy-login代码生成提示词.md) - Salesforce 策略模式登录代码生成提示词
|
||
- [2026-01-21-003-02-session](./sessions/2026-01-21-003-02-session.md) - Salesforce 策略模式登录开发会话记录
|
||
- [2026-01-21-003-02-changelog](./changelog/2026-01-21-003-02-changelog.md) - Salesforce 策略模式登录变更记录
|
||
- [2026-01-21-003-02-retro](./retros/2026-01-21-003-02-retro.md) - Salesforce 策略模式登录复盘文档
|
||
- [2026-01-21-003-02-api](./api-docs/2026-01-21-003-02-api.md) - Salesforce 策略模式登录 API 文档
|
||
- [2026-01-21-003-03-salesforce-login-history](./requirements/2026-01-21-003-03-salesforce-login-history.md) - Salesforce 登录历史,记录所有登录历史信息,包含审计信息,支持选择历史登录成功信息快速登录
|
||
- [2026-01-21-003-04-salesforce-cache-optimization](./requirements/2026-01-21-003-04-salesforce-cache-optimization.md) - Salesforce 缓存优化,登录成功后将 SF 登录信息保存到 Redis 缓存,使用时校验有效性,结构化缓存键设计,缓存刷新和清理
|
||
- [2026-01-21-003-05-salesforce-session-management](./requirements/2026-01-21-003-05-salesforce-session-management.md) - Salesforce 会话管理,支持会话管理,会话失效时自动重新登录,获取当前 Session ID 和 Instance URL
|
||
- [2026-01-21-003-06-salesforce-login-status-query](./requirements/2026-01-21-003-06-salesforce-login-status-query.md) - Salesforce 登录状态查询,提供登录状态查询接口,显示每个系统的登录状态,Session ID 脱敏处理
|
||
- [2026-01-21-003-07-salesforce-error-code-mapping](./requirements/2026-01-21-003-07-salesforce-error-code-mapping.md) - Salesforce 错误码映射,建立完整的错误码映射表,提供友好的错误提示,支持错误重试机制
|
||
|
||
## 更新日志
|
||
- 2026-01-21: 初始化项目单一真源结构
|
||
- 2026-01-21: 新增需求 - 动态数据源延迟加载
|
||
- 2026-01-21: 新增设计文档 - 动态数据源延迟加载技术方案
|
||
- 2026-01-21: 新增架构决策 - ADR-001: 动态数据源延迟加载
|
||
- 2026-01-21: 新增数据库脚本 - sys_datasource_config 表
|
||
- 2026-01-21: 新增代码生成提示词 - 动态数据源延迟加载
|
||
- 2026-01-21: 新增变更日志 - 动态数据源延迟加载变更记录
|
||
- 2026-01-21: 新增复盘文档 - 动态数据源延迟加载复盘
|
||
- 2026-01-21: 新增 API 文档 - 动态数据源延迟加载 API
|
||
- 2026-01-21: 新增架构决策 - ADR-003-01: Salesforce 多系统配置
|
||
- 2026-01-21: 新增数据库脚本 - datai_sf_system_config 表
|
||
- 2026-01-21: 新增代码生成提示词 - Salesforce 多系统配置
|
||
- 2026-01-22: 新增设计文档 - Salesforce 策略模式登录技术方案
|
||
|
||
## 使用说明
|
||
1. 本文档是项目的单一真源,包含项目的所有信息
|
||
2. 每个模块都有对应的 index.md 作为模块的单一真源
|
||
3. 所有文档都通过索引关系相互链接
|
||
4. 文档命名格式:YYYY-MM-DD-00X-功能名.md
|
||
5. 遵循阶段化执行流程,每个阶段生成对应的文档
|
||
|
||
## 维护规则
|
||
- 创建新文档时,必须更新相关索引
|
||
- 删除文档时,必须清理索引链接
|
||
- 修改文档时,必须同步更新索引
|
||
- Authentication.canvas 在 index 更新时同步更新 |