datai-vue/doc/salesforce/integration/DataiIntegrationMetadataChangeController/0007-sync-to-local.md
Kris 1177dbde35 feat: 添加元数据变更中心和实时同步统计页面
- 新增元数据变更中心页面 (metadatachange/index.vue)
  - 集成统计卡片显示变更数据
  - 支持按变更类型、操作类型、同步状态分组统计
  - 支持趋势统计图表展示
  - 优化查询条件布局,移至页面顶部

- 新增实时同步统计页面 (statistics/realtime/index.vue)
  - 显示实时同步服务状态和控制按钮
  - 统计启用实时同步的对象数量
  - 自动刷新统计数据(30秒间隔)

- 优化数据同步页面 (datasync/index.vue)
  - 修正字段映射以匹配API响应
  - 更新统计卡片显示实际数据

- 优化同步日志统计页面 (statistics/synclog/index.vue)
  - 更新表格列以匹配API响应结构
  - 更新查询参数和映射函数

- 更新导航栏菜单 (Navbar/index.vue)
  - 添加元数据变更中心菜单项

- 新增API接口 (realtimeservice.js)
  - 添加getStatistics函数获取实时同步统计数据

- 新增接口文档
  - DataiIntegrationRealtimeSyncController 接口文档
  - DataiIntegrationRealtimeSyncLogController 接口文档
2026-01-13 13:50:07 +08:00

4.7 KiB
Raw Blame History

接口文档:同步元数据变更到本地数据库

接口信息

  • 接口名称: 同步元数据变更到本地数据库
  • 接口路径: /integration/change/{id}/sync
  • 请求方法: POST
  • 模块归属: integration
  • 版本号: v1.0
  • 创建日期: 2026-01-09
  • 最后更新: 2026-01-09

功能描述

同步元数据变更到本地数据库根据元数据变更ID将指定的元数据变更同步到本地数据库。

该方法会:

  1. 根据ID查询元数据变更记录
  2. 根据变更类型OBJECT或FIELD执行相应的同步操作
  3. 对于对象变更:执行对象的创建、修改或删除操作
  4. 对于字段变更:执行字段的创建、修改或删除操作
  5. 更新元数据变更记录的同步状态

请求参数

路径参数

参数名 类型 必填 描述 示例
id Long 元数据变更ID 1

响应数据

成功响应

HTTP 状态码: 200 OK

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "success": true,
    "message": "同步成功",
    "changeId": 1,
    "changeType": "OBJECT",
    "operationType": "CREATE",
    "objectApi": "TestObject__c"
  }
}
字段名 类型 描述 示例
success Boolean 同步是否成功 true
message String 同步结果消息 同步成功
changeId Long 元数据变更ID 1
changeType String 变更类型 OBJECT
operationType String 操作类型 CREATE
objectApi String 对象API名称 TestObject__c

失败响应

HTTP 状态码: 400 Bad Request

{
  "code": 400,
  "message": "同步失败: 元数据变更记录不存在",
  "data": null
}
错误码 错误信息 描述
400 同步失败: [具体错误信息] 同步过程中出现的具体错误
403 无权限执行此操作 当用户没有integration:change:sync权限时
500 同步失败 服务器内部错误导致同步失败

接口示例

请求示例

curl -X POST "http://localhost:8080/integration/change/1/sync" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer [token]"

响应示例

成功:

{
  "code": 200,
  "message": "操作成功",
  "data": {
    "success": true,
    "message": "同步成功",
    "changeId": 1,
    "changeType": "OBJECT",
    "operationType": "CREATE",
    "objectApi": "TestObject__c"
  }
}

失败:

{
  "code": 400,
  "message": "同步失败: 元数据变更记录不存在",
  "data": null
}

错误处理

  • 400 Bad Request: 同步过程中出现的具体错误,如元数据变更记录不存在、同步操作失败等
  • 403 Forbidden: 用户无权限执行此操作
  • 500 Internal Server Error: 服务器内部错误导致同步失败

注意事项

  • 同步操作可能耗时较长,取决于变更的复杂度
  • 同步过程中会执行数据库操作,可能会锁定相关表
  • 对于对象变更,会执行对象的创建、修改或删除操作
  • 对于字段变更,会执行字段的创建、修改或删除操作
  • 同步完成后,元数据变更记录的同步状态会被更新

相关接口

实现细节

  • 接口通过调用dataiIntegrationMetadataChangeService.syncToLocalDatabase()方法实现同步
  • 服务层会根据变更类型执行相应的同步操作
  • 支持对象变更和字段变更的同步
  • 同步过程中会处理异常并返回详细的错误信息
  • 同步完成后会更新元数据变更记录的同步状态

测试信息

测试环境

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

测试用例

测试场景 输入参数 预期结果 实际结果 状态
同步对象创建变更 id=1对象创建变更 操作成功,返回同步成功信息 操作成功,返回同步成功信息 通过
同步字段修改变更 id=2字段修改变更 操作成功,返回同步成功信息 操作成功,返回同步成功信息 通过
同步不存在的变更 id=999不存在 操作失败,返回变更记录不存在错误 操作失败,返回变更记录不存在错误 通过
无权限同步 任意参数 操作失败返回403错误 操作失败返回403错误 通过