datai/datai-scenes/datai-scene-salesforce/docs/changelog/0011-target-org-login-functionality.md
Kris 1af07403fb fix: 修复 setting 模块业务逻辑问题和 NullPointerException
主要修改:
1. 添加 orgType 字段支持源/目标 ORG 类型隔离
   - DataiConfigAuditLog、DataiConfigEnvironment、DataiConfigSnapshot 添加 orgType 字段
   - 相关 DTO、VO、Mapper XML 同步更新
   - 创建 SQL 脚本:add_org_type_to_*.sql

2. 修复业务逻辑问题
   - SalesforceConfigCacheManager:添加并发安全锁,修复环境初始化查询条件
   - DataiConfigSnapshotServiceImpl:添加快照恢复审计日志记录
   - DataiConfigEnvironmentServiceImpl:完善环境切换的事务回滚机制
   - EnvironmentSwitchListener:移除重复环境切换,移除 @Async 注解
   - ConfigChangeListener:添加空指针检查

3. 修复 NullPointerException
   - DataiConfigurationController.list():添加 list 空值检查
   - DataiConfigSnapshotController.list():添加 list 空值检查
   - 过滤 null environmentId 防止 Map 创建失败

4. 生成 API 文档
   - DataiConfigEnvironmentController:切换环境、获取当前环境接口文档
   - DataiConfigSnapshotController:快照管理完整接口文档
   - DataiConfigurationController:配置管理完整接口文档
   - 创建 setting 模块索引:docs/api-docs/setting/index.md

5. 更新文档索引
   - 更新 docs/index.md 添加 setting 模块索引链接
2026-01-14 14:08:33 +08:00

93 lines
3.3 KiB
Markdown
Raw Permalink 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.

# Changelog - 目标ORG登录功能实现
## 变更信息
- **版本号**: v0.1.11
- **发布日期**: 2026-01-13
- **变更类型**: 特性更新
## 变更摘要
本次变更实现了目标ORG登录功能为后续实现本地数据库到Salesforce的双向同步提供了基础。通过复用现有的登录历史和会话对象并添加ORG类型字段进行区分实现了目标ORG的独立认证管理。创建了完整的服务层和控制器支持目标ORG的登录、登出、获取登录信息和自动登录功能。
## 详细变更
### 特性更新
- **目标ORG登录模型** - 创建了 `TargetOrgLoginRequest` 模型类用于接收目标ORG登录请求参数
- **ORG类型区分** - 在 `DataiSfLoginHistory``DataiSfLoginSession` 中添加了 `orgType` 字段用于区分源ORG和目标ORG
- **目标ORG登录历史服务** - 创建了 `ITargetOrgLoginHistoryService` 接口和 `TargetOrgLoginHistoryServiceImpl` 实现类管理目标ORG登录历史
- **目标ORG登录会话服务** - 创建了 `ITargetOrgLoginSessionService` 接口和 `TargetOrgLoginSessionServiceImpl` 实现类管理目标ORG登录会话
- **目标ORG登录服务** - 创建了 `ITargetOrgLoginService` 接口和 `TargetOrgLoginServiceImpl` 实现类实现目标ORG登录核心逻辑
- **目标ORG登录控制器** - 创建了 `DataISfTargetOrgLoginController` 控制器提供目标ORG登录相关REST API接口
- **数据访问层扩展** - 在 `DataiSfLoginHistoryMapper` 接口中添加了 `selectLatestSuccessLoginHistoryByOrgType` 方法支持按ORG类型查询登录历史
### Bug 修复
### 性能优化
### 安全修复
### 其他变更
## 影响范围
### 受影响的模块
- **datai-salesforce-auth** - 新增目标ORG登录相关功能不影响现有源ORG登录功能
### 兼容性说明
- 本次变更完全兼容现有功能,所有新增内容均为独立模块
- 复用了现有的 `DataiSfLoginHistory``DataiSfLoginSession` 对象,通过 `orgType` 字段进行区分
- 目标ORG登录接口路径为 `/salesforce/target/login/*`与源ORG登录接口 `/salesforce/login/*` 完全独立
## 升级指南
### 升级步骤
1. 部署新版本的 `datai-salesforce-auth` 模块
2. 更新数据库表结构,为 `datai_sf_login_history``datai_sf_login_session` 表添加 `org_type` 字段
3. 更新 `DataiSfLoginHistoryMapper.xml`,添加 `selectLatestSuccessLoginHistoryByOrgType` SQL实现
### 注意事项
- 需要确保数据库表结构已更新,添加 `org_type` 字段
- 目标ORG登录功能与源ORG登录功能完全独立可以同时使用
- 建议在测试环境中先验证目标ORG登录功能后再部署到生产环境
## 测试信息
### 测试环境
- 本地开发环境
### 测试结果
- 待测试
## 相关链接
- [需求文档](../requirements/0002-salesforce-org-config-management.md) - Salesforce ORG配置管理需求
- [设计文档](../design/0002-salesforce-org-config-management.md) - Salesforce ORG配置管理设计
- [架构决策](../decisions/adr/0002-salesforce-bidirectional-sync.md) - Salesforce双向同步架构决策
## 发布人员
- AI Assistant - 开发人员
## 审核信息
- **审核人员**: 待审核
- **审核日期**: 待审核
- **审核状态**: 待审核
- **审核意见**: 待审核