package com.estate.expert.admin.domain.user; import com.estate.expert.admin.domain.common.EntityBase; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; /** * @author ligf * @Description * @date 2023-09-02 **/ @Getter @Setter @Entity @Table(indexes = { @Index(name = "idx_name", columnList = "name"), @Index(name = "idx_mobile", columnList = "mobile") }) public class User extends EntityBase { public static final String DEFAULT_PASSWORD = "123456"; @Column(nullable = false) private String password; @Column(unique = true, nullable = false) private String mobile; @Column(nullable = false) private UserState state; private String departmentPath; // 由于使用Role对象会导致循环引用,所以这里只存储roleId @Column(nullable = false) private Integer roleId; // 用于显示 @Transient private String roleName; private String avatar; private String email; private String remark; private LocalDateTime lastAccessTime; // //// 检查任务 //// // @ManyToMany(mappedBy = "groupLeaders") // private Set checkTasksAsGroupLeader = new LinkedHashSet<>(); // // @ManyToMany(mappedBy = "groupMembers") // private Set checkTasksAsGroupMember = new LinkedHashSet<>(); // // @ManyToMany(mappedBy = "drivers") // private Set checkTasksAsDriver = new LinkedHashSet<>(); // // //// 复查任务 //// // @ManyToMany(mappedBy = "groupMembers") // private Set reviewsAsGroupMemberTask = new LinkedHashSet<>(); // // @ManyToMany(mappedBy = "groupLeaders") // private Set reviewsAsGroupLeaderTask = new LinkedHashSet<>(); // // @ManyToMany(mappedBy = "drivers") // private Set reviewsAsDriverTask = new LinkedHashSet<>(); }