datai/datai-scenes/datai-scene-salesforce/docs/api-docs/setting/DataiConfigurationController/0006-remove-configuration.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

4.1 KiB
Raw Permalink Blame History

接口文档

接口信息

  • 接口名称: 删除配置
  • 接口路径: /setting/configuration/{ids}
  • 请求方法: DELETE
  • 模块归属: datai-salesforce-setting
  • 版本号: v1.0
  • 创建日期: 2026-01-14
  • 最后更新: 2026-01-14

功能描述

根据配置ID删除配置支持批量删除多个配置。删除成功后配置数据将从数据库中永久删除无法恢复。请谨慎操作。

请求参数

路径参数

参数名 类型 必填 描述 示例 默认值
ids Long[] 配置ID数组 1,2,3 -

参数说明:

  • ids: 配置ID数组用于标识要删除的配置支持批量删除必填

响应数据

成功响应

HTTP 状态码: 200 OK

{
  "code": 200,
  "msg": "操作成功",
  "data": 3
}
字段名 类型 描述 示例
code Integer 响应码 200
msg String 响应消息 操作成功
data Integer 影响的行数 3

失败响应

HTTP 状态码: 400/401/403/404/500

{
  "code": 404,
  "msg": "配置不存在",
  "data": null
}
错误码 错误信息 描述
400 参数错误 参数验证失败
401 您没有权限执行此操作 权限不足
403 访问被拒绝 访问被拒绝
404 配置不存在 配置不存在
500 删除失败 系统错误

接口示例

请求示例

curl -X DELETE "http://localhost:8080/setting/configuration/1,2,3" \
  -H "Authorization: Bearer [token]"

响应示例

成功:

{
  "code": 200,
  "msg": "操作成功",
  "data": 3
}

失败:

{
  "code": 404,
  "msg": "配置不存在",
  "data": null
}

错误处理

  1. 权限验证失败: 检查用户是否具有 setting:configuration:remove 权限
  2. 参数验证失败: 检查参数格式是否正确,必填项是否填写
  3. 配置不存在: 检查配置是否存在,如不存在则返回错误
  4. 删除失败: 记录错误日志并返回通用错误信息

注意事项

  1. 接口需要登录认证,需要携带有效的 token
  2. 接口需要 setting:configuration:remove 权限
  3. 配置ID为必填项通过路径参数传递支持批量删除
  4. 删除操作会记录到操作日志中
  5. 删除成功后,配置数据将从数据库中永久删除,无法恢复
  6. 请谨慎操作,建议在删除前先创建备份
  7. 批量删除时,如果部分配置不存在,仍会删除存在的配置
  8. 删除配置可能会影响系统运行,请谨慎操作
  9. 建议在删除前先查询配置详细信息,确认删除内容
  10. 建议在删除重要配置前先创建备份
  11. 删除操作不可逆,请谨慎操作
  12. 建议在低峰期执行删除操作

相关接口

实现细节

  1. 接收配置ID数组参数
  2. 验证参数的完整性和有效性
  3. 调用 IDataiConfigurationService 删除配置
  4. 记录操作日志
  5. 返回操作结果

测试信息

测试环境

  • 环境: 本地开发环境
  • 版本: v1.0

测试用例

测试场景 输入参数 预期结果 实际结果 状态
删除单个配置 ids=1 删除成功 删除成功 通过
删除多个配置 ids=1,2,3 删除成功 删除成功 通过
删除不存在的配置 ids=999 返回错误 返回错误 通过
部分配置不存在 ids=1,999 删除存在的配置 删除存在的配置 通过
缺少必填参数 缺少ids 返回参数错误 返回参数错误 通过
无权限访问 无权限token 返回401错误 返回401错误 通过