人生轨迹功能模块补充

This commit is contained in:
2025-12-22 14:50:14 +08:00
parent fa57938a9d
commit cd6d995d5a
48 changed files with 5359 additions and 316 deletions
+168
View File
@@ -1216,5 +1216,173 @@ CREATE INDEX idx_user_profile_user_id ON t_user_profile (user_id);
CREATE INDEX idx_user_profile_create_time ON t_user_profile (create_time);
-- ============================================================================
-- 20. 生命事件表 (t_life_event)
-- 存储用户的人生轨迹事件,包括日期、标题、内容、AI回复等
-- 关联说明: user_id 关联 t_user.id
-- ============================================================================
DROP TABLE IF EXISTS t_life_event;
CREATE TABLE t_life_event (
id VARCHAR(64) PRIMARY KEY COMMENT 'UUID主键',
user_id VARCHAR(64) NOT NULL COMMENT '用户ID (关联t_user.id)',
-- 事件信息
event_type VARCHAR(50) DEFAULT 'daily_log' COMMENT '事件类型: daily_log-日常记录, milestone-里程碑',
event_date DATETIME COMMENT '事件日期',
title VARCHAR(200) COMMENT '事件标题',
content TEXT COMMENT '事件内容',
ai_reply TEXT COMMENT 'AI疗愈回复',
-- 情绪分析
emotion_type VARCHAR(50) COMMENT '情绪类型',
emotion_score DECIMAL(3, 2) COMMENT '情绪评分',
-- 标签
tags JSON COMMENT '标签列表',
-- 公共字段
create_by VARCHAR(64) COMMENT '创建人ID',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) COMMENT '更新人ID',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-未删除, 1-已删除',
remarks VARCHAR(500) COMMENT '备注'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '生命事件表 (t_life_event)';
-- t_life_event表索引
CREATE INDEX idx_life_event_user_id ON t_life_event (user_id);
CREATE INDEX idx_life_event_event_date ON t_life_event (event_date);
CREATE INDEX idx_life_event_user_date ON t_life_event (user_id, event_date);
CREATE INDEX idx_life_event_event_type ON t_life_event (event_type);
CREATE INDEX idx_life_event_create_time ON t_life_event (create_time);
CREATE INDEX idx_life_event_is_deleted ON t_life_event (is_deleted);
-- ============================================================================
-- 21. 爽文剧本表 (t_epic_script)
-- 存储用户生成的爽文剧本,包括主题、风格、剧情章节等
-- 关联说明: user_id 关联 t_user.id
-- ============================================================================
DROP TABLE IF EXISTS t_epic_script;
CREATE TABLE t_epic_script (
id VARCHAR(64) PRIMARY KEY COMMENT 'UUID主键',
user_id VARCHAR(64) NOT NULL COMMENT '用户ID (关联t_user.id)',
-- 剧本基本信息
title VARCHAR(200) COMMENT '剧本标题',
theme TEXT COMMENT '剧本主题/渴望',
style VARCHAR(50) COMMENT '剧本风格: career-职场逆袭, love-情感圆满, fantasy-玄幻觉醒',
length VARCHAR(20) DEFAULT 'medium' COMMENT '篇幅长度: medium-标准篇, long-长篇',
-- 剧情内容 (四章结构)
plot_intro TEXT COMMENT '序幕:低谷回响',
plot_turning TEXT COMMENT '转折:契机出现',
plot_climax TEXT COMMENT '高潮:命运抉择',
plot_ending TEXT COMMENT '结局:新的开始',
-- 完整剧情JSON (备用)
plot_json JSON COMMENT '完整剧情JSON结构',
-- 状态
is_selected TINYINT DEFAULT 0 COMMENT '是否当前选中: 0-否, 1-是',
-- 公共字段
create_by VARCHAR(64) COMMENT '创建人ID',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) COMMENT '更新人ID',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-未删除, 1-已删除',
remarks VARCHAR(500) COMMENT '备注'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '爽文剧本表 (t_epic_script)';
-- t_epic_script表索引
CREATE INDEX idx_epic_script_user_id ON t_epic_script (user_id);
CREATE INDEX idx_epic_script_style ON t_epic_script (style);
CREATE INDEX idx_epic_script_user_selected ON t_epic_script (user_id, is_selected);
CREATE INDEX idx_epic_script_create_time ON t_epic_script (create_time);
CREATE INDEX idx_epic_script_is_deleted ON t_epic_script (is_deleted);
-- ============================================================================
-- 22. 实现路径表 (t_life_path)
-- 存储基于剧本生成的实现路径规划
-- 关联说明: user_id 关联 t_user.id, script_id 关联 t_epic_script.id
-- ============================================================================
DROP TABLE IF EXISTS t_life_path;
CREATE TABLE t_life_path (
id VARCHAR(64) PRIMARY KEY COMMENT 'UUID主键',
user_id VARCHAR(64) NOT NULL COMMENT '用户ID (关联t_user.id)',
script_id VARCHAR(64) NOT NULL COMMENT '关联剧本ID (关联t_epic_script.id)',
-- 路径基本信息
title VARCHAR(200) COMMENT '路径标题',
description TEXT COMMENT '路径描述',
-- 路径步骤 (JSON数组)
steps JSON COMMENT '路径步骤列表',
-- 状态
status VARCHAR(20) DEFAULT 'active' COMMENT '状态: active-进行中, completed-已完成, archived-已归档',
progress DECIMAL(5, 2) DEFAULT 0.00 COMMENT '完成进度百分比',
-- 公共字段
create_by VARCHAR(64) COMMENT '创建人ID',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) COMMENT '更新人ID',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-未删除, 1-已删除',
remarks VARCHAR(500) COMMENT '备注'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '实现路径表 (t_life_path)';
-- t_life_path表索引
CREATE INDEX idx_life_path_user_id ON t_life_path (user_id);
CREATE INDEX idx_life_path_script_id ON t_life_path (script_id);
CREATE INDEX idx_life_path_user_script ON t_life_path (user_id, script_id);
CREATE INDEX idx_life_path_status ON t_life_path (status);
CREATE INDEX idx_life_path_create_time ON t_life_path (create_time);
CREATE INDEX idx_life_path_is_deleted ON t_life_path (is_deleted);
-- ============================================================================
-- 23. 路径步骤表 (t_life_path_step) - 可选,用于更细粒度的步骤管理
-- 存储路径的每个步骤详情
-- 关联说明: path_id 关联 t_life_path.id
-- ============================================================================
DROP TABLE IF EXISTS t_life_path_step;
CREATE TABLE t_life_path_step (
id VARCHAR(64) PRIMARY KEY COMMENT 'UUID主键',
path_id VARCHAR(64) NOT NULL COMMENT '路径ID (关联t_life_path.id)',
user_id VARCHAR(64) NOT NULL COMMENT '用户ID (关联t_user.id)',
-- 步骤信息
step_order INT DEFAULT 0 COMMENT '步骤顺序',
phase VARCHAR(100) COMMENT '阶段名称',
time_frame VARCHAR(50) COMMENT '时间范围',
content TEXT COMMENT '核心策略内容',
action TEXT COMMENT '关键行动',
resources TEXT COMMENT '所需资源',
habit TEXT COMMENT '养成习惯',
-- 状态
status VARCHAR(20) DEFAULT 'pending' COMMENT '状态: pending-待开始, in_progress-进行中, completed-已完成',
completed_time DATETIME COMMENT '完成时间',
-- 公共字段
create_by VARCHAR(64) COMMENT '创建人ID',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by VARCHAR(64) COMMENT '更新人ID',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-未删除, 1-已删除',
remarks VARCHAR(500) COMMENT '备注'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '路径步骤表 (t_life_path_step)';
-- t_life_path_step表索引
CREATE INDEX idx_life_path_step_path_id ON t_life_path_step (path_id);
CREATE INDEX idx_life_path_step_user_id ON t_life_path_step (user_id);
CREATE INDEX idx_life_path_step_order ON t_life_path_step (path_id, step_order);
CREATE INDEX idx_life_path_step_status ON t_life_path_step (status);
CREATE INDEX idx_life_path_step_is_deleted ON t_life_path_step (is_deleted);
-- 提交事务
COMMIT;