- 完成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方法论创建,包括需求定义、架构决策、提示词资产化、执行会话、变更记录和闭环复盘。
209 lines
6.6 KiB
Markdown
209 lines
6.6 KiB
Markdown
# Changelog - Salesforce组织配置管理
|
||
|
||
## 变更信息
|
||
|
||
- **版本号**: v0.1.20
|
||
- **发布日期**: 2026-01-18
|
||
- **变更类型**: 特性更新
|
||
|
||
## 变更摘要
|
||
|
||
本次变更完成了 `datai-salesforce-metadata` 模块的 Salesforce 组织配置管理功能,包括组织配置的 CRUD 管理、OAuth 认证信息加密存储、环境类型管理、存储路径配置、连接状态管理、配置验证功能等,为元数据拉取和部署系统提供了配置管理基础。
|
||
|
||
## 详细变更
|
||
|
||
### 特性更新
|
||
|
||
- **组织配置 CRUD 功能** - 实现组织配置的增删改查功能
|
||
- 支持创建 Salesforce 组织配置
|
||
- 支持编辑组织配置
|
||
- 支持删除组织配置
|
||
- 支持查询组织配置列表(支持分页和条件查询)
|
||
- 支持查询组织配置详情
|
||
- API 接口符合 RESTful 规范
|
||
|
||
- **OAuth 认证信息加密存储** - 实现OAuth认证信息的加密存储
|
||
- 使用 AES-256-CBC 加密算法
|
||
- 加密密钥安全存储
|
||
- 解密功能正常工作
|
||
- 加密算法符合安全标准
|
||
- 使用 Base64 编码存储加密后的数据
|
||
|
||
- **环境类型管理** - 实现环境类型选择和管理
|
||
- 支持环境类型选择(Sandbox/Production)
|
||
- 使用枚举类型管理环境类型
|
||
- 环境类型验证正确
|
||
- 环境类型显示友好
|
||
|
||
- **存储根路径配置** - 实现存储根路径配置
|
||
- 支持存储根路径配置
|
||
- 路径格式验证正确
|
||
- 支持相对路径和绝对路径
|
||
- 路径存在性检查正确
|
||
- 支持 OSS 和本地文件系统存储
|
||
|
||
- **连接状态管理** - 实现连接状态管理
|
||
- 支持连接状态管理(Active/Inactive/Auth_Invalid)
|
||
- 使用枚举类型管理连接状态
|
||
- 连接状态更新正确
|
||
- 连接状态显示友好
|
||
|
||
- **配置验证功能** - 实现配置验证功能
|
||
- 验证 OAuth 认证信息格式正确
|
||
- 验证连接可用性
|
||
- 验证失败返回详细错误信息
|
||
|
||
### 代码更新
|
||
|
||
- **枚举类创建** - 创建环境类型和连接状态枚举类
|
||
- `EnvironmentType` - 环境类型枚举(SANDBOX, PRODUCTION)
|
||
- `ConnectionStatus` - 连接状态枚举(ACTIVE, INACTIVE, AUTH_INVALID)
|
||
|
||
- **加密工具类创建** - 创建加密工具类
|
||
- `EncryptionUtil` - 加密工具类
|
||
- 实现 AES-256-CBC 加密方法
|
||
- 实现 AES-256-CBC 解密方法
|
||
- 配置加密密钥
|
||
|
||
- **Service 层创建** - 创建组织配置服务层
|
||
- `DataiMetaOrgConfigService` - 组织配置服务接口
|
||
- `DataiMetaOrgConfigServiceImpl` - 组织配置服务实现
|
||
- 实现组织配置 CRUD 方法
|
||
- 实现配置验证方法
|
||
- 实现加密解密逻辑
|
||
|
||
- **Controller 层创建** - 创建组织配置控制器
|
||
- `DataiMetaOrgConfigController` - 组织配置控制器
|
||
- 实现创建组织配置接口:`POST /api/metadata/org-config`
|
||
- 实现更新组织配置接口:`PUT /api/metadata/org-config/{id}`
|
||
- 实现删除组织配置接口:`DELETE /api/metadata/org-config/{id}`
|
||
- 实现查询组织配置详情接口:`GET /api/metadata/org-config/{id}`
|
||
- 实现查询组织配置列表接口:`GET /api/metadata/org-config`
|
||
- 实现验证组织配置接口:`POST /api/metadata/org-config/{id}/validate`
|
||
|
||
### 文档更新
|
||
|
||
- **需求文档更新** - 更新 REQ-010-3 需求文档
|
||
- 更新需求状态为"阶段2-架构决策"
|
||
|
||
- **架构决策记录创建** - 创建 ADR-0012-org-config-management.md
|
||
- 记录 Salesforce 组织配置管理的架构决策
|
||
- 确定分层架构设计
|
||
- 确定 OAuth 认证信息加密方案
|
||
- 确定环境类型和连接状态管理方案
|
||
- 确定存储路径配置和验证方案
|
||
- 确定 API 接口设计
|
||
|
||
- **提示词文档创建** - 创建 Prompt-013-org-config-management.md
|
||
- 记录 Salesforce 组织配置管理实现的提示词
|
||
- 定义代码结构
|
||
- 定义代码要求
|
||
- 定义 API 接口
|
||
- 定义单元测试要求
|
||
|
||
- **会话记录创建** - 创建 20260118-org-config-management.md
|
||
- 记录 Salesforce 组织配置管理实现的会话过程
|
||
- 记录执行步骤
|
||
- 记录关键产出
|
||
- 记录质疑与替代方案
|
||
- 记录复现步骤
|
||
|
||
## 影响范围
|
||
|
||
### 模块影响
|
||
|
||
- `datai-salesforce-metadata` - 新增 Salesforce 组织配置管理功能
|
||
|
||
### API 变更
|
||
|
||
- 新增 API 接口:
|
||
- `POST /api/metadata/org-config` - 创建组织配置
|
||
- `PUT /api/metadata/org-config/{id}` - 更新组织配置
|
||
- `DELETE /api/metadata/org-config/{id}` - 删除组织配置
|
||
- `GET /api/metadata/org-config/{id}` - 查询组织配置详情
|
||
- `GET /api/metadata/org-config` - 查询组织配置列表
|
||
- `POST /api/metadata/org-config/{id}/validate` - 验证组织配置
|
||
|
||
### 数据库变更
|
||
|
||
无数据库变更(使用 REQ-010-1 创建的 datai_meta_org_config 表)
|
||
|
||
### 配置变更
|
||
|
||
- 新增配置项:
|
||
- `encryption.key` - 加密密钥配置
|
||
|
||
## 依赖更新
|
||
|
||
### 新增依赖
|
||
|
||
无新增依赖(使用现有的 Spring Boot 3 + MyBatis Plus 技术栈)
|
||
|
||
### 依赖变更
|
||
|
||
无依赖变更
|
||
|
||
## 测试
|
||
|
||
### 单元测试
|
||
|
||
- 为 `DataiMetaOrgConfigServiceImpl` 编写单元测试
|
||
- 为 `EncryptionUtil` 编写单元测试
|
||
- 测试覆盖率 >= 80%
|
||
|
||
### 集成测试
|
||
|
||
- 为 `DataiMetaOrgConfigController` 编写集成测试
|
||
- 测试所有 API 接口
|
||
- 测试加密解密功能
|
||
- 测试配置验证功能
|
||
|
||
## 已知问题
|
||
|
||
无已知问题
|
||
|
||
## 升级指南
|
||
|
||
### 配置升级
|
||
|
||
1. 在 `application.yml` 中添加加密密钥配置:
|
||
```yaml
|
||
encryption:
|
||
key: ${ENCRYPTION_KEY:your-256-bit-encryption-key}
|
||
```
|
||
|
||
2. 确保加密密钥长度为 256 位(32 字节)
|
||
|
||
### 数据库升级
|
||
|
||
无需数据库升级(使用 REQ-010-1 创建的 datai_meta_org_config 表)
|
||
|
||
### API 使用升级
|
||
|
||
1. 使用新的 API 接口管理 Salesforce 组织配置
|
||
2. OAuth 认证信息将自动加密存储
|
||
3. 使用配置验证接口验证配置正确性
|
||
|
||
## 回滚计划
|
||
|
||
如果需要回滚本次变更,可以采取以下步骤:
|
||
|
||
1. 删除新增的代码文件:
|
||
- 删除 `DataiMetaOrgConfigController.java`
|
||
- 删除 `DataiMetaOrgConfigService.java`
|
||
- 删除 `DataiMetaOrgConfigServiceImpl.java`
|
||
- 删除 `EncryptionUtil.java`
|
||
- 删除 `EnvironmentType.java`
|
||
- 删除 `ConnectionStatus.java`
|
||
|
||
2. 删除新增的 API 接口
|
||
|
||
3. 删除新增的配置项
|
||
|
||
## 相关文档
|
||
|
||
- [REQ-010-3.md](../requirements/REQ-010-3.md) - Salesforce组织配置管理需求文档
|
||
- [ADR-0012-org-config-management.md](../decisions/adr/0012-org-config-management.md) - Salesforce组织配置管理架构决策
|
||
- [013-org-config-management.md](../prompts/013-org-config-management.md) - Salesforce组织配置管理实现提示词
|
||
- [20260118-org-config-management.md](../sessions/20260118-org-config-management.md) - Salesforce组织配置管理实现会话记录
|