feat: add note module and route fixes
This commit is contained in:
@@ -21,3 +21,85 @@ CREATE TABLE IF NOT EXISTS `user` (
|
||||
INSERT INTO `user` (`username`, `password`, `nickname`, `email`, `status`) VALUES
|
||||
('demo', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', '演示用户', 'demo@example.com', 1);
|
||||
-- 密码为: password
|
||||
|
||||
|
||||
-- ============================================
|
||||
-- note 独立模块:笔记小程序表结构
|
||||
-- ============================================
|
||||
|
||||
-- 小程序用户表
|
||||
CREATE TABLE IF NOT EXISTS `note_user` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`member_id` int(11) unsigned DEFAULT NULL COMMENT '关联 tp 现有 member.userid,可为空',
|
||||
`openid` varchar(64) NOT NULL DEFAULT '' COMMENT '微信小程序 openid',
|
||||
`unionid` varchar(64) NOT NULL DEFAULT '' COMMENT '微信 unionid',
|
||||
`session_key` varchar(128) NOT NULL DEFAULT '' COMMENT '微信 session_key',
|
||||
`nickname` varchar(100) NOT NULL DEFAULT '' COMMENT '用户昵称',
|
||||
`avatar_url` varchar(255) NOT NULL DEFAULT '' COMMENT '头像地址',
|
||||
`mobile` varchar(20) NOT NULL DEFAULT '' COMMENT '手机号',
|
||||
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:0禁用 1正常',
|
||||
`last_login_ip` varchar(64) NOT NULL DEFAULT '' COMMENT '最后登录IP',
|
||||
`last_login_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后登录时间',
|
||||
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
|
||||
`deleted_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间,0表示未删除',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uniq_openid` (`openid`),
|
||||
KEY `idx_member_id` (`member_id`),
|
||||
KEY `idx_status` (`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='note模块-小程序用户表';
|
||||
|
||||
-- 笔记主表
|
||||
CREATE TABLE IF NOT EXISTS `note_item` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '笔记ID',
|
||||
`note_user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT 'note_user.id',
|
||||
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '标题',
|
||||
`content` longtext COMMENT '用户整理后的正文',
|
||||
`transcript_text` longtext COMMENT '录音转写累计文本',
|
||||
`source_type` varchar(20) NOT NULL DEFAULT 'text' COMMENT '来源类型:text/audio/mix',
|
||||
`status` varchar(20) NOT NULL DEFAULT 'draft' COMMENT '状态:draft/completed/archived',
|
||||
`audio_duration_ms` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '录音时长(毫秒)',
|
||||
`summary_status` varchar(20) NOT NULL DEFAULT 'none' COMMENT 'AI总结状态:none/pending/success/failed',
|
||||
`last_transcript_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后一次转写更新时间',
|
||||
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
|
||||
`deleted_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间,0表示未删除',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_note_user_id` (`note_user_id`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_summary_status` (`summary_status`),
|
||||
KEY `idx_created_at` (`created_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='note模块-笔记主表';
|
||||
|
||||
-- 笔记实时转写表
|
||||
CREATE TABLE IF NOT EXISTS `note_transcript` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`note_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT 'note_item.id',
|
||||
`segment_no` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '分片序号',
|
||||
`segment_text` text COMMENT '本次分片转写文本',
|
||||
`full_text` longtext COMMENT '当前累计完整转写文本',
|
||||
`is_final` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否最终片段:0否 1是',
|
||||
`audio_duration_ms` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '当前累计录音时长',
|
||||
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_note_id` (`note_id`),
|
||||
KEY `idx_note_segment` (`note_id`, `segment_no`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='note模块-实时转写记录表';
|
||||
|
||||
-- AI 总结结果表
|
||||
CREATE TABLE IF NOT EXISTS `note_ai_summary` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`note_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT 'note_item.id',
|
||||
`summary_type` varchar(20) NOT NULL DEFAULT 'brief' COMMENT '总结类型:brief/outline/todo',
|
||||
`summary_text` longtext COMMENT 'AI总结正文',
|
||||
`todo_list` longtext COMMENT '待办列表,建议JSON字符串',
|
||||
`keywords` longtext COMMENT '关键词列表,建议JSON字符串',
|
||||
`status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '状态:pending/success/failed',
|
||||
`error_message` varchar(500) NOT NULL DEFAULT '' COMMENT '失败原因',
|
||||
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_note_id` (`note_id`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_summary_type` (`summary_type`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='note模块-AI总结结果表';
|
||||
|
||||
Reference in New Issue
Block a user