package com.gic.haoban.manage.api.qdto.contact;

import com.gic.api.base.commons.Constant;
import com.gic.haoban.manage.api.enums.contact.ContactAutoTypeEnum;
import com.gic.haoban.manage.api.enums.contact.ContactBizTypeEnum;
import com.gic.haoban.manage.api.enums.contact.ContactFollowTypeEnum;

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

public class ContactLogQDTO implements Serializable {
    private static final long serialVersionUID = 973688857967269973L;
    /**
     * 会员id
     */
    private String memberId;
    /**
     * 导购id
     */
    private String clerkId;
    /**
     * 门店id
     */
    private String storeId;
    /**
     * 企业id
     */
    private String enterpriseId;

    /**
     * 跟进类型 1私人电话 2企微会话 3发送商品 4企微群发 5标记建联 6自动建联 7营销素材
     * @see com.gic.haoban.manage.api.enums.contact.ContactFollowTypeEnum
     */
    private Integer followType = ContactFollowTypeEnum.CONTACT.getCode();
    /**
     * 跟进记录
     */
    private String followRemark;
    /**
     * 跟进上传素材,数组格式
     */
    private List<String> followMaterialList;

    /**
     * 自动建联类型
     * @see ContactAutoTypeEnum
     */
    private Integer contactAutoType;

    /**
     * 是否自动建联 1是0否
     */
    private Integer autoFlag = Constant.FLAG_FALSE;

    /**
     * 是否同步建联
     */
    private Integer syncContactType;

    /**
     * 同步建联时间
     */
    private Date syncContactTime;

    /**
     * 业务类型 1潜客（0001）2机会人群（0010）
     * @see com.gic.haoban.manage.api.enums.contact.ContactBizTypeEnum
     */
    private Integer bizType = ContactBizTypeEnum.POTENTIAL_CUSTOMER.getType();

    /**
     * 来源类型 1潜客（0001）2机会人群（0010）
     * @see com.gic.haoban.manage.api.enums.contact.ContactBizTypeEnum
     */
    private Integer sourceType;

    /**
     * 来源建联id
     */
    private Long sourceLogId;

    public ContactLogQDTO() {
    }

    public ContactLogQDTO(String enterpriseId,String memberId, String clerkId, String storeId, Integer contactAutoType) {
        this.memberId = memberId;
        this.clerkId = clerkId;
        this.storeId = storeId;
        this.enterpriseId = enterpriseId;
        this.contactAutoType = contactAutoType;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getClerkId() {
        return clerkId;
    }

    public void setClerkId(String clerkId) {
        this.clerkId = clerkId;
    }

    public String getStoreId() {
        return storeId;
    }

    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }

    public String getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(String enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public Integer getFollowType() {
        return followType;
    }

    public void setFollowType(Integer followType) {
        this.followType = followType;
    }

    public String getFollowRemark() {
        return followRemark;
    }

    public void setFollowRemark(String followRemark) {
        this.followRemark = followRemark;
    }

    public List<String> getFollowMaterialList() {
        return followMaterialList;
    }

    public void setFollowMaterialList(List<String> followMaterialList) {
        this.followMaterialList = followMaterialList;
    }

    public Integer getContactAutoType() {
        return contactAutoType;
    }

    public void setContactAutoType(Integer contactAutoType) {
        this.contactAutoType = contactAutoType;
    }

    public Integer getAutoFlag() {
        return autoFlag;
    }

    public void setAutoFlag(Integer autoFlag) {
        this.autoFlag = autoFlag;
    }

    public Integer getSyncContactType() {
        return syncContactType;
    }

    public void setSyncContactType(Integer syncContactType) {
        this.syncContactType = syncContactType;
    }

    public Date getSyncContactTime() {
        return syncContactTime;
    }

    public void setSyncContactTime(Date syncContactTime) {
        this.syncContactTime = syncContactTime;
    }

    public Integer getBizType() {
        return bizType;
    }

    public void setBizType(Integer bizType) {
        this.bizType = bizType;
    }

    public Integer getSourceType() {
        return sourceType;
    }

    public void setSourceType(Integer sourceType) {
        this.sourceType = sourceType;
    }

    public Long getSourceLogId() {
        return sourceLogId;
    }

    public void setSourceLogId(Long sourceLogId) {
        this.sourceLogId = sourceLogId;
    }
}