datai/docs/archive/prompts/013-org-config-management.md

6.9 KiB
Raw Blame History

Prompt-013: Salesforce组织配置管理实现

输入引用

引用相关的 docs 文档链接:

Context Maps

强制列出本次 Prompt 依赖的 Canvas 文件:

目标

实现 Salesforce 组织配置的完整管理功能,包括:

  1. 组织配置 CRUD 功能:实现组织配置的增删改查,支持多环境配置
  2. OAuth 认证信息加密存储:使用 AES-256-CBC 加密算法加密存储 OAuth 认证信息
  3. 环境类型管理使用枚举类型管理环境类型Sandbox/Production
  4. 存储根路径配置:支持 OSS 和本地文件系统存储路径配置
  5. 连接状态管理使用枚举类型管理连接状态Active/Inactive/Auth_Invalid
  6. 配置验证功能:验证 OAuth 认证信息格式和连接可用性

输出格式

1. 代码结构

datai-salesforce-metadata/
└── src/main/java/com/datai/metadata/
    ├── controller/
    │   └── DataiMetaOrgConfigController.java
    ├── service/
    │   ├── DataiMetaOrgConfigService.java
    │   └── impl/
    │       └── DataiMetaOrgConfigServiceImpl.java
    ├── util/
    │   └── EncryptionUtil.java
    └── enums/
        ├── EnvironmentType.java
        └── ConnectionStatus.java

2. 代码要求

  • Controller 层:使用 @RestController@RequestMapping@PreAuthorize 等注解
  • Service 层:使用 @Service@Transactional 等注解
  • Mapper 层:继承 MyBatis Plus 的 BaseMapper<DataiMetaOrgConfig>
  • 参数验证:使用 @Valid@NotNull@NotBlank 等注解
  • 异常处理:使用统一的异常处理机制
  • 响应格式使用统一的响应格式AjaxResult

3. 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 - 验证组织配置

4. 单元测试

  • 为 Service 层编写单元测试
  • 为 Controller 层编写集成测试
  • 测试覆盖率 >= 80%

约束

技术栈限制

  • 必须基于现有的 Spring Boot 3 + Vue 3 技术栈
  • 必须使用 MyBatis Plus 作为持久层框架
  • 必须使用现有的认证模块和 SessionManager 进行会话管理
  • 必须使用现有的集成核心功能进行 Salesforce API 调用

架构约束

  • 必须遵循 Authentication.canvas 中定义的架构和调用关系
  • 必须使用 Controller-Service-Mapper 三层架构
  • 必须使用 SessionManager 进行会话管理和自动重新登录
  • 必须使用现有的认证模块进行 OAuth 认证

安全约束

  • OAuth 认证信息必须加密存储,不存明文密码
  • 必须使用 AES-256-CBC 加密算法
  • 加密密钥必须安全存储
  • 必须使用配置文件或环境变量管理加密密钥

API 约束

  • API 接口必须符合 RESTful 规范
  • 必须使用统一的响应格式
  • 必须使用统一的异常处理机制
  • 必须使用统一的日志记录规范

代码规范约束

  • 代码必须符合项目编码规范
  • 必须有清晰的注释
  • 必须使用 Lombok 减少样板代码
  • 必须使用 Jackson 处理 JSON

Rule Set

"请严格参考 @Authentication.canvas 中的状态机转移逻辑,不要自行发挥。"

具体规则

  • 必须使用 Canvas 中定义的类名和方法名
  • 必须遵循 Canvas 中定义的调用关系
  • 必须参考 Canvas 中的流程图逻辑
  • 必须使用 SessionManager 进行会话管理和自动重新登录
  • 必须使用现有的认证模块进行 OAuth 认证
  • 必须使用现有的集成核心功能进行 API 调用
  • 必须遵循现有的异常处理机制
  • 必须遵循现有的日志记录规范

验收标准

功能验收标准

  • 能够成功创建、编辑、删除、查询组织配置
  • OAuth 认证信息加密存储成功,解密功能正常工作
  • 环境类型和连接状态枚举管理正确
  • 存储路径配置和验证功能正常工作
  • 配置验证功能正常工作,返回详细的错误信息
  • API 接口符合 RESTful 规范,支持分页和条件查询

性能验收标准

  • 加密解密性能满足要求,不影响系统响应
  • 配置查询性能满足要求,支持分页查询
  • 配置验证性能满足要求,不影响用户体验

安全验收标准

  • OAuth 认证信息加密存储,符合安全标准
  • 加密密钥安全存储,不泄露
  • 配置信息访问权限控制正确

代码质量验收标准

  • 代码符合项目编码规范,有清晰的注释
  • 代码结构清晰,易于扩展和维护
  • 单元测试覆盖率 >= 80%
  • 集成测试覆盖主要业务场景

风险

技术风险

  • 加密密钥泄露:如果加密密钥泄露,可能导致 OAuth 认证信息泄露

    • 缓解措施:加密密钥存储在配置文件中,使用环境变量或密钥管理服务
  • 连接状态同步:连接状态可能因为网络问题或 Salesforce API 限制而变化

    • 缓解措施:定期检查连接状态,使用 SessionManager 自动重新登录
  • 路径验证失败:路径验证可能因为权限问题或网络问题而失败

    • 缓解措施:提供详细的错误信息,支持手动配置路径

业务风险

  • 配置错误:配置错误可能导致元数据拉取和部署失败

    • 缓解措施:提供配置验证功能,确保配置正确
  • 多环境配置混乱:多环境配置可能导致配置混乱

    • 缓解措施:使用环境类型枚举管理,提供清晰的配置界面

使用记录

日期 使用场景 输入参数 输出结果 反馈 改进措施
2026-01-18 实现 Salesforce 组织配置管理功能 REQ-010-3 需求文档、ADR-0012 架构决策 生成 Controller、Service、Mapper、加密工具类、枚举类代码 - -