/**
 * Copyright 2008-2009. Chongqing Communications Industry Services Co.,Ltd Information Technology Branch. All rights reserved. <a>http://www.crunii.com</a>
 */
package com.crunii.micro.service.sysmgr.dto.sysmgr;

import com.crunii.micro.common.serializer.DateSerializer;
import com.crunii.micro.domain.entity.main.TsmRole;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author 田平 create 2018年11月1日下午3:00:26
 */
@Setter
@Getter
@ToString
@ApiModel
public class WorkerInfo implements Serializable {
	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "登录Id")
	private int loginId;

	@ApiModelProperty(value = "组织code")
	private String orgId;

//	@ApiModelProperty(value = "组织id")
//	private String orgIdNum;

	@ApiModelProperty(value = "组织编码，按规律生成，体现上下级关系")
	private String orgCode;

	@ApiModelProperty(value = "组织名称")
	private String orgName;

	@ApiModelProperty(value = "生日")
	private Date birthday;

	@ApiModelProperty(value = "创建时间")
	private Date createTime;

	@ApiModelProperty(value = "邮件地址")
	private String email;

	@ApiModelProperty(value = "最好一次修改密码时间")
	private Date lastChgPwdTime;

	@ApiModelProperty(value = "登录工号")
	private String loginCode;

	@ApiModelProperty(value = "登录次数")
	private int loginNum;

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

	@ApiModelProperty(value = "电话")
	private String phone;

	@ApiModelProperty(value = "性别|0女1男")
	private Integer sex;

	@ApiModelProperty(value = "姓名")
	private String workerName;

	@ApiModelProperty(value = "状态|0有效1无效")
	private int state;

	@ApiModelProperty(value = "用户角色")
	private List<WorkerRoleListRspVo> roles;

	@ApiModelProperty(value = "fileUrl")
	private String fileUrl;

	@ApiModelProperty(value = "身份类别")
	private Integer identityCategory;

	@ApiModelProperty(value = "身份类别翻译")
	private String identityCategoryTrans;

//	@ApiModelProperty("职位")
//	private String position;

	@ApiModelProperty(value = "登记系统直属（静态值）")
	private Integer registrationSystem;

	@ApiModelProperty(value = "登记系统直属翻译")
	private String registrationSystemTrans;

	@ApiModelProperty(value = "用户头像图片key")
	private String headPortraitPicKey;

	@ApiModelProperty(value = "是否临时用户(1是,0否)")
	private Integer whetherTemporary;

	@ApiModelProperty(value = "是否临时用户")
	private String whetherTemporaryName;

	@ApiModelProperty(value = "职务")
	private List<WorkerPostVO> posts;

	@ApiModelProperty(value = "挂职组织")
	private List<WorkerOrgVO> temporaryOrgs;

	@ApiModelProperty(value = "到期时间")
	@JsonSerialize(using = DateSerializer.class)
	private Date timeout;

	@ApiModelProperty(value = "用户类型")
	private Integer workerType;

	@ApiModelProperty(value = "用户类型名称")
	private String workerTypeName;

	/**
	 * 扩展字段
	 */
	@ApiModelProperty(value = "状态名称")
	private String stateName;

	@ApiModelProperty(value = "标签名称列表")
	private List<LabelResp> labels;

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

}
