219 lines
6.1 KiB
Markdown
219 lines
6.1 KiB
Markdown
# 变更记录 - 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组织配置管理复盘报告
|