package com.gym.model; import jakarta.persistence.*; import lombok.Data; import java.time.LocalDateTime; @Entity @Table(name = "users") @Data public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(unique = true, nullable = false, length = 50) private String username; @Column(nullable = false, length = 100) private String password; @Column(unique = true, length = 100) private String email; @Column(length = 20) private String phone; @Column(length = 20) private String role; // ADMIN, COACH, MEMBER @Column(name = "real_name") private String realName; private Integer age; private String gender; // 会员信息 private Double height; private Double weight; private String fitnessGoal; // 减脂、增肌、塑形 private Integer points = 0; // 积分 // 教练信息 private String qualification; // 资质证书 private String specialty; // 专长 // 时间戳 @Column(name = "create_time") private LocalDateTime createTime = LocalDateTime.now(); @Column(name = "last_login") private LocalDateTime lastLogin; @Column(name = "is_active") private Boolean isActive = true; // 构造函数 public User() {} public User(String username, String password, String email, String role) { this.username = username; this.password = password; this.email = email; this.role = role; } }