/**
|
* 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.core.oss.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.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;
|
@ApiModelProperty(value = "用户ID", required = false)
|
private Long userId;
|
@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 avatar;
|
|
@ApiModelProperty(value = "岗位ID列表")
|
@TableField(exist = false)
|
private List<Long> postIdList = new ArrayList<>();
|
|
@ApiModelProperty(value = "职位ID列表")
|
@TableField(exist = false)
|
private List<Long> 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;
|
|
}
|