package com.yuchen.saas.manage.user.api.vo.sassuser;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@ApiModel(value = "个人用户列表", description = "个人用户列表")
public class SaasUserListVo {

    @ApiModelProperty(value = "用户ID")
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    private Long id;

    @ApiModelProperty(value = "所在部门")
    private String name;

    @ApiModelProperty(value = "用户来源")
    private Integer source;

    @ApiModelProperty(value = "真实姓名")
    private String realName;

    @ApiModelProperty(value = "手机号码")
    private String phone;

    @ApiModelProperty(value = "身份证号码")
    private String idcard;

    @ApiModelProperty(value = "身份证过期时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date idcardEffectiveTime;

    @ApiModelProperty(value = "性别")
    private Integer sex;

    @ApiModelProperty(value = "联系地址")
    private String contactProvince;
    @ApiModelProperty(value = "省名称")
    private String contactProvinceName;

    @ApiModelProperty(value = "联系地址")
    private String contactCity;
    @ApiModelProperty(value = "市名称")
    private String contactCityName;

    @ApiModelProperty(value = "联系地址")
    private String contactCounty;
    @ApiModelProperty(value = "区/县名称")
    private String contactCountyName;

    @ApiModelProperty(value = "联系地址")
    private String contactTown;
    @ApiModelProperty(value = "镇/街道名称")
    private String contactTownName;

    @ApiModelProperty(value = "联系地址")
    private String contactAddress;

    @ApiModelProperty(value = "是否认证")
    private Integer cerStatus;

    @ApiModelProperty(value = "账号状态")
    private Integer status;

    @ApiModelProperty(value = "微信号")
    private String wechatName;

    @ApiModelProperty(value = "注册时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty(value = "生日")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date birthday;
}
