package com.ruoyi.system.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.ruoyi.common.annotation.Sensitive; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.enums.SensitiveStrategy; import com.ruoyi.system.domain.vo.OpenAccountVO; import lombok.Data; import lombok.NoArgsConstructor; import javax.validation.constraints.Email; import javax.validation.constraints.Size; import java.util.Date; import java.util.List; @Data @NoArgsConstructor @TableName("sys_user") public class OpenAccount { /** * 统一用户id */ @TableField("u_id") private Long uId; /** * 用户账号 */ @TableField("user_name") private String userName; /** * 用户Id */ @TableId(value = "user_id", type = IdType.ASSIGN_ID) private Long userId; /** * 用户昵称 */ @TableField("nick_name") private String nickName; /** * */ /** * 手机号码 */ @TableField("phonenumber") private String phonenumber; /** * 帐号状态(0正常 1停用) */ @TableField("status") private String status; /** * 删除标志(0代表存在 2代表删除) */ @TableField("del_flag") private String delFlag; /** * 创建人uId */ @TableField("create_by") private String createBy; /** * 密码 */ @TableField("password") private String password; /** * 部门ID */ private Long deptId; /** * 用户类型(sys_user系统用户) */ private String userType; /** * 用户邮箱 */ @Sensitive(strategy = SensitiveStrategy.EMAIL) @Email(message = "邮箱格式不正确") @Size(min = 0, max = 50, message = "邮箱长度不能超过{max}个字符") private String email; /** * 用户性别 */ private String sex; /** * 用户头像 */ private String avatar; @JsonIgnore @JsonProperty public String getPassword() { return password; } /** * 最后登录IP */ private String loginIp; /** * 最后登录时间 */ private Date loginDate; /** * 备注 */ private String remark; /** * 部门对象 */ @TableField(exist = false) private SysDept dept; /** * 角色对象 */ @TableField(exist = false) private List roles; /** * 角色组 */ @TableField(exist = false) private Long[] roleIds; /** * 岗位组 */ @TableField(exist = false) private Long[] postIds; /** * 数据权限 当前角色ID */ @TableField(exist = false) private Long roleId; public OpenAccount(Long userId) { this.userId = userId; } public boolean isAdmin() { return UserConstants.ADMIN_ID.equals(this.userId); } public OpenAccount(OpenAccountVO openAccountVO) { this.uId = openAccountVO.getUId(); this.userName = openAccountVO.getUserName(); this.nickName = openAccountVO.getNickName(); this.phonenumber = openAccountVO.getPhonenumber(); this.status = openAccountVO.getStatus(); this.delFlag = openAccountVO.getDelFlag(); this.createBy = openAccountVO.getCreateBy(); this.password = openAccountVO.getPassword(); } }