package com.emotion.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.emotion.common.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; import java.time.LocalDate; /** * 用户档案实体类 * * @author huazhongmin * @date 2025-12-21 */ @Data @EqualsAndHashCode(callSuper = true) @SuperBuilder @NoArgsConstructor @AllArgsConstructor @TableName("t_user_profile") public class UserProfile extends BaseEntity { /** * 用户ID (关联t_user.id) */ @TableField("user_id") private String userId; /** * 昵称 */ @TableField("nickname") private String nickname; /** * 性别: male, female, secret */ @TableField("gender") private String gender; /** * 星座 */ @TableField("zodiac") private String zodiac; /** * 职业 */ @TableField("profession") private String profession; /** * MBTI人格类型 */ @TableField("mbti") private String mbti; /** * 兴趣爱好 (JSON字符串) */ @TableField("hobbies") private String hobbies; /** * 童年经历日期 */ @TableField("childhood_date") private LocalDate childhoodDate; /** * 童年经历描述 */ @TableField("childhood_content") private String childhoodContent; /** * 高光时刻日期 */ @TableField("peak_date") private LocalDate peakDate; /** * 高光时刻描述 */ @TableField("peak_content") private String peakContent; /** * 低谷时期日期 */ @TableField("valley_date") private LocalDate valleyDate; /** * 低谷时期描述 */ @TableField("valley_content") private String valleyContent; /** * 未来期许 */ @TableField("future_vision") private String futureVision; /** * 理想生活状态 */ @TableField("ideal_life") private String idealLife; /** * 所在城市 */ @TableField("city") private String city; /** * 行业 */ @TableField("industry") private String industry; /** * 公司 */ @TableField("company") private String company; /** * 性格标签 (JSON字符串) */ @TableField("personality_tags") private String personalityTags; /** * 用户完整性格标签库 (JSON字符串,含剩余预设 + 自定义) */ @TableField("personality_tag_library") private String personalityTagLibrary; /** * 用户完整兴趣爱好库 (JSON字符串,含剩余预设 + 自定义) */ @TableField("hobby_library") private String hobbyLibrary; /** * 生日 */ @TableField("birthday") private LocalDate birthday; /** * 生成的剧本列表 (JSON字符串) */ @TableField("scripts") private String scripts; /** * 选择的路径列表 (JSON字符串) */ @TableField("paths") private String paths; /** * 状态: 0-禁用, 1-正常 */ @TableField("status") private Integer status; }