package com.zhongzheng.modules.user.vo;

import com.zhongzheng.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhongzheng.common.utils.TelPhoneUtils;
import com.zhongzheng.modules.grade.vo.ClassGradeUserGoodsVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 用户视图对象 mall_package
 *
 * @author change
 * @date 2021-05-25
 */
@Data
@ApiModel("用户视图对象")
public class UserVo {
	private static final long serialVersionUID = 1L;

	/** $pkColumn.columnComment */
	@ApiModelProperty("$pkColumn.columnComment")
	private Long userId;

	/** 账号 */
	@Excel(name = "账号")
	@ApiModelProperty("账号")
	private String userAccout;
	/** 昵称 */
	@Excel(name = "昵称")
	@ApiModelProperty("昵称")
	private String nickname;
	/** 真实姓名 */
	@Excel(name = "真实姓名")
	@ApiModelProperty("真实姓名")
	private String realname;
	/** 性别 */
	@Excel(name = "性别1男2女")
	@ApiModelProperty("性别1男2女")
	private Integer sex;
	/** 身份证号 */
	@Excel(name = "身份证号")
	@ApiModelProperty("身份证号")
	private String idCard;
	/** 手机号码 */
	@Excel(name = "手机号码")
	@ApiModelProperty("手机号码")
	private String telphone;

	/** 手机号码 */
	@Excel(name = "课程数量")
	@ApiModelProperty("课程数量")
	private Long orderNum;
	/** 用户等级 */
	@Excel(name = "用户等级")
	@ApiModelProperty("用户等级")
	private Integer userLevel;
	/** 注册时间 */
	@Excel(name = "注册时间")
	@ApiModelProperty("注册时间")
	private Long createTime;
	/** 出生日期 */
	@Excel(name = "出生日期")
	@ApiModelProperty("出生日期")
	private String userBirth;
	/** 教育层次 */
	@Excel(name = "教育层次")
	@ApiModelProperty("教育层次")
	private String eduLevel;
	/** 学校ID */
	@Excel(name = "学校ID")
	@ApiModelProperty("学校ID")
	private Long schoolId;
	/** 专业 */
	@Excel(name = "专业")
	@ApiModelProperty("专业")
	private String major;
	/** 入学时间 */
	@Excel(name = "入学时间")
	@ApiModelProperty("入学时间")
	private Long entranceTime;
	/** $column.columnComment */
	@Excel(name = "入学时间")
	@ApiModelProperty("$column.columnComment")
	private String openId;
	/** 身份证人像照 */
	@Excel(name = "身份证人像照")
	@ApiModelProperty("身份证人像照")
	private String idCardImg1;
	/** 身份证国徽照 */
	@Excel(name = "身份证国徽照")
	@ApiModelProperty("身份证国徽照")
	private String idCardImg2;
	/** 国家 */
	@Excel(name = "国家")
	@ApiModelProperty("国家")
	private String country;
	/** 省份 */
	@Excel(name = "省份")
	@ApiModelProperty("省份")
	private String province;
	/** 城市 */
	@Excel(name = "城市")
	@ApiModelProperty("城市")
	private String city;
	/** 用户积分 */
	@Excel(name = "用户积分")
	@ApiModelProperty("用户积分")
	private Long integral;
	/** 状态 1正常 0关闭 */
	@Excel(name = "状态 1正常 0关闭")
	@ApiModelProperty("状态 1正常 0关闭")
	private Integer status;
	@ApiModelProperty("是否人脸认证成功  1成功 0没有")
	private Integer certified;
	@ApiModelProperty("人脸认证时间")
	private Long certifiedTime;
	/** 区 */
	@Excel(name = "区")
	@ApiModelProperty("区")
	private String district;
	/** 结婚状态 */
	@Excel(name = "结婚状态")
	@ApiModelProperty("结婚状态")
	private String marry;
	/** 户籍省份 */
	@Excel(name = "户籍省份")
	@ApiModelProperty("户籍省份")
	private String houseProvince;
	/** 户籍城市 */
	@Excel(name = "户籍城市")
	@ApiModelProperty("户籍城市")
	private String houseCity;
	/** 户籍区 */
	@Excel(name = "户籍区")
	@ApiModelProperty("户籍区")
	private String houseDistrict;
	/** 一寸照片 */
	@Excel(name = "一寸照片")
	@ApiModelProperty("一寸照片")
	private String oneInchPhotos;
	/** 政治面貌 */
	@Excel(name = "政治面貌")
	@ApiModelProperty("政治面貌")
	private String politic;
	/** 邮箱 */
	@Excel(name = "邮箱")
	@ApiModelProperty("邮箱")
	private String email;
	/** 头像 */
	@Excel(name = "头像")
	@ApiModelProperty("头像")
	private String avatar;
	/** 余额 */
	@Excel(name = "余额")
	@ApiModelProperty("余额")
	private BigDecimal money;
	/** 公众号openid */
	@Excel(name = "公众号openid")
	@ApiModelProperty("公众号openid")
	private String gzhOpenId;
	/** 课程数 */
	@Excel(name = "课程数")
	@ApiModelProperty("课程数")
	private Long courseNum;
	/** 学习时长 */
	@Excel(name = "学习时长")
	@ApiModelProperty("学习时长")
	private Long studyTime;
	/** 注册平台 1小程序 2网站 */
	@Excel(name = "注册平台 1小程序 2网站")
	@ApiModelProperty("注册平台 1小程序 2网站")
	private String registerPlat;
	/** 最后登录时间 */
	@Excel(name = "最后登录时间")
	@ApiModelProperty("最后登录时间")
	private Long lastLoginTime;


	/** 學員編碼 */
	@Excel(name = "學員編碼")
	@ApiModelProperty("學員編碼")
	private String studentCode;

	/** 工作年限 */
	@Excel(name = "工作年限")
	@ApiModelProperty("工作年限")
	private String workYear;
	/** 公司名称 */
	@Excel(name = "公司名称")
	@ApiModelProperty("公司名称")
	private String companyName;
	/** 民族 */
	@Excel(name = "民族")
	@ApiModelProperty("民族")
	private String nation;
	/** 户口性质 */
	@Excel(name = "户口性质 1農村 2城鎮")
	@ApiModelProperty("户口性质 1農村 2城鎮")
	private Integer census;
	/** 籍贯 */
	@Excel(name = "籍贯")
	@ApiModelProperty("籍贯")
	private String nativePlace;
	/** 联系地址 */
	@Excel(name = "联系地址")
	@ApiModelProperty("联系地址")
	private String contactAddress;
	/** 收件地址 */
	@Excel(name = "收件地址")
	@ApiModelProperty("收件地址")
	private String consigneeAddress;
	/** 备注 */
	@Excel(name = "备注")
	@ApiModelProperty("备注")
	private String remark;

	/** 备注 */
	@Excel(name = "戶口地址")
	@ApiModelProperty("戶口地址")
	private String houseAddress;


	/** 1在职 0离职 */
	@Excel(name = "1在职 0离职")
	@ApiModelProperty("1在职 0离职")
	private Long jobStatus;

	/** 1在职 0离职 */
	@Excel(name = "班級")
	@ApiModelProperty("班級")
	private List<ClassGradeUserGoodsVo> classGradeUserGoodsVoList;

	public void setNull(){
		this.setOpenId(null);
		this.setIdCardImg1(null);
		this.setIdCardImg2(null);
		this.setCertifiedTime(null);
		this.setGzhOpenId(null);
	/*	if(this.getTelphone()!=null){
			this.setTelphone(TelPhoneUtils.hideTelPhone(this.getTelphone()));
		}*/
		/*if(this.getIdCard()!=null){
			this.setIdCard(TelPhoneUtils.hideTelPhone(this.getIdCard()));
		}*/
	}
}
