package com.bootdo.data.domain;

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

/**
 * ca证书企业信息表
 */
public class CaInfo implements Serializable {

    /**
     * ca证书状态 0删除 1已申请 2通过 3拒绝
     */
    public static final int CA_STATUS_APPLY = 1;
    public static final int CA_STATUS_PASS = 2;
    public static final int CA_STATUS_REFUSE = 3;

    private Integer id;

    /**
     * 统一社会信用代码
     */
    private String uniformSocialCreditCode;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 企业税号
     */
    private String taxationNum;

    /**
     * 联系地址
     */
    private String connectAddress;

    /**
     * 联系人
     */
    private String connectName;

    /**
     * 联系电话
     */
    private String connectPhone;

    /**
     * 邮箱
     */
    private String connectEmail;

    /**
     * 证书有效起始时间
     */
    private Date effectiveTimeBeige;

    /**
     * 证书有效结束时间
     */
    private Date effectiveTimeEnd;

    /**
     * 证书文件所在文件路径
     */
    private String filePath;

    /**
     * 证书状态 0 已删除 1已申请 2 通过(生成证书) 3 不通过
     */
    private Integer caStatus;

    /**
     * 证书生成详情关联表id
     */
    private Integer caDetailId;

    /**
     * 创建时间
     */
    private Date crateTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 备注
     */
    private String remark;

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUniformSocialCreditCode() {
        return uniformSocialCreditCode;
    }

    public void setUniformSocialCreditCode(String uniformSocialCreditCode) {
        this.uniformSocialCreditCode = uniformSocialCreditCode;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getTaxationNum() {
        return taxationNum;
    }

    public void setTaxationNum(String taxationNum) {
        this.taxationNum = taxationNum;
    }

    public String getConnectAddress() {
        return connectAddress;
    }

    public void setConnectAddress(String connectAddress) {
        this.connectAddress = connectAddress;
    }

    public String getConnectName() {
        return connectName;
    }

    public void setConnectName(String connectName) {
        this.connectName = connectName;
    }

    public String getConnectPhone() {
        return connectPhone;
    }

    public void setConnectPhone(String connectPhone) {
        this.connectPhone = connectPhone;
    }

    public String getConnectEmail() {
        return connectEmail;
    }

    public void setConnectEmail(String connectEmail) {
        this.connectEmail = connectEmail;
    }

    public Date getEffectiveTimeBeige() {
        return effectiveTimeBeige;
    }

    public void setEffectiveTimeBeige(Date effectiveTimeBeige) {
        this.effectiveTimeBeige = effectiveTimeBeige;
    }

    public Date getEffectiveTimeEnd() {
        return effectiveTimeEnd;
    }

    public void setEffectiveTimeEnd(Date effectiveTimeEnd) {
        this.effectiveTimeEnd = effectiveTimeEnd;
    }

    public String getFilePath() {
        return filePath;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    public Integer getCaStatus() {
        return caStatus;
    }

    public void setCaStatus(Integer caStatus) {
        this.caStatus = caStatus;
    }

    public Integer getCaDetailId() {
        return caDetailId;
    }

    public void setCaDetailId(Integer caDetailId) {
        this.caDetailId = caDetailId;
    }

    public Date getCrateTime() {
        return crateTime;
    }

    public void setCrateTime(Date crateTime) {
        this.crateTime = crateTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return remark;
    }

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

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", uniformSocialCreditCode=").append(uniformSocialCreditCode);
        sb.append(", companyName=").append(companyName);
        sb.append(", taxationNum=").append(taxationNum);
        sb.append(", connectAddress=").append(connectAddress);
        sb.append(", connectName=").append(connectName);
        sb.append(", connectPhone=").append(connectPhone);
        sb.append(", connectEmail=").append(connectEmail);
        sb.append(", effectiveTimeBeige=").append(effectiveTimeBeige);
        sb.append(", effectiveTimeEnd=").append(effectiveTimeEnd);
        sb.append(", filePath=").append(filePath);
        sb.append(", caStatus=").append(caStatus);
        sb.append(", caDetailId=").append(caDetailId);
        sb.append(", crateTime=").append(crateTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", remark=").append(remark);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        CaInfo other = (CaInfo) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getUniformSocialCreditCode() == null ? other.getUniformSocialCreditCode() == null : this.getUniformSocialCreditCode().equals(other.getUniformSocialCreditCode()))
                && (this.getCompanyName() == null ? other.getCompanyName() == null : this.getCompanyName().equals(other.getCompanyName()))
                && (this.getTaxationNum() == null ? other.getTaxationNum() == null : this.getTaxationNum().equals(other.getTaxationNum()))
                && (this.getConnectAddress() == null ? other.getConnectAddress() == null : this.getConnectAddress().equals(other.getConnectAddress()))
                && (this.getConnectName() == null ? other.getConnectName() == null : this.getConnectName().equals(other.getConnectName()))
                && (this.getConnectPhone() == null ? other.getConnectPhone() == null : this.getConnectPhone().equals(other.getConnectPhone()))
                && (this.getConnectEmail() == null ? other.getConnectEmail() == null : this.getConnectEmail().equals(other.getConnectEmail()))
                && (this.getEffectiveTimeBeige() == null ? other.getEffectiveTimeBeige() == null : this.getEffectiveTimeBeige().equals(other.getEffectiveTimeBeige()))
                && (this.getEffectiveTimeEnd() == null ? other.getEffectiveTimeEnd() == null : this.getEffectiveTimeEnd().equals(other.getEffectiveTimeEnd()))
                && (this.getFilePath() == null ? other.getFilePath() == null : this.getFilePath().equals(other.getFilePath()))
                && (this.getCaStatus() == null ? other.getCaStatus() == null : this.getCaStatus().equals(other.getCaStatus()))
                && (this.getCaDetailId() == null ? other.getCaDetailId() == null : this.getCaDetailId().equals(other.getCaDetailId()))
                && (this.getCrateTime() == null ? other.getCrateTime() == null : this.getCrateTime().equals(other.getCrateTime()))
                && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
                && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getUniformSocialCreditCode() == null) ? 0 : getUniformSocialCreditCode().hashCode());
        result = prime * result + ((getCompanyName() == null) ? 0 : getCompanyName().hashCode());
        result = prime * result + ((getTaxationNum() == null) ? 0 : getTaxationNum().hashCode());
        result = prime * result + ((getConnectAddress() == null) ? 0 : getConnectAddress().hashCode());
        result = prime * result + ((getConnectName() == null) ? 0 : getConnectName().hashCode());
        result = prime * result + ((getConnectPhone() == null) ? 0 : getConnectPhone().hashCode());
        result = prime * result + ((getConnectEmail() == null) ? 0 : getConnectEmail().hashCode());
        result = prime * result + ((getEffectiveTimeBeige() == null) ? 0 : getEffectiveTimeBeige().hashCode());
        result = prime * result + ((getEffectiveTimeEnd() == null) ? 0 : getEffectiveTimeEnd().hashCode());
        result = prime * result + ((getFilePath() == null) ? 0 : getFilePath().hashCode());
        result = prime * result + ((getCaStatus() == null) ? 0 : getCaStatus().hashCode());
        result = prime * result + ((getCaDetailId() == null) ? 0 : getCaDetailId().hashCode());
        result = prime * result + ((getCrateTime() == null) ? 0 : getCrateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        return result;
    }
}