987 lines
37 KiB
Markdown
987 lines
37 KiB
Markdown
|
|
# datai-salesforce-metadata 模块详细文档
|
|||
|
|
|
|||
|
|
## 模块概述
|
|||
|
|
|
|||
|
|
`datai-salesforce-metadata` 模块是 Datai Salesforce 场景中负责 Salesforce Metadata API 操作的核心模块。该模块提供了完整的元数据检索、部署、查询、状态检查、列出和删除等功能,并记录所有操作的审计日志。
|
|||
|
|
|
|||
|
|
### 模块定位
|
|||
|
|
|
|||
|
|
- **模块名称**: datai-salesforce-metadata
|
|||
|
|
- **模块类型**: 业务功能模块
|
|||
|
|
- **主要职责**: Salesforce Metadata API 操作管理
|
|||
|
|
- **技术栈**: Spring Boot + MyBatis + Salesforce Metadata API
|
|||
|
|
|
|||
|
|
### 核心功能
|
|||
|
|
|
|||
|
|
1. **Metadata API 检索操作** - 从 Salesforce 检索元数据
|
|||
|
|
2. **Metadata API 部署操作** - 向 Salesforce 部署元数据
|
|||
|
|
3. **Metadata API 查询操作** - 查询元数据结构和描述
|
|||
|
|
4. **Metadata API 状态检查** - 检查异步操作状态
|
|||
|
|
5. **Metadata API 列出操作** - 列出可用的元数据类型
|
|||
|
|
6. **Metadata API 删除操作** - 删除 Salesforce 元数据
|
|||
|
|
7. **操作审计日志** - 记录所有操作的详细信息
|
|||
|
|
|
|||
|
|
## 技术架构
|
|||
|
|
|
|||
|
|
### 分层架构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────┐
|
|||
|
|
│ Controller Layer │
|
|||
|
|
│ REST API 端点定义和请求处理 │
|
|||
|
|
└─────────────────────────────────────────────────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────────────────────────────────┐
|
|||
|
|
│ Service Layer │
|
|||
|
|
│ 业务逻辑处理和事务管理 │
|
|||
|
|
└─────────────────────────────────────────────────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────────────────────────────────┐
|
|||
|
|
│ Mapper Layer │
|
|||
|
|
│ 数据访问层和 SQL 映射 │
|
|||
|
|
└─────────────────────────────────────────────────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────────────────────────────────┐
|
|||
|
|
│ Database Layer │
|
|||
|
|
│ MySQL 数据库存储 │
|
|||
|
|
└─────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 技术栈
|
|||
|
|
|
|||
|
|
| 技术 | 版本 | 用途 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| Spring Boot | - | 应用框架 |
|
|||
|
|
| MyBatis | - | ORM 框架 |
|
|||
|
|
| Swagger/OpenAPI | - | API 文档 |
|
|||
|
|
| Spring Security | - | 安全认证 |
|
|||
|
|
| Salesforce WSC | 58.0.0 | Salesforce Web Service Connector |
|
|||
|
|
| Salesforce Metadata API | - | Salesforce 元数据 API |
|
|||
|
|
|
|||
|
|
### 依赖配置
|
|||
|
|
|
|||
|
|
```xml
|
|||
|
|
<dependencies>
|
|||
|
|
<dependency>
|
|||
|
|
<groupId>com.datai</groupId>
|
|||
|
|
<artifactId>datai-file-common</artifactId>
|
|||
|
|
<version>1.0.0</version>
|
|||
|
|
</dependency>
|
|||
|
|
<dependency>
|
|||
|
|
<groupId>com.datai</groupId>
|
|||
|
|
<artifactId>datai-salesforce-auth</artifactId>
|
|||
|
|
</dependency>
|
|||
|
|
<dependency>
|
|||
|
|
<groupId>com.force.api</groupId>
|
|||
|
|
<artifactId>force-wsc</artifactId>
|
|||
|
|
<version>58.0.0</version>
|
|||
|
|
</dependency>
|
|||
|
|
<dependency>
|
|||
|
|
<groupId>salesforce</groupId>
|
|||
|
|
<artifactId>salesforce-metadata</artifactId>
|
|||
|
|
<version>0.0.1</version>
|
|||
|
|
<scope>system</scope>
|
|||
|
|
<systemPath>${project.basedir}/src/main/resources/lib/metadata.jar</systemPath>
|
|||
|
|
</dependency>
|
|||
|
|
</dependencies>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 功能模块详解
|
|||
|
|
|
|||
|
|
### 1. Metadata API 检索操作
|
|||
|
|
|
|||
|
|
#### 功能描述
|
|||
|
|
从 Salesforce 检索元数据组件,支持异步操作和状态跟踪。
|
|||
|
|
|
|||
|
|
#### 核心实体
|
|||
|
|
|
|||
|
|
**DataiMetadataRetrieve** - 检索操作日志
|
|||
|
|
```java
|
|||
|
|
public class DataiMetadataRetrieve extends BaseEntity {
|
|||
|
|
private Long id; // 主键ID
|
|||
|
|
private String asyncId; // 异步操作ID(Salesforce返回)
|
|||
|
|
private String status; // 操作状态(Queued/InProgress/Succeeded/Failed)
|
|||
|
|
private Boolean done; // 是否完成(0否 1是)
|
|||
|
|
private String message; // 操作消息
|
|||
|
|
private String errorMessage; // 错误消息
|
|||
|
|
private String sfUserId; // Salesforce用户ID
|
|||
|
|
private String userId; // 操作用户ID
|
|||
|
|
private Long deptId; // 部门ID
|
|||
|
|
private LocalDateTime retrieveTime; // 检索请求提交时间
|
|||
|
|
private Boolean delFlag; // 删除标志(0正常 1删除)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### API 端点
|
|||
|
|
|
|||
|
|
| 端点 | 方法 | 描述 | 权限 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| `/metadata/metadataretrieve/list` | GET | 查询检索操作日志列表 | metadata:metadataretrieve:list |
|
|||
|
|
| `/metadata/metadataretrieve/export` | POST | 导出检索操作日志 | metadata:metadataretrieve:export |
|
|||
|
|
| `/metadata/metadataretrieve/{id}` | GET | 获取检索操作日志详情 | metadata:metadataretrieve:query |
|
|||
|
|
| `/metadata/metadataretrieve` | POST | 新增检索操作日志 | metadata:metadataretrieve:add |
|
|||
|
|
| `/metadata/metadataretrieve` | PUT | 修改检索操作日志 | metadata:metadataretrieve:edit |
|
|||
|
|
| `/metadata/metadataretrieve/{ids}` | DELETE | 删除检索操作日志 | metadata:metadataretrieve:remove |
|
|||
|
|
|
|||
|
|
#### 相关实体
|
|||
|
|
|
|||
|
|
- **DataiMetadataRetrieveResult** - 检索结果明细
|
|||
|
|
- **DataiMetadataRetrieveMessage** - 检索消息
|
|||
|
|
|
|||
|
|
### 2. Metadata API 部署操作
|
|||
|
|
|
|||
|
|
#### 功能描述
|
|||
|
|
向 Salesforce 部署元数据组件,支持自定义对象、字段、Apex 类等。
|
|||
|
|
|
|||
|
|
#### 核心实体
|
|||
|
|
|
|||
|
|
**DataiMetadataDeployLog** - 部署操作日志
|
|||
|
|
```java
|
|||
|
|
public class DataiMetadataDeployLog extends BaseEntity {
|
|||
|
|
private Long id; // 主键ID
|
|||
|
|
private String operationType; // 操作类型
|
|||
|
|
private String metadataType; // 元数据类型
|
|||
|
|
private String metadataName; // 元数据名称
|
|||
|
|
private String deployId; // 部署ID(Salesforce返回)
|
|||
|
|
private String status; // 部署状态
|
|||
|
|
private String stateDetail; // 状态详情
|
|||
|
|
private String errorMessage; // 错误消息
|
|||
|
|
private String sfUserId; // Salesforce用户ID
|
|||
|
|
private String userId; // 操作用户ID
|
|||
|
|
private Long deptId; // 部门ID
|
|||
|
|
private LocalDateTime deployTime; // 部署请求提交时间
|
|||
|
|
private LocalDateTime completeTime; // 完成时间
|
|||
|
|
private Boolean delFlag; // 删除标志(0正常 1删除)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### API 端点
|
|||
|
|
|
|||
|
|
| 端点 | 方法 | 描述 | 权限 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| `/metadata/metadatadeploylog/list` | GET | 查询部署操作日志列表 | metadata:metadatadeploylog:list |
|
|||
|
|
| `/metadata/metadatadeploylog/export` | POST | 导出部署操作日志 | metadata:metadatadeploylog:export |
|
|||
|
|
| `/metadata/metadatadeploylog/{id}` | GET | 获取部署操作日志详情 | metadata:metadatadeploylog:query |
|
|||
|
|
| `/metadata/metadatadeploylog` | POST | 新增部署操作日志 | metadata:metadatadeploylog:add |
|
|||
|
|
| `/metadata/metadatadeploylog` | PUT | 修改部署操作日志 | metadata:metadatadeploylog:edit |
|
|||
|
|
| `/metadata/metadatadeploylog/{ids}` | DELETE | 删除部署操作日志 | metadata:metadatadeploylog:remove |
|
|||
|
|
|
|||
|
|
#### 相关实体
|
|||
|
|
|
|||
|
|
- **DataiMetadataDeployDetail** - 部署结果明细
|
|||
|
|
- **DataiMetadataDeployMessage** - 部署消息
|
|||
|
|
|
|||
|
|
### 3. Metadata API 查询操作
|
|||
|
|
|
|||
|
|
#### 功能描述
|
|||
|
|
查询 Salesforce 元数据结构和描述信息。
|
|||
|
|
|
|||
|
|
#### 核心实体
|
|||
|
|
|
|||
|
|
**DataiMetadataDescribe** - 查询审计
|
|||
|
|
```java
|
|||
|
|
public class DataiMetadataDescribe extends BaseEntity {
|
|||
|
|
private Long id; // 主键ID
|
|||
|
|
private String operationType; // 操作类型(describe/list)
|
|||
|
|
private String metadataType; // 元数据类型(list操作必填)
|
|||
|
|
private String folder; // 文件夹
|
|||
|
|
private String serverVersion; // 服务器版本
|
|||
|
|
private String namespacePrefix; // 命名空间前缀
|
|||
|
|
private Integer metadataObjectCount; // 元数据对象数量
|
|||
|
|
private Integer resultCount; // 结果数量
|
|||
|
|
private String status; // 状态(Succeeded/Failed)
|
|||
|
|
private String errorMessage; // 错误信息
|
|||
|
|
private LocalDateTime queryTime; // 查询时间
|
|||
|
|
private String sfUserId; // Salesforce用户ID
|
|||
|
|
private Long deptId; // 部门ID
|
|||
|
|
private Boolean delFlag; // 删除标志(0正常 1删除)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### API 端点
|
|||
|
|
|
|||
|
|
| 端点 | 方法 | 描述 | 权限 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| `/metadata/metadatadescribe/list` | GET | 查询元数据查询审计列表 | metadata:metadatadescribe:list |
|
|||
|
|
| `/metadata/metadatadescribe/export` | POST | 导出元数据查询审计 | metadata:metadatadescribe:export |
|
|||
|
|
| `/metadata/metadatadescribe/{id}` | GET | 获取元数据查询审计详情 | metadata:metadatadescribe:query |
|
|||
|
|
| `/metadata/metadatadescribe` | POST | 新增元数据查询审计 | metadata:metadatadescribe:add |
|
|||
|
|
| `/metadata/metadatadescribe` | PUT | 修改元数据查询审计 | metadata:metadatadescribe:edit |
|
|||
|
|
| `/metadata/metadatadescribe/{ids}` | DELETE | 删除元数据查询审计 | metadata:metadatadescribe:remove |
|
|||
|
|
|
|||
|
|
#### 相关实体
|
|||
|
|
|
|||
|
|
- **DataiMetadataDescribeValueType** - 描述值类型明细
|
|||
|
|
|
|||
|
|
### 4. Metadata API 状态检查
|
|||
|
|
|
|||
|
|
#### 功能描述
|
|||
|
|
检查异步操作的状态,包括部署和检索操作。
|
|||
|
|
|
|||
|
|
#### 核心实体
|
|||
|
|
|
|||
|
|
**DataiMetadataStatusCheck** - 状态检查日志
|
|||
|
|
```java
|
|||
|
|
public class DataiMetadataStatusCheck extends BaseEntity {
|
|||
|
|
private Long id; // 主键ID
|
|||
|
|
private String checkId; // 检查记录ID
|
|||
|
|
private String asyncId; // 异步操作ID
|
|||
|
|
private String operationType; // 操作类型(DEPLOY/RETRIEVE)
|
|||
|
|
private Long operationId; // 操作记录ID
|
|||
|
|
private String status; // 状态(Pending/InProgress/Succeeded/Failed/Canceled)
|
|||
|
|
private LocalDateTime checkTime; // 检查时间
|
|||
|
|
private String errorMessage; // 错误信息
|
|||
|
|
private String sfUserId; // Salesforce用户ID
|
|||
|
|
private Long deptId; // 部门ID
|
|||
|
|
private Boolean delFlag; // 删除标志(0未删除 1已删除)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### API 端点
|
|||
|
|
|
|||
|
|
| 端点 | 方法 | 描述 | 权限 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| `/metadata/metadatastatuscheck/list` | GET | 查询状态检查日志列表 | metadata:metadatastatuscheck:list |
|
|||
|
|
| `/metadata/metadatastatuscheck/export` | POST | 导出状态检查日志 | metadata:metadatastatuscheck:export |
|
|||
|
|
| `/metadata/metadatastatuscheck/{id}` | GET | 获取状态检查日志详情 | metadata:metadatastatuscheck:query |
|
|||
|
|
| `/metadata/metadatastatuscheck` | POST | 新增状态检查日志 | metadata:metadatastatuscheck:add |
|
|||
|
|
| `/metadata/metadatastatuscheck` | PUT | 修改状态检查日志 | metadata:metadatastatuscheck:edit |
|
|||
|
|
| `/metadata/metadatastatuscheck/{ids}` | DELETE | 删除状态检查日志 | metadata:metadatastatuscheck:remove |
|
|||
|
|
|
|||
|
|
### 5. Metadata API 列出操作
|
|||
|
|
|
|||
|
|
#### 功能描述
|
|||
|
|
列出 Salesforce 中可用的元数据类型和组件。
|
|||
|
|
|
|||
|
|
#### 核心实体
|
|||
|
|
|
|||
|
|
**DataiMetadataListResult** - 列出元数据结果
|
|||
|
|
```java
|
|||
|
|
public class DataiMetadataListResult extends BaseEntity {
|
|||
|
|
private Long id; // 主键ID
|
|||
|
|
private String listId; // 列出操作ID
|
|||
|
|
private String metadataType; // 元数据类型
|
|||
|
|
private String folder; // 文件夹
|
|||
|
|
private Integer resultCount; // 结果数量
|
|||
|
|
private String status; // 状态(Succeeded/Failed)
|
|||
|
|
private String errorMessage; // 错误信息
|
|||
|
|
private LocalDateTime listTime; // 列出时间
|
|||
|
|
private String sfUserId; // Salesforce用户ID
|
|||
|
|
private Long deptId; // 部门ID
|
|||
|
|
private Boolean delFlag; // 删除标志(0正常 1删除)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**DataiMetadataListItem** - 列项明细
|
|||
|
|
```java
|
|||
|
|
public class DataiMetadataListItem extends BaseEntity {
|
|||
|
|
private Long id; // 主键ID
|
|||
|
|
private Long listResultId; // 列出结果ID
|
|||
|
|
private String metadataType; // 元数据类型
|
|||
|
|
private String fullName; // 完整名称
|
|||
|
|
private String fileName; // 文件名
|
|||
|
|
private String namespacePrefix; // 命名空间前缀
|
|||
|
|
private String manageableState; // 可管理状态
|
|||
|
|
private String packageNames; // 包名
|
|||
|
|
private Boolean delFlag; // 删除标志(0正常 1删除)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### API 端点
|
|||
|
|
|
|||
|
|
| 端点 | 方法 | 描述 | 权限 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| `/metadata/metadatalistresult/list` | GET | 查询列出结果列表 | metadata:metadatalistresult:list |
|
|||
|
|
| `/metadata/metadatalistresult/export` | POST | 导出列出结果 | metadata:metadatalistresult:export |
|
|||
|
|
| `/metadata/metadatalistresult/{id}` | GET | 获取列出结果详情 | metadata:metadatalistresult:query |
|
|||
|
|
| `/metadata/metadatalistresult` | POST | 新增列出结果 | metadata:metadatalistresult:add |
|
|||
|
|
| `/metadata/metadatalistresult` | PUT | 修改列出结果 | metadata:metadatalistresult:edit |
|
|||
|
|
| `/metadata/metadatalistresult/{ids}` | DELETE | 删除列出结果 | metadata:metadatalistresult:remove |
|
|||
|
|
|
|||
|
|
| 端点 | 方法 | 描述 | 权限 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| `/metadata/metadatalistitem/list` | GET | 查询列项明细列表 | metadata:metadatalistitem:list |
|
|||
|
|
| `/metadata/metadatalistitem/export` | POST | 导出列项明细 | metadata:metadatalistitem:export |
|
|||
|
|
| `/metadata/metadatalistitem/{id}` | GET | 获取列项明细详情 | metadata:metadatalistitem:query |
|
|||
|
|
| `/metadata/metadatalistitem` | POST | 新增列项明细 | metadata:metadatalistitem:add |
|
|||
|
|
| `/metadata/metadatalistitem` | PUT | 修改列项明细 | metadata:metadatalistitem:edit |
|
|||
|
|
| `/metadata/metadatalistitem/{ids}` | DELETE | 删除列项明细 | metadata:metadatalistitem:remove |
|
|||
|
|
|
|||
|
|
### 6. Metadata API 删除操作
|
|||
|
|
|
|||
|
|
#### 功能描述
|
|||
|
|
从 Salesforce 删除元数据组件。
|
|||
|
|
|
|||
|
|
#### 核心实体
|
|||
|
|
|
|||
|
|
**DataiMetadataDelete** - 删除操作日志
|
|||
|
|
```java
|
|||
|
|
public class DataiMetadataDelete extends BaseEntity {
|
|||
|
|
private Long id; // 主键ID
|
|||
|
|
private String asyncId; // 异步操作ID(Salesforce返回)
|
|||
|
|
private String metadataType; // 元数据类型
|
|||
|
|
private String fullName; // 完整名称
|
|||
|
|
private String status; // 删除状态(Queued/InProgress/Succeeded/Failed)
|
|||
|
|
private Boolean done; // 是否完成(0否 1是)
|
|||
|
|
private String message; // 操作消息
|
|||
|
|
private String errorMessage; // 错误消息
|
|||
|
|
private String sfUserId; // Salesforce用户ID
|
|||
|
|
private String userId; // 操作用户ID
|
|||
|
|
private Long deptId; // 部门ID
|
|||
|
|
private LocalDateTime deleteTime; // 删除请求提交时间
|
|||
|
|
private Boolean delFlag; // 删除标志(0正常 1删除)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### API 端点
|
|||
|
|
|
|||
|
|
| 端点 | 方法 | 描述 | 权限 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| `/metadata/metadatadelete/list` | GET | 查询删除操作日志列表 | metadata:metadatadelete:list |
|
|||
|
|
| `/metadata/metadatadelete/export` | POST | 导出删除操作日志 | metadata:metadatadelete:export |
|
|||
|
|
| `/metadata/metadatadelete/{id}` | GET | 获取删除操作日志详情 | metadata:metadatadelete:query |
|
|||
|
|
| `/metadata/metadatadelete` | POST | 新增删除操作日志 | metadata:metadatadelete:add |
|
|||
|
|
| `/metadata/metadatadelete` | PUT | 修改删除操作日志 | metadata:metadatadelete:edit |
|
|||
|
|
| `/metadata/metadatadelete/{ids}` | DELETE | 删除删除操作日志 | metadata:metadatadelete:remove |
|
|||
|
|
|
|||
|
|
### 7. Metadata API 异步操作
|
|||
|
|
|
|||
|
|
#### 功能描述
|
|||
|
|
管理 Metadata API 的异步操作。
|
|||
|
|
|
|||
|
|
#### 核心实体
|
|||
|
|
|
|||
|
|
**DataiMetadataAsync** - 异步操作日志
|
|||
|
|
```java
|
|||
|
|
public class DataiMetadataAsync extends BaseEntity {
|
|||
|
|
private Long id; // 主键ID
|
|||
|
|
private String asyncId; // 异步操作ID(Salesforce返回)
|
|||
|
|
private String operationType; // 操作类型(DEPLOY/RETRIEVE/DELETE)
|
|||
|
|
private String status; // 状态(Queued/InProgress/Succeeded/Failed)
|
|||
|
|
private Boolean done; // 是否完成(0否 1是)
|
|||
|
|
private String message; // 操作消息
|
|||
|
|
private String errorMessage; // 错误消息
|
|||
|
|
private String sfUserId; // Salesforce用户ID
|
|||
|
|
private String userId; // 操作用户ID
|
|||
|
|
private Long deptId; // 部门ID
|
|||
|
|
private LocalDateTime submitTime; // 提交时间
|
|||
|
|
private LocalDateTime completeTime; // 完成时间
|
|||
|
|
private Boolean delFlag; // 删除标志(0正常 1删除)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### API 端点
|
|||
|
|
|
|||
|
|
| 端点 | 方法 | 描述 | 权限 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| `/metadata/metadataasync/list` | GET | 查询异步操作日志列表 | metadata:metadataasync:list |
|
|||
|
|
| `/metadata/metadataasync/export` | POST | 导出异步操作日志 | metadata:metadataasync:export |
|
|||
|
|
| `/metadata/metadataasync/{id}` | GET | 获取异步操作日志详情 | metadata:metadataasync:query |
|
|||
|
|
| `/metadata/metadataasync` | POST | 新增异步操作日志 | metadata:metadataasync:add |
|
|||
|
|
| `/metadata/metadataasync` | PUT | 修改异步操作日志 | metadata:metadataasync:edit |
|
|||
|
|
| `/metadata/metadataasync/{ids}` | DELETE | 删除异步操作日志 | metadata:metadataasync:remove |
|
|||
|
|
|
|||
|
|
## 数据模型
|
|||
|
|
|
|||
|
|
### 实体关系图
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
DataiMetadataRetrieve (检索操作日志)
|
|||
|
|
├── DataiMetadataRetrieveResult (检索结果明细)
|
|||
|
|
└── DataiMetadataRetrieveMessage (检索消息)
|
|||
|
|
|
|||
|
|
DataiMetadataDeployLog (部署操作日志)
|
|||
|
|
├── DataiMetadataDeployDetail (部署结果明细)
|
|||
|
|
└── DataiMetadataDeployMessage (部署消息)
|
|||
|
|
|
|||
|
|
DataiMetadataDescribe (查询审计)
|
|||
|
|
└── DataiMetadataDescribeValueType (描述值类型明细)
|
|||
|
|
|
|||
|
|
DataiMetadataListResult (列出结果)
|
|||
|
|
└── DataiMetadataListItem (列项明细)
|
|||
|
|
|
|||
|
|
DataiMetadataStatusCheck (状态检查日志)
|
|||
|
|
|
|||
|
|
DataiMetadataDelete (删除操作日志)
|
|||
|
|
|
|||
|
|
DataiMetadataAsync (异步操作日志)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 数据表结构
|
|||
|
|
|
|||
|
|
#### datai_metadata_retrieve
|
|||
|
|
检索操作日志表
|
|||
|
|
|
|||
|
|
| 字段名 | 类型 | 描述 |
|
|||
|
|
|--------|------|------|
|
|||
|
|
| id | bigint | 主键ID |
|
|||
|
|
| async_id | varchar | 异步操作ID |
|
|||
|
|
| status | varchar | 操作状态 |
|
|||
|
|
| done | tinyint | 是否完成 |
|
|||
|
|
| message | text | 操作消息 |
|
|||
|
|
| error_message | text | 错误消息 |
|
|||
|
|
| sf_user_id | varchar | Salesforce用户ID |
|
|||
|
|
| user_id | varchar | 操作用户ID |
|
|||
|
|
| dept_id | bigint | 部门ID |
|
|||
|
|
| retrieve_time | datetime | 检索请求提交时间 |
|
|||
|
|
| create_by | varchar | 创建者 |
|
|||
|
|
| create_time | datetime | 创建时间 |
|
|||
|
|
| update_by | varchar | 更新者 |
|
|||
|
|
| update_time | datetime | 更新时间 |
|
|||
|
|
| del_flag | tinyint | 删除标志 |
|
|||
|
|
|
|||
|
|
#### datai_metadata_deploy_log
|
|||
|
|
部署操作日志表
|
|||
|
|
|
|||
|
|
| 字段名 | 类型 | 描述 |
|
|||
|
|
|--------|------|------|
|
|||
|
|
| id | bigint | 主键ID |
|
|||
|
|
| operation_type | varchar | 操作类型 |
|
|||
|
|
| metadata_type | varchar | 元数据类型 |
|
|||
|
|
| metadata_name | varchar | 元数据名称 |
|
|||
|
|
| deploy_id | varchar | 部署ID |
|
|||
|
|
| status | varchar | 部署状态 |
|
|||
|
|
| state_detail | text | 状态详情 |
|
|||
|
|
| error_message | text | 错误消息 |
|
|||
|
|
| sf_user_id | varchar | Salesforce用户ID |
|
|||
|
|
| user_id | varchar | 操作用户ID |
|
|||
|
|
| dept_id | bigint | 部门ID |
|
|||
|
|
| deploy_time | datetime | 部署请求提交时间 |
|
|||
|
|
| complete_time | datetime | 完成时间 |
|
|||
|
|
| create_by | varchar | 创建者 |
|
|||
|
|
| create_time | datetime | 创建时间 |
|
|||
|
|
| update_by | varchar | 更新者 |
|
|||
|
|
| update_time | datetime | 更新时间 |
|
|||
|
|
| del_flag | tinyint | 删除标志 |
|
|||
|
|
|
|||
|
|
#### datai_metadata_describe
|
|||
|
|
元数据查询审计表
|
|||
|
|
|
|||
|
|
| 字段名 | 类型 | 描述 |
|
|||
|
|
|--------|------|------|
|
|||
|
|
| id | bigint | 主键ID |
|
|||
|
|
| operation_type | varchar | 操作类型 |
|
|||
|
|
| metadata_type | varchar | 元数据类型 |
|
|||
|
|
| folder | varchar | 文件夹 |
|
|||
|
|
| server_version | varchar | 服务器版本 |
|
|||
|
|
| namespace_prefix | varchar | 命名空间前缀 |
|
|||
|
|
| metadata_object_count | int | 元数据对象数量 |
|
|||
|
|
| result_count | int | 结果数量 |
|
|||
|
|
| status | varchar | 状态 |
|
|||
|
|
| error_message | text | 错误信息 |
|
|||
|
|
| query_time | datetime | 查询时间 |
|
|||
|
|
| sf_user_id | varchar | Salesforce用户ID |
|
|||
|
|
| dept_id | bigint | 部门ID |
|
|||
|
|
| create_by | varchar | 创建者 |
|
|||
|
|
| create_time | datetime | 创建时间 |
|
|||
|
|
| update_by | varchar | 更新者 |
|
|||
|
|
| update_time | datetime | 更新时间 |
|
|||
|
|
| del_flag | tinyint | 删除标志 |
|
|||
|
|
|
|||
|
|
## Controller 层
|
|||
|
|
|
|||
|
|
### Controller 列表
|
|||
|
|
|
|||
|
|
| Controller | 路径前缀 | 描述 |
|
|||
|
|
|------------|----------|------|
|
|||
|
|
| DataiMetadataRetrieveController | /metadata/metadataretrieve | Metadata API 检索操作日志管理 |
|
|||
|
|
| DataiMetadataDeployLogController | /metadata/metadatadeploylog | 元数据部署操作日志管理 |
|
|||
|
|
| DataiMetadataDescribeController | /metadata/metadatadescribe | 元数据查询审计管理 |
|
|||
|
|
| DataiMetadataStatusCheckController | /metadata/metadatastatuscheck | Metadata API 状态检查日志管理 |
|
|||
|
|
| DataiMetadataDeployDetailController | /metadata/metadatadeploydetail | 元数据部署结果明细管理 |
|
|||
|
|
| DataiMetadataDescribeValueTypeController | /metadata/metadatadescribetype | Metadata 描述值类型明细管理 |
|
|||
|
|
| DataiMetadataListItemController | /metadata/metadatalistitem | Metadata 列项明细管理 |
|
|||
|
|
| DataiMetadataRetrieveMessageController | /metadata/metadataretrievemessage | Metadata API 检索消息管理 |
|
|||
|
|
| DataiMetadataDeployMessageController | /metadata/metadatadeploymessage | 元数据部署消息管理 |
|
|||
|
|
| DataiMetadataRetrieveResultController | /metadata/metadataretrieveresult | Metadata API 检索结果管理 |
|
|||
|
|
| DataiMetadataAsyncController | /metadata/metadataasync | Metadata API 异步操作日志管理 |
|
|||
|
|
| DataiMetadataListResultController | /metadata/metadatalistresult | Metadata 列出元数据结果管理 |
|
|||
|
|
| DataiMetadataDeleteController | /metadata/metadatadelete | Metadata API 删除操作日志管理 |
|
|||
|
|
|
|||
|
|
### Controller 特性
|
|||
|
|
|
|||
|
|
所有 Controller 都具备以下特性:
|
|||
|
|
|
|||
|
|
1. **继承 BaseController** - 提供基础功能
|
|||
|
|
2. **RESTful API 设计** - 遵循 REST 规范
|
|||
|
|
3. **Swagger 文档** - 自动生成 API 文档
|
|||
|
|
4. **权限控制** - 使用 @PreAuthorize 注解
|
|||
|
|
5. **操作日志** - 使用 @Log 注解记录操作
|
|||
|
|
6. **分页支持** - 集成分页功能
|
|||
|
|
7. **数据导出** - 支持 Excel 导出
|
|||
|
|
|
|||
|
|
## Service 层
|
|||
|
|
|
|||
|
|
### Service 接口列表
|
|||
|
|
|
|||
|
|
| Service 接口 | 实现类 | 描述 |
|
|||
|
|
|--------------|--------|------|
|
|||
|
|
| IDataiMetadataRetrieveService | DataiMetadataRetrieveServiceImpl | Metadata API 检索操作日志服务 |
|
|||
|
|
| IDataiMetadataDeployLogService | DataiMetadataDeployLogServiceImpl | 元数据部署操作日志服务 |
|
|||
|
|
| IDataiMetadataDescribeService | DataiMetadataDescribeServiceImpl | 元数据查询审计服务 |
|
|||
|
|
| IDataiMetadataStatusCheckService | DataiMetadataStatusCheckServiceImpl | Metadata API 状态检查日志服务 |
|
|||
|
|
| IDataiMetadataDeployDetailService | DataiMetadataDeployDetailServiceImpl | 元数据部署结果明细服务 |
|
|||
|
|
| IDataiMetadataDescribeValueTypeService | DataiMetadataDescribeValueTypeServiceImpl | Metadata 描述值类型明细服务 |
|
|||
|
|
| IDataiMetadataListItemService | DataiMetadataListItemServiceImpl | Metadata 列项明细服务 |
|
|||
|
|
| IDataiMetadataRetrieveMessageService | DataiMetadataRetrieveMessageServiceImpl | Metadata API 检索消息服务 |
|
|||
|
|
| IDataiMetadataDeployMessageService | DataiMetadataDeployMessageServiceImpl | 元数据部署消息服务 |
|
|||
|
|
| IDataiMetadataRetrieveResultService | DataiMetadataRetrieveResultServiceImpl | Metadata API 检索结果服务 |
|
|||
|
|
| IDataiMetadataAsyncService | DataiMetadataAsyncServiceImpl | Metadata API 异步操作日志服务 |
|
|||
|
|
| IDataiMetadataListResultService | DataiMetadataListResultServiceImpl | Metadata 列出元数据结果服务 |
|
|||
|
|
| IDataiMetadataDeleteService | DataiMetadataDeleteServiceImpl | Metadata API 删除操作日志服务 |
|
|||
|
|
|
|||
|
|
### Service 方法
|
|||
|
|
|
|||
|
|
每个 Service 接口都包含以下标准方法:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
// 根据ID查询
|
|||
|
|
public Entity selectEntityById(Long id);
|
|||
|
|
|
|||
|
|
// 查询列表
|
|||
|
|
public List<Entity> selectEntityList(Entity entity);
|
|||
|
|
|
|||
|
|
// 新增
|
|||
|
|
public int insertEntity(Entity entity);
|
|||
|
|
|
|||
|
|
// 修改
|
|||
|
|
public int updateEntity(Entity entity);
|
|||
|
|
|
|||
|
|
// 批量删除
|
|||
|
|
public int deleteEntityByIds(Long[] ids);
|
|||
|
|
|
|||
|
|
// 根据ID删除
|
|||
|
|
public int deleteEntityById(Long id);
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Service 特性
|
|||
|
|
|
|||
|
|
1. **业务逻辑封装** - 封装复杂业务逻辑
|
|||
|
|
2. **事务管理** - 使用 @Transactional 注解
|
|||
|
|
3. **用户信息注入** - 自动注入当前用户信息
|
|||
|
|
4. **时间戳管理** - 自动设置创建和更新时间
|
|||
|
|
5. **审计日志** - 记录操作审计信息
|
|||
|
|
|
|||
|
|
## Mapper 层
|
|||
|
|
|
|||
|
|
### Mapper 接口列表
|
|||
|
|
|
|||
|
|
| Mapper 接口 | XML 文件 | 描述 |
|
|||
|
|
|-------------|----------|------|
|
|||
|
|
| DataiMetadataRetrieveMapper | DataiMetadataRetrieveMapper.xml | Metadata API 检索操作日志映射 |
|
|||
|
|
| DataiMetadataDeployLogMapper | DataiMetadataDeployLogMapper.xml | 元数据部署操作日志映射 |
|
|||
|
|
| DataiMetadataDescribeMapper | DataiMetadataDescribeMapper.xml | 元数据查询审计映射 |
|
|||
|
|
| DataiMetadataStatusCheckMapper | DataiMetadataStatusCheckMapper.xml | Metadata API 状态检查日志映射 |
|
|||
|
|
| DataiMetadataDeployDetailMapper | DataiMetadataDeployDetailMapper.xml | 元数据部署结果明细映射 |
|
|||
|
|
| DataiMetadataDescribeValueTypeMapper | DataiMetadataDescribeValueTypeMapper.xml | Metadata 描述值类型明细映射 |
|
|||
|
|
| DataiMetadataListItemMapper | DataiMetadataListItemMapper.xml | Metadata 列项明细映射 |
|
|||
|
|
| DataiMetadataRetrieveMessageMapper | DataiMetadataRetrieveMessageMapper.xml | Metadata API 检索消息映射 |
|
|||
|
|
| DataiMetadataDeployMessageMapper | DataiMetadataDeployMessageMapper.xml | 元数据部署消息映射 |
|
|||
|
|
| DataiMetadataRetrieveResultMapper | DataiMetadataRetrieveResultMapper.xml | Metadata API 检索结果映射 |
|
|||
|
|
| DataiMetadataAsyncMapper | DataiMetadataAsyncMapper.xml | Metadata API 异步操作日志映射 |
|
|||
|
|
| DataiMetadataListResultMapper | DataiMetadataListResultMapper.xml | Metadata 列出元数据结果映射 |
|
|||
|
|
| DataiMetadataDeleteMapper | DataiMetadataDeleteMapper.xml | Metadata API 删除操作日志映射 |
|
|||
|
|
|
|||
|
|
### Mapper 方法
|
|||
|
|
|
|||
|
|
每个 Mapper 接口都包含以下标准方法:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
// 根据ID查询
|
|||
|
|
public Entity selectEntityById(Long id);
|
|||
|
|
|
|||
|
|
// 查询列表
|
|||
|
|
public List<Entity> selectEntityList(Entity entity);
|
|||
|
|
|
|||
|
|
// 新增
|
|||
|
|
public int insertEntity(Entity entity);
|
|||
|
|
|
|||
|
|
// 修改
|
|||
|
|
public int updateEntity(Entity entity);
|
|||
|
|
|
|||
|
|
// 根据ID删除
|
|||
|
|
public int deleteEntityById(Long id);
|
|||
|
|
|
|||
|
|
// 批量删除
|
|||
|
|
public int deleteEntityByIds(Long[] ids);
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Mapper 特性
|
|||
|
|
|
|||
|
|
1. **MyBatis 注解** - 使用 MyBatis 注解和 XML 映射
|
|||
|
|
2. **动态 SQL** - 支持动态 SQL 查询
|
|||
|
|
3. **结果映射** - 自动映射结果到实体对象
|
|||
|
|
4. **批量操作** - 支持批量插入和删除
|
|||
|
|
|
|||
|
|
## Model 层
|
|||
|
|
|
|||
|
|
### 模型分类
|
|||
|
|
|
|||
|
|
模块包含三种类型的模型:
|
|||
|
|
|
|||
|
|
1. **Domain(领域模型)** - 数据库实体映射
|
|||
|
|
2. **DTO(数据传输对象)** - API 请求/响应对象
|
|||
|
|
3. **VO(视图对象)** - 前端展示对象
|
|||
|
|
|
|||
|
|
### Domain 模型列表
|
|||
|
|
|
|||
|
|
| Domain 类 | 表名 | 描述 |
|
|||
|
|
|-----------|------|------|
|
|||
|
|
| DataiMetadataRetrieve | datai_metadata_retrieve | Metadata API 检索操作日志 |
|
|||
|
|
| DataiMetadataDeployLog | datai_metadata_deploy_log | 元数据部署操作日志 |
|
|||
|
|
| DataiMetadataDescribe | datai_metadata_describe | 元数据查询审计 |
|
|||
|
|
| DataiMetadataStatusCheck | datai_metadata_status_check | Metadata API 状态检查日志 |
|
|||
|
|
| DataiMetadataDeployDetail | datai_metadata_deploy_detail | 元数据部署结果明细 |
|
|||
|
|
| DataiMetadataDescribeValueType | datai_metadata_describe_value_type | Metadata 描述值类型明细 |
|
|||
|
|
| DataiMetadataListItem | datai_metadata_list_item | Metadata 列项明细 |
|
|||
|
|
| DataiMetadataRetrieveMessage | datai_metadata_retrieve_message | Metadata API 检索消息 |
|
|||
|
|
| DataiMetadataDeployMessage | datai_metadata_deploy_message | 元数据部署消息 |
|
|||
|
|
| DataiMetadataRetrieveResult | datai_metadata_retrieve_result | Metadata API 检索结果 |
|
|||
|
|
| DataiMetadataAsync | datai_metadata_async | Metadata API 异步操作日志 |
|
|||
|
|
| DataiMetadataListResult | datai_metadata_list_result | Metadata 列出元数据结果 |
|
|||
|
|
| DataiMetadataDelete | datai_metadata_delete | Metadata API 删除操作日志 |
|
|||
|
|
|
|||
|
|
### Domain 特性
|
|||
|
|
|
|||
|
|
1. **继承 BaseEntity** - 包含基础字段(id, createBy, createTime, updateBy, updateTime, delFlag)
|
|||
|
|
2. **Swagger 注解** - 使用 @Schema 注解生成 API 文档
|
|||
|
|
3. **Excel 注解** - 使用 @Excel 注解支持 Excel 导出
|
|||
|
|
4. **Lombok 支持** - 简化 getter/setter 方法
|
|||
|
|
5. **ToString 方法** - 重写 toString 方法便于调试
|
|||
|
|
|
|||
|
|
### DTO/VO 模型
|
|||
|
|
|
|||
|
|
每个 Domain 模型都有对应的 DTO 和 VO 模型:
|
|||
|
|
|
|||
|
|
- **DTO** - 用于 API 请求和响应,包含静态转换方法
|
|||
|
|
- **VO** - 用于前端展示,包含静态转换方法
|
|||
|
|
|
|||
|
|
转换方法示例:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
// DTO to Domain
|
|||
|
|
public static DataiMetadataRetrieve toObj(DataiMetadataRetrieveDto dto) {
|
|||
|
|
// 转换逻辑
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Domain to VO
|
|||
|
|
public static DataiMetadataRetrieveVo objToVo(DataiMetadataRetrieve obj) {
|
|||
|
|
// 转换逻辑
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## API 使用示例
|
|||
|
|
|
|||
|
|
### 1. 查询检索操作日志列表
|
|||
|
|
|
|||
|
|
**请求**
|
|||
|
|
```http
|
|||
|
|
GET /metadata/metadataretrieve/list?pageNum=1&pageSize=10
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应**
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"total": 100,
|
|||
|
|
"rows": [
|
|||
|
|
{
|
|||
|
|
"id": 1,
|
|||
|
|
"asyncId": "1SRxx0000000001",
|
|||
|
|
"status": "Succeeded",
|
|||
|
|
"done": true,
|
|||
|
|
"message": "Retrieve completed successfully",
|
|||
|
|
"errorMessage": null,
|
|||
|
|
"sfUserId": "005xx0000001",
|
|||
|
|
"userId": "admin",
|
|||
|
|
"deptId": 100,
|
|||
|
|
"retrieveTime": "2026-02-04T10:00:00",
|
|||
|
|
"createTime": "2026-02-04T10:00:00",
|
|||
|
|
"updateTime": "2026-02-04T10:00:00"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 新增部署操作日志
|
|||
|
|
|
|||
|
|
**请求**
|
|||
|
|
```http
|
|||
|
|
POST /metadata/metadatadeploylog
|
|||
|
|
Content-Type: application/json
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
"operationType": "deploy_custom_object",
|
|||
|
|
"metadataType": "CustomObject",
|
|||
|
|
"metadataName": "MyCustomObject__c",
|
|||
|
|
"deployId": "0Afxx0000000001",
|
|||
|
|
"status": "Queued",
|
|||
|
|
"sfUserId": "005xx0000001",
|
|||
|
|
"userId": "admin",
|
|||
|
|
"deptId": 100,
|
|||
|
|
"deployTime": "2026-02-04T10:00:00"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应**
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"data": 1
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 获取查询审计详情
|
|||
|
|
|
|||
|
|
**请求**
|
|||
|
|
```http
|
|||
|
|
GET /metadata/metadatadescribe/1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应**
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"data": {
|
|||
|
|
"id": 1,
|
|||
|
|
"operationType": "describe",
|
|||
|
|
"metadataType": null,
|
|||
|
|
"folder": null,
|
|||
|
|
"serverVersion": "58.0",
|
|||
|
|
"namespacePrefix": "",
|
|||
|
|
"metadataObjectCount": 500,
|
|||
|
|
"resultCount": 500,
|
|||
|
|
"status": "Succeeded",
|
|||
|
|
"errorMessage": null,
|
|||
|
|
"queryTime": "2026-02-04T10:00:00",
|
|||
|
|
"sfUserId": "005xx0000001",
|
|||
|
|
"deptId": 100,
|
|||
|
|
"createTime": "2026-02-04T10:00:00",
|
|||
|
|
"updateTime": "2026-02-04T10:00:00"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 导出操作日志
|
|||
|
|
|
|||
|
|
**请求**
|
|||
|
|
```http
|
|||
|
|
POST /metadata/metadataasync/export
|
|||
|
|
Content-Type: application/json
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
"status": "Succeeded"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**响应**
|
|||
|
|
```http
|
|||
|
|
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
|||
|
|
Content-Disposition: attachment; filename=MetadataAsync.xlsx
|
|||
|
|
|
|||
|
|
[Excel 文件内容]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 权限控制
|
|||
|
|
|
|||
|
|
### 权限列表
|
|||
|
|
|
|||
|
|
| 权限代码 | 描述 |
|
|||
|
|
|----------|------|
|
|||
|
|
| metadata:metadataretrieve:list | 查询检索操作日志列表 |
|
|||
|
|
| metadata:metadataretrieve:export | 导出检索操作日志 |
|
|||
|
|
| metadata:metadataretrieve:query | 查询检索操作日志详情 |
|
|||
|
|
| metadata:metadataretrieve:add | 新增检索操作日志 |
|
|||
|
|
| metadata:metadataretrieve:edit | 修改检索操作日志 |
|
|||
|
|
| metadata:metadataretrieve:remove | 删除检索操作日志 |
|
|||
|
|
| metadata:metadatadeploylog:list | 查询部署操作日志列表 |
|
|||
|
|
| metadata:metadatadeploylog:export | 导出部署操作日志 |
|
|||
|
|
| metadata:metadatadeploylog:query | 查询部署操作日志详情 |
|
|||
|
|
| metadata:metadatadeploylog:add | 新增部署操作日志 |
|
|||
|
|
| metadata:metadatadeploylog:edit | 修改部署操作日志 |
|
|||
|
|
| metadata:metadatadeploylog:remove | 删除部署操作日志 |
|
|||
|
|
| metadata:metadatadescribe:list | 查询元数据查询审计列表 |
|
|||
|
|
| metadata:metadatadescribe:export | 导出元数据查询审计 |
|
|||
|
|
| metadata:metadatadescribe:query | 查询元数据查询审计详情 |
|
|||
|
|
| metadata:metadatadescribe:add | 新增元数据查询审计 |
|
|||
|
|
| metadata:metadatadescribe:edit | 修改元数据查询审计 |
|
|||
|
|
| metadata:metadatadescribe:remove | 删除元数据查询审计 |
|
|||
|
|
| metadata:metadatastatuscheck:list | 查询状态检查日志列表 |
|
|||
|
|
| metadata:metadatastatuscheck:export | 导出状态检查日志 |
|
|||
|
|
| metadata:metadatastatuscheck:query | 查询状态检查日志详情 |
|
|||
|
|
| metadata:metadatastatuscheck:add | 新增状态检查日志 |
|
|||
|
|
| metadata:metadatastatuscheck:edit | 修改状态检查日志 |
|
|||
|
|
| metadata:metadatastatuscheck:remove | 删除状态检查日志 |
|
|||
|
|
| metadata:metadataasync:list | 查询异步操作日志列表 |
|
|||
|
|
| metadata:metadataasync:export | 导出异步操作日志 |
|
|||
|
|
| metadata:metadataasync:query | 查询异步操作日志详情 |
|
|||
|
|
| metadata:metadataasync:add | 新增异步操作日志 |
|
|||
|
|
| metadata:metadataasync:edit | 修改异步操作日志 |
|
|||
|
|
| metadata:metadataasync:remove | 删除异步操作日志 |
|
|||
|
|
| metadata:metadatadelete:list | 查询删除操作日志列表 |
|
|||
|
|
| metadata:metadatadelete:export | 导出删除操作日志 |
|
|||
|
|
| metadata:metadatadelete:query | 查询删除操作日志详情 |
|
|||
|
|
| metadata:metadatadelete:add | 新增删除操作日志 |
|
|||
|
|
| metadata:metadatadelete:edit | 修改删除操作日志 |
|
|||
|
|
| metadata:metadatadelete:remove | 删除删除操作日志 |
|
|||
|
|
|
|||
|
|
### 权限注解
|
|||
|
|
|
|||
|
|
使用 Spring Security 的 @PreAuthorize 注解进行权限控制:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
@PreAuthorize("@ss.hasPermi('metadata:metadataretrieve:list')")
|
|||
|
|
@GetMapping("/list")
|
|||
|
|
public TableDataInfo list(DataiMetadataRetrieveDto dto) {
|
|||
|
|
// 业务逻辑
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 操作日志
|
|||
|
|
|
|||
|
|
### 日志记录
|
|||
|
|
|
|||
|
|
所有修改操作都会记录操作日志:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
@Log(title = "元数据部署操作日志", businessType = BusinessType.INSERT)
|
|||
|
|
@PostMapping
|
|||
|
|
public AjaxResult add(@RequestBody DataiMetadataDeployLogDto dto) {
|
|||
|
|
// 业务逻辑
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 日志类型
|
|||
|
|
|
|||
|
|
- **INSERT** - 新增操作
|
|||
|
|
- **UPDATE** - 修改操作
|
|||
|
|
- **DELETE** - 删除操作
|
|||
|
|
- **EXPORT** - 导出操作
|
|||
|
|
- **OTHER** - 其他操作
|
|||
|
|
|
|||
|
|
## 分页支持
|
|||
|
|
|
|||
|
|
### 分页参数
|
|||
|
|
|
|||
|
|
| 参数名 | 类型 | 描述 |
|
|||
|
|
|--------|------|------|
|
|||
|
|
| pageNum | int | 当前页码 |
|
|||
|
|
| pageSize | int | 每页条数 |
|
|||
|
|
|
|||
|
|
### 分页响应
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"total": 100,
|
|||
|
|
"rows": [...],
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 数据导出
|
|||
|
|
|
|||
|
|
### 导出功能
|
|||
|
|
|
|||
|
|
所有列表查询都支持 Excel 导出:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
@Operation(summary = "导出元数据部署操作日志列表")
|
|||
|
|
@PreAuthorize("@ss.hasPermi('metadata:metadatadeploylog:export')")
|
|||
|
|
@Log(title = "元数据部署操作日志", businessType = BusinessType.EXPORT)
|
|||
|
|
@PostMapping("/export")
|
|||
|
|
public void export(HttpServletResponse response, DataiMetadataDeployLogDto dto) {
|
|||
|
|
List<DataiMetadataDeployLog> list = service.selectDataiMetadataDeployLogList(DataiMetadataDeployLogDto.toObj(dto));
|
|||
|
|
ExcelUtil<DataiMetadataDeployLog> util = new ExcelUtil<DataiMetadataDeployLog>(DataiMetadataDeployLog.class);
|
|||
|
|
util.exportExcel(response, list, "元数据部署操作日志数据");
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Excel 注解
|
|||
|
|
|
|||
|
|
使用 @Excel 注解标记需要导出的字段:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
@Excel(name = "操作类型")
|
|||
|
|
private String operationType;
|
|||
|
|
|
|||
|
|
@Excel(name = "元数据类型")
|
|||
|
|
private String metadataType;
|
|||
|
|
|
|||
|
|
@Excel(name = "部署状态", readConverterExp = "Q=ueued,InProgress,Succeeded,Failed")
|
|||
|
|
private String status;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 错误处理
|
|||
|
|
|
|||
|
|
### 错误码
|
|||
|
|
|
|||
|
|
| 错误码 | 描述 |
|
|||
|
|
|--------|------|
|
|||
|
|
| 200 | 操作成功 |
|
|||
|
|
| 401 | 未授权 |
|
|||
|
|
| 403 | 禁止访问 |
|
|||
|
|
| 404 | 资源不存在 |
|
|||
|
|
| 500 | 服务器内部错误 |
|
|||
|
|
|
|||
|
|
### 错误响应
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"msg": "操作失败",
|
|||
|
|
"data": null
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 最佳实践
|
|||
|
|
|
|||
|
|
### 1. 使用 DTO/VO 模式
|
|||
|
|
|
|||
|
|
始终使用 DTO 和 VO 进行数据传输,避免直接暴露 Domain 模型。
|
|||
|
|
|
|||
|
|
### 2. 权限控制
|
|||
|
|
|
|||
|
|
所有 API 端点都应该添加权限控制注解。
|
|||
|
|
|
|||
|
|
### 3. 操作日志
|
|||
|
|
|
|||
|
|
所有修改操作都应该记录操作日志。
|
|||
|
|
|
|||
|
|
### 4. 参数校验
|
|||
|
|
|
|||
|
|
在 Controller 层添加参数校验注解。
|
|||
|
|
|
|||
|
|
### 5. 异常处理
|
|||
|
|
|
|||
|
|
在 Service 层捕获和处理异常,返回友好的错误信息。
|
|||
|
|
|
|||
|
|
### 6. 事务管理
|
|||
|
|
|
|||
|
|
在 Service 层使用 @Transactional 注解管理事务。
|
|||
|
|
|
|||
|
|
### 7. 用户信息注入
|
|||
|
|
|
|||
|
|
在 Service 层自动注入当前用户信息。
|
|||
|
|
|
|||
|
|
### 8. 时间戳管理
|
|||
|
|
|
|||
|
|
在 Service 层自动设置创建和更新时间。
|
|||
|
|
|
|||
|
|
## 总结
|
|||
|
|
|
|||
|
|
`datai-salesforce-metadata` 模块提供了完整的 Salesforce Metadata API 操作管理功能,包括:
|
|||
|
|
|
|||
|
|
1. **完整的 CRUD 操作** - 支持所有实体的增删改查
|
|||
|
|
2. **权限控制** - 基于角色的访问控制
|
|||
|
|
3. **操作审计** - 记录所有操作日志
|
|||
|
|
4. **数据导出** - 支持 Excel 导出
|
|||
|
|
5. **分页查询** - 支持分页和排序
|
|||
|
|
6. **异步操作** - 支持异步操作管理
|
|||
|
|
7. **状态跟踪** - 跟踪操作状态和结果
|
|||
|
|
|
|||
|
|
该模块采用标准的分层架构,代码结构清晰,易于维护和扩展。
|