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