feat: 视频问题

This commit is contained in:
2025-11-28 20:26:47 +08:00
parent 46b98e78e5
commit d9f3103304
26 changed files with 1582 additions and 1021 deletions

View File

@@ -1,25 +0,0 @@
-- 混剪任务表
CREATE TABLE IF NOT EXISTS `tik_mix_task` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`tenant_id` bigint DEFAULT NULL COMMENT '租户编号',
`user_id` bigint NOT NULL COMMENT '用户ID',
`title` varchar(255) NOT NULL COMMENT '视频标题',
`text` mediumtext NOT NULL COMMENT '文案内容',
`video_urls` text COMMENT '视频素材URL列表(JSON)',
`bg_music_urls` text COMMENT '背景音乐URL列表(JSON)',
`produce_count` int NOT NULL DEFAULT '1' COMMENT '生成数量',
`job_ids` text COMMENT '任务ID列表(JSON)',
`output_urls` text COMMENT '输出文件URL列表(JSON)',
`status` varchar(32) NOT NULL DEFAULT 'pending' COMMENT '任务状态(pending/running/success/failed)',
`progress` int DEFAULT '0' COMMENT '进度(0-100)',
`error_msg` text COMMENT '错误信息',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`finish_time` datetime DEFAULT NULL COMMENT '完成时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`),
KEY `idx_user_status_time` (`user_id`, `status`, `create_time`),
KEY `idx_status_time` (`status`, `create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='混剪任务表';

View File

@@ -0,0 +1,72 @@
-- 创建时间: 2024-12-26
-- 创建原因: 缺少 tik_user_file 和 tik_file_group 表定义,导致分组查询无数据
-- ============================================================================
-- 创建表: tik_file_group (素材分组表)
-- ============================================================================
CREATE TABLE IF NOT EXISTS `tik_file_group` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '分组编号',
`tenant_id` bigint NOT NULL COMMENT '租户编号',
`user_id` bigint NOT NULL COMMENT '用户编号',
`name` varchar(255) NOT NULL COMMENT '分组名称',
`description` varchar(500) DEFAULT NULL COMMENT '分组描述',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序',
`icon` varchar(255) DEFAULT NULL COMMENT '分组图标',
`parent_id` bigint DEFAULT NULL COMMENT '父分组编号',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='素材分组表';
-- 创建索引
CREATE INDEX idx_tik_file_group_user_id ON tik_file_group(user_id);
CREATE INDEX idx_tik_file_group_parent_id ON tik_file_group(parent_id);
-- ============================================================================
-- 创建表: tik_user_file (用户文件表)
-- ============================================================================
CREATE TABLE IF NOT EXISTS `tik_user_file` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '文件编号',
`tenant_id` bigint NOT NULL COMMENT '租户编号',
`user_id` bigint NOT NULL COMMENT '用户编号',
`file_id` bigint DEFAULT NULL COMMENT '文件编号关联infra_file.id可选',
`file_name` varchar(500) NOT NULL COMMENT '文件名称',
`file_type` varchar(100) NOT NULL COMMENT '文件类型video/image/document等',
`file_category` varchar(50) NOT NULL COMMENT '文件分类video/generate/audio/mix/voice',
`file_size` bigint NOT NULL COMMENT '文件大小(字节)',
`file_url` text COMMENT '文件访问URL',
`file_path` text COMMENT '文件存储路径',
`cover_url` text COMMENT '封面图URL视频文件的封面图',
`cover_base64` longtext COMMENT '封面图Base64视频文件的封面图原始base64数据可选',
`thumbnail_url` text COMMENT '缩略图URL图片文件的缩略图',
`group_id` bigint DEFAULT NULL COMMENT '默认分组编号关联tik_file_group.id可选',
`description` varchar(500) DEFAULT NULL COMMENT '文件描述',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户文件表';
-- 创建索引
CREATE INDEX idx_tik_user_file_user_id ON tik_user_file(user_id);
CREATE INDEX idx_tik_user_file_file_category ON tik_user_file(file_category);
CREATE INDEX idx_tik_user_file_group_id ON tik_user_file(group_id);
CREATE INDEX idx_tik_user_file_file_type ON tik_user_file(file_type);
-- ============================================================================
-- 插入默认测试数据
-- ============================================================================
-- 插入一个默认分组(供测试使用)
INSERT INTO `tik_file_group` (`tenant_id`, `user_id`, `name`, `description`, `sort`, `icon`)
VALUES
(1, 1, '默认分组', '默认分组', 1, NULL);
-- 插入一些测试文件用户ID为1分组ID为1
INSERT INTO `tik_user_file` (
`tenant_id`, `user_id`, `file_name`, `file_type`, `file_category`, `file_size`,
`file_url`, `group_id`, `description`
)
VALUES
(1, 1, 'test-video-1.mp4', 'video/mp4', 'video', 1024000, 'https://example.com/test-video-1.mp4', 1, '测试视频1'),
(1, 1, 'test-video-2.mp4', 'video/mp4', 'video', 2048000, 'https://example.com/test-video-2.mp4', 1, '测试视频2'),
(1, 1, 'test-audio-1.mp3', 'audio/mp3', 'audio', 512000, 'https://example.com/test-audio-1.mp3', 1, '测试音频1');