datai/docs/archive/changelog/20260119-org-config-management.md

219 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 变更记录 - Salesforce组织配置管理
## 变更概述
本次变更为 Salesforce 组织配置管理功能提供了完整的 CRUD 管理功能包括组织配置的增删改查、OAuth 认证信息加密存储、环境类型管理、存储根路径配置、连接状态管理、配置验证功能。
## 变更时间
2026-01-19
## 变更类型
功能增强
## 影响范围
### 代码文件
#### 枚举类
- com.datai.salesforce.metadata.enums.EnvironmentType - 环境类型枚举
- com.datai.salesforce.metadata.enums.ConnectionStatus - 连接状态枚举
#### 工具类
- com.datai.salesforce.metadata.util.EncryptionUtil - 加密工具类
#### 控制器
- com.datai.salesforce.metadata.controller.OrgConfigController - Salesforce组织配置控制器
#### 服务接口
- com.datai.salesforce.metadata.service.IOrgConfigService - 组织配置服务接口
- com.datai.salesforce.metadata.service.IOrgConfigValidationService - 组织配置验证服务接口
#### 服务实现
- com.datai.salesforce.metadata.service.impl.OrgConfigServiceImpl - 组织配置服务实现
- com.datai.salesforce.metadata.service.impl.OrgConfigValidationServiceImpl - 组织配置验证服务实现
#### 验证类
- com.datai.salesforce.metadata.validation.OrgConfigValidationResult - 组织配置验证结果
#### 单元测试
- com.datai.salesforce.metadata.service.impl.OrgConfigServiceImplTest - 组织配置服务单元测试
### 配置文件
- application.yml - 配置加密密钥
### 文档文件
- docs/requirements/REQ-010-3.md - Salesforce组织配置管理需求文档
- docs/decisions/adr/0012-org-config-management.md - Salesforce组织配置管理架构决策
- docs/prompts/003-org-config-management.md - Salesforce组织配置管理实现提示词
- docs/sessions/20260119-org-config-management.md - Salesforce组织配置管理会话记录
- docs/changelog/20260119-org-config-management.md - Salesforce组织配置管理变更记录
- docs/retros/20260119-org-config-management-retro.md - Salesforce组织配置管理复盘报告
## 变更内容
### 新增功能
1. 组织配置 CRUD 功能
- 使用 MyBatis Plus 的 BaseMapper 实现 CRUD
- 使用 @Valid 注解进行参数验证
- 使用 RESTful API 设计接口
- 使用 MyBatis Plus 的 QueryWrapper 实现条件查询
- 使用 MyBatis Plus 的分页插件实现分页查询
2. OAuth 认证信息加密存储
- 使用 Java Cryptography API 实现 AES 加密
- 使用 AES/CBC/PKCS5Padding 加密模式
- 使用 256 位密钥,提高加密强度
- 使用 Base64 编码存储加密后的数据
- 使用配置文件存储加密密钥
3. 环境类型管理
- 创建 EnvironmentType 枚举类,包含 SANDBOX 和 PRODUCTION 两个值
- 使用 @EnumValue 注解映射枚举值和数据库值
- 提供 getDisplayName() 方法,返回友好的显示名称
- 提供 fromCode() 方法,根据数据库值转换为枚举类型
4. 存储根路径配置
- 使用正则表达式验证路径格式
- 使用 File API 检查路径存在性
- 支持相对路径和绝对路径
5. 连接状态管理
- 创建 ConnectionStatus 枚举类,包含 ACTIVE、INACTIVE、AUTH_INVALID 三个值
- 使用 @EnumValue 注解映射枚举值和数据库值
- 提供 getDisplayName() 方法,返回友好的显示名称
- 提供 fromCode() 方法,根据数据库值转换为枚举类型
6. 配置验证功能
- 使用正则表达式验证 OAuth 信息格式
- 使用 @Async 注解实现异步验证
- 提供详细的验证错误信息
- 提供验证结果缓存
### 功能改进
-
### Bug 修复
-
### 性能优化
- 使用异步验证提高性能
- 提供验证结果缓存,避免重复验证
### 安全改进
- 使用 AES-256 加密算法加密 OAuth 认证信息
- 使用配置文件存储加密密钥,限制配置文件访问权限
- 使用 @TableField(select = false) 注解保护敏感字段
### 代码重构
-
## 兼容性说明
### 向后兼容性
本次变更为新增功能,不影响现有功能,完全向后兼容。
### 数据库变更
本次变更不涉及数据库结构变更,不需要数据库迁移。
### API 变更
本次变更新增了以下 API 接口:
- POST /api/org-config - 创建组织配置
- PUT /api/org-config/{id} - 更新组织配置
- DELETE /api/org-config/{id} - 删除组织配置
- GET /api/org-config/{id} - 查询组织配置详情
- GET /api/org-config - 查询组织配置列表
- POST /api/org-config/{id}/validate - 验证组织配置
### 配置变更
本次变更需要更新 application.yml 配置文件,配置加密密钥。
## 依赖变更
### 新增依赖
-
### 依赖升级
-
### 依赖移除
-
## 测试情况
### 单元测试
- OrgConfigServiceImplTest - 通过
### 集成测试
- 待测试
### 性能测试
- 待测试
### 安全测试
- 待测试
## 已知问题
## 后续计划
1. 进行集成测试,确保功能正常
2. 进行性能测试,确保性能满足要求
3. 进行安全测试,确保安全性满足要求
4. 编写用户文档,说明如何使用组织配置管理功能
5. 监控加密和解密性能
6. 监控配置验证性能
7. 定期更换加密密钥
## 回滚方案
如果需要回滚本次变更,请执行以下步骤:
1. 删除所有新增的代码文件
2. 恢复 application.yml 配置文件
3. 删除所有新增的文档文件
## 审批信息
- 变更申请人: SSOT 架构师
- 变更审批人: 待审批
- 变更执行人: SSOT 架构师
- 变更时间: 2026-01-19
## 相关链接
- [REQ-010-3.md](../requirements/REQ-010-3.md) - Salesforce组织配置管理需求文档
- [0012-org-config-management.md](../decisions/adr/0012-org-config-management.md) - Salesforce组织配置管理架构决策
- [003-org-config-management.md](../prompts/003-org-config-management.md) - Salesforce组织配置管理实现提示词
- [20260119-org-config-management.md](../sessions/20260119-org-config-management.md) - Salesforce组织配置管理会话记录
- [20260119-org-config-management-retro.md](../retros/20260119-org-config-management-retro.md) - Salesforce组织配置管理复盘报告