192 lines
7.8 KiB
Markdown
192 lines
7.8 KiB
Markdown
# 天风任务系统数据表结构文档
|
||
|
||
## 目录
|
||
|
||
- [组件参数相关表](#组件参数相关表)
|
||
- [组件参数定义表 (component_parameter_definitions)](#组件参数定义表-component_parameter_definitions)
|
||
- [组件参数值表 (component_parameter_values)](#组件参数值表-component_parameter_values)
|
||
- [参数模板表 (parameter_templates)](#参数模板表-parameter_templates)
|
||
- [任务相关表](#任务相关表)
|
||
- [任务表 (tasks)](#任务表-tasks)
|
||
- [任务实例表 (task_instances)](#任务实例表-task_instances)
|
||
- [任务输入参数表 (task_input_params)](#任务输入参数表-task_input_params)
|
||
|
||
## 组件参数相关表
|
||
|
||
### 组件参数定义表 (component_parameter_definitions)
|
||
|
||
该表用于定义组件类型的输入参数。
|
||
|
||
| 字段名 | 类型 | 是否必填 | 描述 |
|
||
| --- | --- | --- | --- |
|
||
| id | Integer | 是 | 主键 |
|
||
| component_type_id | Integer | 是 | 组件类型ID,外键关联组件类型表 |
|
||
| code | String(100) | 是 | 参数代码 |
|
||
| name | String(100) | 是 | 参数名称 |
|
||
| description | String(500) | 否 | 参数描述 |
|
||
| parameter_type | Enum(ParameterType) | 是 | 参数类型,枚举值 |
|
||
| is_required | Boolean | 否 | 是否必填,默认False |
|
||
| default_value | JSON | 否 | 默认值 |
|
||
| validation_rules | JSON | 否 | 验证规则 |
|
||
| options | JSON | 否 | 选项(用于选择器类型) |
|
||
| ui_config | JSON | 否 | UI配置 |
|
||
| order | Integer | 否 | 排序,默认0 |
|
||
| created_at | DateTime | 否 | 创建时间 |
|
||
| updated_at | DateTime | 否 | 更新时间 |
|
||
| is_deleted | Boolean | 否 | 是否删除,默认False |
|
||
|
||
**参数类型枚举(ParameterType)**:
|
||
- STRING = 'string'(字符串)
|
||
- NUMBER = 'number'(数字)
|
||
- BOOLEAN = 'boolean'(布尔值)
|
||
- ARRAY = 'array'(数组)
|
||
- OBJECT = 'object'(对象)
|
||
- DATE = 'date'(日期)
|
||
- TIME = 'time'(时间)
|
||
- DATETIME = 'datetime'(日期时间)
|
||
- FILE = 'file'(文件)
|
||
- SELECT = 'select'(选择器)
|
||
- MULTI_SELECT = 'multi_select'(多选选择器)
|
||
- CUSTOM = 'custom'(自定义类型)
|
||
|
||
### 组件参数值表 (component_parameter_values)
|
||
|
||
该表用于存储组件实例的参数值。
|
||
|
||
| 字段名 | 类型 | 是否必填 | 描述 |
|
||
| --- | --- | --- | --- |
|
||
| id | Integer | 是 | 主键 |
|
||
| component_instance_id | Integer | 是 | 组件实例ID |
|
||
| parameter_code | String(100) | 是 | 参数代码 |
|
||
| value | JSON | 否 | 参数值 |
|
||
| value_format | Enum(ParameterValueFormat) | 是 | 值格式,默认SIMPLE |
|
||
| is_expression | Boolean | 否 | 是否为表达式,默认False |
|
||
| expression | String(500) | 否 | 表达式内容 |
|
||
| created_at | DateTime | 否 | 创建时间 |
|
||
| updated_at | DateTime | 否 | 更新时间 |
|
||
| is_deleted | Boolean | 否 | 是否删除,默认False |
|
||
|
||
**参数值格式枚举(ParameterValueFormat)**:
|
||
- SIMPLE = 'simple'(简单值)
|
||
- JSON = 'json'(JSON格式)
|
||
- EXPRESSION = 'expression'(表达式)
|
||
|
||
### 参数模板表 (parameter_templates)
|
||
|
||
该表用于存储常用的参数配置模板。
|
||
|
||
| 字段名 | 类型 | 是否必填 | 描述 |
|
||
| --- | --- | --- | --- |
|
||
| id | Integer | 是 | 主键 |
|
||
| name | String(100) | 是 | 模板名称 |
|
||
| component_type_id | Integer | 是 | 组件类型ID,外键关联组件类型表 |
|
||
| description | String(500) | 否 | 模板描述 |
|
||
| parameter_values | JSON | 是 | 参数值配置 |
|
||
| is_system | Boolean | 否 | 是否为系统模板,默认False |
|
||
| created_by | String(100) | 否 | 创建用户ID |
|
||
| created_at | DateTime | 否 | 创建时间 |
|
||
| updated_at | DateTime | 否 | 更新时间 |
|
||
| is_deleted | Boolean | 否 | 是否删除,默认False |
|
||
|
||
## 任务相关表
|
||
|
||
### 任务表 (tasks)
|
||
|
||
该表表示一个任务的基本信息。
|
||
|
||
| 字段名 | 类型 | 是否必填 | 描述 |
|
||
| --- | --- | --- | --- |
|
||
| id | Integer | 是 | 主键,自增 |
|
||
| task_id | String(36) | 是 | 任务UUID,用于外部引用,唯一索引 |
|
||
| name | String(100) | 是 | 任务名称 |
|
||
| task_type | String(100) | 是 | 任务类型 |
|
||
| description | String(500) | 否 | 任务描述 |
|
||
| is_template | Boolean | 否 | 是否为模板,默认False |
|
||
| template_description | String(500) | 否 | 模板描述 |
|
||
| current_version_id | Integer | 否 | 当前版本ID |
|
||
| is_enabled | Boolean | 否 | 是否启用,默认True |
|
||
| created_by | String(100) | 否 | 创建用户ID |
|
||
| updated_by | String(100) | 否 | 最后更新用户ID |
|
||
| is_scheduled | Boolean | 否 | 是否为定时任务,默认False |
|
||
| schedule_expression | String(100) | 否 | 定时表达式(Cron格式) |
|
||
| next_run_time | DateTime | 否 | 下次执行时间 |
|
||
| created_at | DateTime | 否 | 创建时间 |
|
||
| updated_at | DateTime | 否 | 更新时间 |
|
||
| is_deleted | Boolean | 否 | 是否删除,默认False |
|
||
|
||
**任务类型枚举(TaskType)**:
|
||
- NORMAL(普通任务)
|
||
- SCHEDULED(定时任务)
|
||
|
||
**任务状态枚举(TaskStatus)**:
|
||
- PENDING(待执行)
|
||
- RUNNING(执行中)
|
||
- COMPLETED(已完成)
|
||
- CANCELLED(已取消)
|
||
- FAILED(执行失败)
|
||
- PAUSED(暂停中)
|
||
- WAITING(等待中)
|
||
|
||
### 任务实例表 (task_instances)
|
||
|
||
该表用于存储任务管理的数据,记录每次编辑任务的实例。
|
||
|
||
| 字段名 | 类型 | 是否必填 | 描述 |
|
||
| --- | --- | --- | --- |
|
||
| id | Integer | 是 | 主键,自增 |
|
||
| instance_id | String(36) | 是 | 实例唯一ID,用于外部引用,唯一索引 |
|
||
| task_id | String(50) | 是 | 关联的任务ID,外键关联tasks表 |
|
||
| name | String(100) | 是 | 任务名称(复制自任务表) |
|
||
| variables | JSON | 否 | 任务变量 |
|
||
| priority | Integer | 否 | 任务优先级,默认1 |
|
||
| block_outputs | JSON | 否 | 块输出参数 |
|
||
| context_params | JSON | 否 | 上下文参数 |
|
||
| status | Enum(TaskInstanceStatus) | 否 | 任务实例状态,默认EDITING |
|
||
| created_at | DateTime | 否 | 创建时间 |
|
||
| updated_at | DateTime | 否 | 更新时间 |
|
||
| is_deleted | Boolean | 否 | 是否删除,默认False |
|
||
|
||
**任务实例状态枚举(TaskInstanceStatus)**:
|
||
- EDITING(编辑中)
|
||
- PUBLISHED(已发布)
|
||
|
||
### 任务输入参数表 (task_input_params)
|
||
|
||
该表用于存储任务输入参数的数据。
|
||
|
||
| 字段名 | 类型 | 是否必填 | 描述 |
|
||
| --- | --- | --- | --- |
|
||
| id | Integer | 是 | 主键ID,自增 |
|
||
| param_id | String(36) | 是 | 参数唯一ID,用于外部引用,唯一索引 |
|
||
| instance_id | String(36) | 是 | 关联的任务实例ID,索引 |
|
||
| task_id | String(50) | 是 | 任务ID,冗余存储便于查询,索引 |
|
||
| param_name | String(50) | 否 | 参数名称,变量名 |
|
||
| label | String(100) | 否 | 参数标签,显示名称 |
|
||
| param_type | String(20) | 是 | 参数类型 |
|
||
| required | Boolean | 否 | 是否必填,默认False |
|
||
| default_value | Text | 否 | 默认值(JSON序列化的字符串) |
|
||
| description | Text | 否 | 参数说明 |
|
||
| is_system | Boolean | 否 | 是否系统参数,默认False |
|
||
| is_readonly | Boolean | 否 | 是否只读参数,默认False |
|
||
| sort_order | Integer | 否 | 排序顺序,默认0 |
|
||
| created_at | DateTime | 否 | 创建时间 |
|
||
| updated_at | DateTime | 否 | 更新时间 |
|
||
| is_deleted | Boolean | 否 | 是否删除,默认False |
|
||
|
||
## 表关系说明
|
||
|
||
1. **组件参数关系**:
|
||
- `ComponentParameterDefinition` 定义了组件类型的参数
|
||
- `ComponentParameterValue` 存储了组件实例的具体参数值
|
||
- `ParameterTemplate` 提供了组件参数的模板配置
|
||
|
||
2. **任务关系**:
|
||
- `Task` 是任务的主表,包含基本信息
|
||
- `TaskInstance` 是任务的实例表,记录每次编辑的状态
|
||
- `TaskInputParam` 存储任务的输入参数
|
||
|
||
3. **关联关系**:
|
||
- 任务(Task) 1:N 任务实例(TaskInstance)
|
||
- 任务实例(TaskInstance) 1:N 任务输入参数(TaskInputParam)
|
||
- 组件类型 1:N 组件参数定义(ComponentParameterDefinition)
|
||
- 组件类型 1:N 参数模板(ParameterTemplate) |