package com.dsk.common.core.domain.entity;

import com.dsk.common.annotation.Excel;
import com.dsk.common.core.domain.BaseEntity;
import com.dsk.common.utils.CheckUtils;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.Pattern;

/**
 * 项目关联单位对象 business_relate_company
 *
 * @author lxl
 * @date 2023-05-17
 */
@Data
@NoArgsConstructor
public class BusinessRelateCompany extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Integer id;

    /** 项目id */
    @Excel(name = "项目id")
    private Integer businessId;

    /** 单位id */
    @Excel(name = "单位id")
    private Integer companyId;

    /** 单位名称 */
    @Excel(name = "单位名称")
    private String companyName;

    /** 单位角色 */
    @Excel(name = "单位角色")
    private String companyRole;

    /** 负责任人 */
    @Excel(name = "负责任人")
    private String responsiblePerson;

    /** 负责人电话 */
    @Excel(name = "负责人电话")
    private String phone;

    /** 对接深度/竞争力度 */
    @Excel(name = "对接深度/竞争力度")
    private String depth;

    /** 企业类型 */
    @Excel(name = "企业类型")
    private String companyType;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("businessId", getBusinessId())
            .append("companyId", getCompanyId())
            .append("companyName", getCompanyName())
            .append("companyRole", getCompanyRole())
            .append("responsiblePerson", getResponsiblePerson())
            .append("phone", getPhone())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("depth", getDepth())
            .append("companyType", getCompanyType())
            .toString();
    }

    public BusinessRelateCompany(Integer businessId, Integer companyId, String companyName, String companyRole) {
        this.businessId = businessId;
        this.companyId = companyId;
        this.companyName = companyName;
        this.companyRole = companyRole;
    }

    public BusinessRelateCompany(Integer businessId) {
        this.businessId = businessId;
    }
}
