tianfeng_task_modules/api_doc/数据表结构文档.md
2025-03-18 18:34:03 +08:00

192 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 天风任务系统数据表结构文档
## 目录
- [组件参数相关表](#组件参数相关表)
- [组件参数定义表 (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)