-- AI 3D 任务表
CREATE TABLE IF NOT EXISTS `t_biz_ai3d_task` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID',
    `tenant_id` BIGINT NOT NULL COMMENT '租户 ID',
    `user_id` BIGINT NOT NULL COMMENT '用户 ID',
    `input_type` VARCHAR(50) NOT NULL COMMENT '输入类型：text/image',
    `input_content` TEXT NOT NULL COMMENT '输入内容：文字描述或图片 URL',
    `generate_type` VARCHAR(50) DEFAULT 'Normal' COMMENT '生成类型：Normal/Geometry/LowPoly/Sketch',
    `status` VARCHAR(50) DEFAULT 'pending' COMMENT '任务状态：pending/processing/completed/failed/timeout',
    `result_url` TEXT DEFAULT NULL COMMENT '生成的 3D 模型 URL（单结果）',
    `preview_url` TEXT DEFAULT NULL COMMENT '预览图 URL（单结果）',
    `result_urls` JSON DEFAULT NULL COMMENT '生成的 3D 模型 URL 数组（多结果）',
    `preview_urls` JSON DEFAULT NULL COMMENT '预览图 URL 数组（多结果）',
    `error_message` TEXT DEFAULT NULL COMMENT '失败错误信息',
    `external_task_id` VARCHAR(100) DEFAULT NULL COMMENT '外部 AI 服务任务 ID',
    `retry_count` INT DEFAULT 0 COMMENT '已重试次数',
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `complete_time` DATETIME DEFAULT NULL COMMENT '完成时间',
    `deleted` TINYINT DEFAULT 0 COMMENT '逻辑删除标识',
    PRIMARY KEY (`id`),
    KEY `idx_tenant_id` (`tenant_id`),
    KEY `idx_user_id` (`user_id`),
    KEY `idx_status` (`status`),
    KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI 3D 任务表';
