-- 异步任务执行记录表
-- 用于存储异步任务（如HPC/OCR/AI等）的全生命周期信息，包括任务标识、流程关联信息、执行状态、请求/结果数据等
CREATE TABLE async_task_record
(
    id                  BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID，自增',
    async_task_id       VARCHAR(64) NOT NULL UNIQUE COMMENT '异步任务唯一标识，全局唯一，用于定位单个异步任务',
    process_instance_id VARCHAR(64) COMMENT '流程实例ID，关联工作流引擎的流程实例（如Camunda的processInstanceId）',
    execution_id        VARCHAR(64) COMMENT '流程执行ID，关联工作流引擎的执行实例（如Camunda的executionId）',
    receive_task_id     VARCHAR(64) COMMENT '接收任务ID，关联工作流中接收任务节点的ID（用于异步回调触发流程继续）',
    handler_type        VARCHAR(64) COMMENT '业务处理器类型，标识任务对应的业务处理逻辑，例如：HPC(高性能计算)/OCR(图文识别)/AI(智能分析)',
    request_json        TEXT COMMENT '任务请求参数，JSON格式字符串，存储触发异步任务时的入参信息',
    result_json         TEXT COMMENT '任务执行结果，JSON格式字符串，存储异步任务完成后的返回数据（成功/失败均记录）',
    status              VARCHAR(32) DEFAULT 'INIT' COMMENT '任务状态：INIT(初始化)/RUNNING(执行中)/SUCCESS(执行成功)/FAIL(执行失败)',
    create_time         DATETIME    DEFAULT CURRENT_TIMESTAMP COMMENT '任务创建时间，默认当前时间',
    update_time         DATETIME    DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '任务更新时间，数据变更时自动更新为当前时间'
) COMMENT = '异步任务执行记录表';

-- 异步任务ID索引：优化根据async_task_id查询任务信息的性能（高频查询场景）
CREATE INDEX idx_async_task_id ON async_task_record (async_task_id) COMMENT '异步任务ID索引，加速任务唯一标识的查询';