package com.emotion.entity; import com.baomidou.mybatisplus.annotation.*; import com.emotion.common.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.SuperBuilder; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; /** * 用户实体类 * * @author emotion-museum * @date 2025-07-23 */ @Data @EqualsAndHashCode(callSuper = true) @SuperBuilder @NoArgsConstructor @AllArgsConstructor @TableName("user") public class User extends BaseEntity { /** * 账号 */ @TableField("account") private String account; /** * 密码(加密后) */ @TableField("password") private String password; /** * 用户名 */ @TableField("username") private String username; /** * 邮箱 */ @TableField("email") private String email; /** * 手机号 */ @TableField("phone") private String phone; /** * 头像URL */ @TableField("avatar") private String avatar; /** * 昵称 */ @TableField("nickname") private String nickname; /** * 生日 */ @TableField("birth_date") private LocalDate birthDate; /** * 所在地 */ @TableField("location") private String location; /** * 个人简介 */ @TableField("bio") private String bio; /** * 会员等级 */ @TableField("member_level") private String memberLevel; /** * 使用天数 */ @TableField("total_days") private Integer totalDays; /** * 自我感知 */ @TableField("self_awareness") private BigDecimal selfAwareness; /** * 情绪韧性 */ @TableField("emotional_resilience") private BigDecimal emotionalResilience; /** * 行动力 */ @TableField("action_power") private BigDecimal actionPower; /** * 共情力 */ @TableField("empathy") private BigDecimal empathy; /** * 生活热度 */ @TableField("life_enthusiasm") private BigDecimal lifeEnthusiasm; /** * 状态: 0-禁用, 1-正常 */ @TableField("status") private Integer status; /** * 是否已验证: 0-未验证, 1-已验证 */ @TableField("is_verified") private Integer isVerified; /** * 最后活跃时间 */ @TableField("last_active_time") private LocalDateTime lastActiveTime; /** * 第三方平台ID */ @TableField("third_party_id") private String thirdPartyId; /** * 第三方平台类型 */ @TableField("third_party_type") private String thirdPartyType; }