-- ----------------------------
-- 智能座舱语音语料采集模块数据库表结构
-- ----------------------------

-- 1. TTS合成任务表
DROP TABLE IF EXISTS `tts_synthesize_task`;
CREATE TABLE `tts_synthesize_task` (
  `id` varchar(64) NOT NULL COMMENT '主键ID',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  `task_code` varchar(64) DEFAULT NULL COMMENT '任务编码',
  `text` text NOT NULL COMMENT '合成文本',
  `language` varchar(20) DEFAULT 'zh-CN' COMMENT '语种',
  `dialect` varchar(20) DEFAULT NULL COMMENT '方言',
  `voice` varchar(50) DEFAULT NULL COMMENT '音色',
  `emotion` varchar(20) DEFAULT NULL COMMENT '情绪',
  `speed` decimal(5,2) DEFAULT '1.00' COMMENT '语速',
  `volume` decimal(5,2) DEFAULT '1.00' COMMENT '音量',
  `pitch` decimal(5,2) DEFAULT '1.00' COMMENT '音高',
  `sample_rate` int(11) DEFAULT null COMMENT '采样率',
  `output_format` varchar(20) DEFAULT 'wav' COMMENT '输出格式',
  `style_template` varchar(50) DEFAULT NULL COMMENT '说话风格模板名称',
  `status` char(1) DEFAULT '0' COMMENT '任务状态(0待处理 1合成中 2成功已完成 3失败)',
  `audio_file_path` varchar(500) DEFAULT NULL COMMENT '音频文件存储路径',
  `audio_duration` decimal(10,2) DEFAULT NULL COMMENT '音频时长(秒)',
  `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小(字节)',
  `error_msg` text COMMENT '失败原因',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_task_code` (`task_code`),
  KEY `idx_status` (`status`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='TTS合成任务表';

-- 2. 语料分类树形表
DROP TABLE IF EXISTS `tts_corpus_category`;
CREATE TABLE `tts_corpus_category` (
  `id` varchar(64) NOT NULL COMMENT '主键ID',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  `parent_id` varchar(64) DEFAULT '0' COMMENT '父分类ID',
  `category_name` varchar(100) NOT NULL COMMENT '分类名称',
  `sort_order` int(11) DEFAULT '0' COMMENT '排序',
  PRIMARY KEY (`id`),
  KEY `idx_parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='语料分类树形表';

-- 3. 车载语料数据表
DROP TABLE IF EXISTS `tts_corpus_info`;
CREATE TABLE `tts_corpus_info` (
  `id` varchar(64) NOT NULL COMMENT '主键ID',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  `text` text NOT NULL COMMENT '文本内容',
  `pinyin` varchar(500) DEFAULT NULL COMMENT '拼音',
  `category_id` varchar(64) DEFAULT NULL COMMENT '所属分类ID',
  `language` varchar(20) DEFAULT 'zh-CN' COMMENT '语种',
  `dialect` varchar(20) DEFAULT NULL COMMENT '方言',
  `emotion` varchar(20) DEFAULT NULL COMMENT '情绪',
  `voice` varchar(50) DEFAULT NULL COMMENT '音色',
  `speaker` varchar(50) DEFAULT NULL COMMENT '说话人',
  `scene` varchar(100) DEFAULT NULL COMMENT '适用场景',
  `audio_file_path` varchar(500) DEFAULT NULL COMMENT '音频文件路径',
  `audio_duration` decimal(10,2) DEFAULT NULL COMMENT '音频时长(秒)',
  `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小(字节)',
  PRIMARY KEY (`id`),
  KEY `idx_category_id` (`category_id`),
  KEY `idx_language` (`language`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车载语料数据表';
