人生轨迹功能模块补充

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
@@ -0,0 +1,95 @@
package com.emotion.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.emotion.common.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Map;
/**
* 爽文剧本实体类
* 存储用户生成的爽文剧本,包括主题、风格、剧情章节等
*
* @author huazhongmin
* @date 2025-12-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "t_epic_script", autoResultMap = true)
public class EpicScript extends BaseEntity {
/**
* 用户ID (关联t_user.id)
*/
@TableField("user_id")
private String userId;
/**
* 剧本标题
*/
@TableField("title")
private String title;
/**
* 剧本主题/渴望
*/
@TableField("theme")
private String theme;
/**
* 剧本风格: career-职场逆袭, love-情感圆满, fantasy-玄幻觉醒
*/
@TableField("style")
private String style;
/**
* 篇幅长度: medium-标准篇, long-长篇
*/
@TableField("length")
private String length;
/**
* 序幕:低谷回响
*/
@TableField("plot_intro")
private String plotIntro;
/**
* 转折:契机出现
*/
@TableField("plot_turning")
private String plotTurning;
/**
* 高潮:命运抉择
*/
@TableField("plot_climax")
private String plotClimax;
/**
* 结局:新的开始
*/
@TableField("plot_ending")
private String plotEnding;
/**
* 完整剧情JSON结构
*/
@TableField(value = "plot_json", typeHandler = JacksonTypeHandler.class)
private Map<String, Object> plotJson;
/**
* 是否当前选中: 0-否, 1-是
*/
@TableField("is_selected")
private Integer isSelected;
}
@@ -0,0 +1,85 @@
package com.emotion.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.emotion.common.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* 生命事件实体类
* 存储用户的人生轨迹事件,包括日期、标题、内容、AI回复等
*
* @author huazhongmin
* @date 2025-12-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "t_life_event", autoResultMap = true)
public class LifeEvent extends BaseEntity {
/**
* 用户ID (关联t_user.id)
*/
@TableField("user_id")
private String userId;
/**
* 事件类型: daily_log-日常记录, milestone-里程碑
*/
@TableField("event_type")
private String eventType;
/**
* 事件日期
*/
@TableField("event_date")
private LocalDateTime eventDate;
/**
* 事件标题
*/
@TableField("title")
private String title;
/**
* 事件内容
*/
@TableField("content")
private String content;
/**
* AI疗愈回复
*/
@TableField("ai_reply")
private String aiReply;
/**
* 情绪类型
*/
@TableField("emotion_type")
private String emotionType;
/**
* 情绪评分
*/
@TableField("emotion_score")
private BigDecimal emotionScore;
/**
* 标签列表
*/
@TableField(value = "tags", typeHandler = JacksonTypeHandler.class)
private List<String> tags;
}
@@ -0,0 +1,74 @@
package com.emotion.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.emotion.common.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* 实现路径实体类
* 存储基于剧本生成的实现路径规划
*
* @author huazhongmin
* @date 2025-12-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "t_life_path", autoResultMap = true)
public class LifePath extends BaseEntity {
/**
* 用户ID (关联t_user.id)
*/
@TableField("user_id")
private String userId;
/**
* 关联剧本ID (关联t_epic_script.id)
*/
@TableField("script_id")
private String scriptId;
/**
* 路径标题
*/
@TableField("title")
private String title;
/**
* 路径描述
*/
@TableField("description")
private String description;
/**
* 路径步骤列表 (JSON数组)
* 每个步骤包含: phase, time, content, action, resources, habit
*/
@TableField(value = "steps", typeHandler = JacksonTypeHandler.class)
private List<Map<String, Object>> steps;
/**
* 状态: active-进行中, completed-已完成, archived-已归档
*/
@TableField("status")
private String status;
/**
* 完成进度百分比
*/
@TableField("progress")
private BigDecimal progress;
}