package com.jd.lightapplication.model;

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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;


@Data
@ApiModel("用户表")
@TableName("sys_user")
@Accessors(chain = true)
public class SysUser implements Serializable {
	private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("用户名称(登录账号)")
    @TableField("username")
    private String username;

    @ApiModelProperty("用户名称(显示名称)")
    @TableField("username_show")
    private String usernameShow;

    @ApiModelProperty("密码")
    @TableField("password")
    private String password;

    @ApiModelProperty("系统头像")
    @TableField("avatar")
    private String avatar;

    @ApiModelProperty("邮箱")
    @TableField("email")
    private String email;

    @ApiModelProperty("")
    @TableField("created")
    private String created;

    @ApiModelProperty("")
    @TableField("updated")
    private String updated;

    @ApiModelProperty("上次登录时间")
    @TableField("last_login")
    private String lastLogin;

    @ApiModelProperty("")
    @TableField("statu")
    private Integer statu;

    @ApiModelProperty("手机号")
    @TableField("phone")
    private String phone;

    @ApiModelProperty("普通用户的标识，对当前开发者帐号唯一")
    @TableField("open_id")
    private String openId;

    @ApiModelProperty("普通用户昵称")
    @TableField("nick_name")
    private String nickName;

    @ApiModelProperty("普通用户性别，1为男性，2为女性")
    @TableField("sex")
    private String sex;

    @ApiModelProperty("普通用户个人资料填写的省份")
    @TableField("province")
    private String province;

    @ApiModelProperty("普通用户个人资料填写的城市")
    @TableField("city")
    private String city;

    @ApiModelProperty("国家，如中国为CN")
    @TableField("country")
    private String country;

    @ApiModelProperty("用户头像，最后一个数值代表正方形头像大小（有0、46、64、96、132数值可选，0代表640*640正方形头像），用户没有头像时该项为空")
    @TableField("head_img_url")
    private String headImgUrl;

    @ApiModelProperty("用户统一标识。针对一个微信开放平台帐号下的应用，同一用户的unionid是唯一的。")
    @TableField("union_id")
    private String unionId;

    @TableField(exist = false)
    private List<SysRole> sysRoles = new ArrayList<>();

}
