/** * Copyright (c) 2018 人人开源 All rights reserved. * * https://www.renren.io * * 版权所有,侵权必究! */ package com.zt.core.sys.model; import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.zt.common.annotation.OssField; import com.zt.common.entity.BusiEntity; import com.zt.common.validator.group.DefaultGroup; import com.zt.life.sys.dto.OssDto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.validator.constraints.Range; import org.springframework.context.annotation.Lazy; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * 系统用户 * * @author hehz */ @Data @ApiModel(value = "用户") @EqualsAndHashCode(callSuper = false) @TableName("SYS_USER") public class SysUser extends BusiEntity { private static final long serialVersionUID = 1L; @TableField(exist = false) @ApiModelProperty(value = "用户名", required = false) private String name; @ApiModelProperty(value = "员工工号", required = false) // @NotBlank(message = "员工工号不能为空", groups = DefaultGroup.class) private String userCode; @ApiModelProperty(value = "用户名", required = true) @NotBlank(message = "用户名不能为空", groups = DefaultGroup.class) private String username; @ApiModelProperty(value = "密码") @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) // @NotBlank(message="密码不能为空", groups = AddGroup.class) @JsonIgnore private String password; @ApiModelProperty(value = "真实姓名", required = true) @NotBlank(message = "真实姓名不能为空", groups = DefaultGroup.class) private String realName; @ApiModelProperty(value = "昵称") private String nickName; @ApiModelProperty(value = "姓名简拼") private String simpleSpelling; @ApiModelProperty(value = "姓名全拼") private String fullSpelling; @ApiModelProperty(value = "头像") private String headUrl; @ApiModelProperty(value = "性别 0:男 1:女 2:保密", required = false) @Range(min = 0, max = 2, message = "sysuser.gender.range", groups = DefaultGroup.class) private Integer gender; @ApiModelProperty(value = "邮箱") @Email(message = "邮箱格式不正确", groups = DefaultGroup.class) private String email; @ApiModelProperty(value = "手机号") private String mobile; @ApiModelProperty(value = "部门名称") @TableField(exist = false) private String deptName; @ApiModelProperty(value = "钉钉号") private String dingcode; @ApiModelProperty(value = "微信号") private String wechat; @ApiModelProperty(value = "单点登录标识") private Long openid; @ApiModelProperty(value = "是否允许用户同时登录0:不允许 1:允许") private Boolean isMulonline; @ApiModelProperty(value = "允许登录开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date gmtAllowstart; @ApiModelProperty(value = "允许登录结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date gmtAllowend; @ApiModelProperty(value = "暂停登录开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date gmtLockstart; @ApiModelProperty(value = "暂停登录结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date gmtLockend; @ApiModelProperty(value = "排序") private Integer sort; @ApiModelProperty(value = "是否是超级管理员") @JsonProperty(access = JsonProperty.Access.READ_ONLY) @TableField("is_super_admin") private boolean isSuperAdmin; @ApiModelProperty(value = "状态") @TableField(fill = FieldFill.INSERT) private Integer status; @ApiModelProperty(value = "最后一次登录时间") @JsonFormat(pattern="yyyy-MM-dd", timezone="GMT+8") @JSONField(format = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date lastLoginErrorTime; @ApiModelProperty(value = "登录错误计数") private Integer loginErrorCount; @ApiModelProperty(value = "是否锁定") private Integer isLocked; @OssField("用户头像") @ApiModelProperty(value = "用户头像") @TableField(exist = false) private OssDto files; @OssField("用户头像") @ApiModelProperty(value = "用户头像") @TableField(exist = false) private OssDto files2; @ApiModelProperty(value = "岗位ID列表") @TableField(exist = false) private List postIdList = new ArrayList<>(); @ApiModelProperty(value = "职位ID列表") @TableField(exist = false) private List jobIdList = new ArrayList<>(); @ApiModelProperty(value = "岗位ID列表") @TableField(exist = false) private String teamgroupIds; @ApiModelProperty(value = "职位ID列表") @TableField(exist = false) private String shipIds; @OssField("register") @ApiModelProperty(value = "注册标识") @TableField(exist = false) private Integer register; }