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

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

import java.util.Date;

/**
 * 项目跟进记录对象 business_follow_record
 *
 * @author lxl
 * @date 2023-05-17
 */
public class BusinessFollowRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 业主单位
     */
    private String ownerCompany;

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

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

    /** 用户id */
    @Excel(name = "用户id")
    private Integer userId;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String nickName;

    /** 拜访对象 */
    @Excel(name = "拜访对象")
    private String visitPerson;

    /** 职位 */
    @Excel(name = "职位")
    private String position;

    /** 拜访时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "拜访时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date visitTime;

    /** 下次拜访时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下次拜访时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date nextVisitTime;

    /** 记录内容 */
    @Excel(name = "记录内容")
    private String recordInfo;

    /** 拜访方式 */
    @Excel(name = "拜访方式")
    private String visitWay;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creatTime;

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getOwnerCompany() {
        return ownerCompany;
    }

    public void setOwnerCompany(String ownerCompany) {
        this.ownerCompany = ownerCompany;
    }

    public String getNickName() {
        return nickName;
    }

    public String getVisitPerson() {
        return visitPerson;
    }

    public String getPosition() {
        return position;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public void setVisitPerson(String visitPerson) {
        this.visitPerson = visitPerson;
    }

    public void setPosition(String position) {
        this.position = position;
    }

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

    public Integer getId()
    {
        return id;
    }
    public void setBusinessId(Integer businessId)
    {
        this.businessId = businessId;
    }

    public Integer getBusinessId()
    {
        return businessId;
    }
    public void setUserId(Integer userId)
    {
        this.userId = userId;
    }

    public Integer getUserId()
    {
        return userId;
    }

    public void setVisitTime(Date visitTime)
    {
        this.visitTime = visitTime;
    }

    public Date getVisitTime()
    {
        return visitTime;
    }
    public void setNextVisitTime(Date nextVisitTime)
    {
        this.nextVisitTime = nextVisitTime;
    }

    public Date getNextVisitTime()
    {
        return nextVisitTime;
    }
    public void setRecordInfo(String recordInfo)
    {
        this.recordInfo = recordInfo;
    }

    public String getRecordInfo()
    {
        return recordInfo;
    }
    public void setVisitWay(String visitWay)
    {
        this.visitWay = visitWay;
    }

    public String getVisitWay()
    {
        return visitWay;
    }
    public void setCreatTime(Date creatTime)
    {
        this.creatTime = creatTime;
    }

    public Date getCreatTime()
    {
        return creatTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("businessId", getBusinessId())
            .append("userId", getUserId())
            .append("nickName", getNickName())
            .append("visitPerson", getVisitPerson())
            .append("position", getPosition())
            .append("visitTime", getVisitTime())
            .append("nextVisitTime", getNextVisitTime())
            .append("recordInfo", getRecordInfo())
            .append("visitWay", getVisitWay())
            .append("creatTime", getCreatTime())
            .append("updateTime", getUpdateTime())
            .append("projectName", getProjectName())
            .append("ownerCompany(", getOwnerCompany())
            .toString();
    }
}
