package com.fs.doc.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotNull;

/**
 * 档案对象 doc
 * 
 * @author fs
 * @date 2023-01-09
 */
public class Doc extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long docId;

    /** 会员ID */
    @Excel(name = "会员ID")
    private Long userId;

    /** 姓名 */
    @NotNull(message = "姓名不能为空")
    @Excel(name = "姓名")
    private String userName;

    /** 描述 */
    @Excel(name = "描述")
    private String descs;

    /** 身份证号 */
    @NotNull(message = "身份证号不能为空")
    @Excel(name = "身份证号")
    private String idCard;

    /** 身份证正面 */
    @Excel(name = "身份证正面")
    private String idCardFront;

    /** 身份证反面 */
    @Excel(name = "身份证反面")
    private String idCardBack;

    /** 性别 */
    @Excel(name = "性别")
    @NotNull(message = "性别不能为空")
    private Integer sex;

    /** 出生年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @NotNull(message = "出生年月不能为空")
    @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 头像 */
    @Excel(name = "头像")
    private String headImg;

    private String remark;

    private String tags;

    private String companyUserIds;

    public String getCompanyUserIds() {
        return companyUserIds;
    }

    public void setCompanyUserIds(String companyUserIds) {
        this.companyUserIds = companyUserIds;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public void setDocId(Long docId)
    {
        this.docId = docId;
    }

    public Long getDocId() 
    {
        return docId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setDescs(String descs) 
    {
        this.descs = descs;
    }

    public String getDescs() 
    {
        return descs;
    }
    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }
    public void setIdCardFront(String idCardFront) 
    {
        this.idCardFront = idCardFront;
    }

    public String getIdCardFront() 
    {
        return idCardFront;
    }
    public void setIdCardBack(String idCardBack) 
    {
        this.idCardBack = idCardBack;
    }

    public String getIdCardBack() 
    {
        return idCardBack;
    }
    public void setSex(Integer sex) 
    {
        this.sex = sex;
    }

    public Integer getSex() 
    {
        return sex;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setHeadImg(String headImg) 
    {
        this.headImg = headImg;
    }

    public String getHeadImg() 
    {
        return headImg;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("docId", getDocId())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("descs", getDescs())
            .append("idCard", getIdCard())
            .append("idCardFront", getIdCardFront())
            .append("idCardBack", getIdCardBack())
            .append("sex", getSex())
            .append("birthday", getBirthday())
            .append("headImg", getHeadImg())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
