package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * B类对象 contract_table
 * 
 * @author ruoyi
 * @date 2022-11-25
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ContractTable extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 证书类型 */
    @Excel(name = "证书类型", combo = {"个人会员证","团体会员证","企业会员证","理事聘书","一般聘书"}, dictType = "cert_b_type", type = Excel.Type.ALL)
    private Long certType;

    /** 姓名或者单位 */
    @Excel(name = "姓名或者单位",type = Excel.Type.ALL)
    private String name;

    /** 身份证或者编码 */
    @Excel(name = "身份证或者编码",type = Excel.Type.ALL)
    private String code;

    /** 证书编码 */
    @Excel(name = "证书编码",type = Excel.Type.ALL)
    private String certId;

    /** 专业委员会 */
    /**@Excel(name = "专业委员会", readConverterExp = "0=天文教育,1=地理教育,2=中学数学教育,3=中学阅读与发展",type = Excel.Type.ALL)*/
    private Integer certMajor;

    /** 发证时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发证时间", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.ALL)
    private Date issueDate;

    /** 证书有效期 */
    @Excel(name = "证书有效期",type = Excel.Type.ALL)
    private String validTerm;

    /** 邮箱 */
    @Excel(name = "邮箱",type = Excel.Type.ALL)
    private String email;

    /** 手机号 */
    @Excel(name = "手机号",type = Excel.Type.ALL)
    private String phone;

    /** 导入系统的时间戳 */
    private Date updateDate;

    /** 证书文字 */
    @Excel(name = "证书文字",type = Excel.Type.ALL)
    private String certContent;

    /** 证书模板*/
    @Excel(name = "证书模板", prompt = "填写证书模板列表中的证书编码", type = Excel.Type.ALL)
    private int templateId;

}
