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

import com.gic.haoban.manage.api.enums.contact.ContactBizTypeEnum;

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

public class ContactFollowBatchQDTO implements Serializable {
    private static final long serialVersionUID = 973688857967269974L;

    /**
     * 企业id
     */
    private String enterpriseId;
    /**
     * 会员id
     */
    private List<MemberFollow> memberList;
    /**
     * 导购id
     */
    private String clerkId;

    /**
     * 跟进类型 1私人电话 2企微会话 3发送商品 4企微群发 5标记建联 6自动建联 7营销素材
     * @see com.gic.haoban.manage.api.enums.contact.ContactFollowTypeEnum
     */
    private Integer followType;

    /**
     * 业务id（建联日志id）
     */
    private String bizId;
    /**
     * 业务类型 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;
    /**
     * 跟进记录
     */
    private String followRemark;

    /**
     * 关联商品信息
     */
    private List<String> goodsInfoList;

    public String getEnterpriseId() {
        return enterpriseId;
    }

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

    public List<MemberFollow> getMemberList() {
        return memberList;
    }

    public void setMemberList(List<MemberFollow> memberList) {
        this.memberList = memberList;
    }

    public String getClerkId() {
        return clerkId;
    }

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

    public Integer getFollowType() {
        return followType;
    }

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

    public String getBizId() {
        return bizId;
    }

    public void setBizId(String bizId) {
        this.bizId = bizId;
    }

    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 String getFollowRemark() {
        return followRemark;
    }

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

    public List<String> getGoodsInfoList() {
        return goodsInfoList;
    }

    public void setGoodsInfoList(List<String> goodsInfoList) {
        this.goodsInfoList = goodsInfoList;
    }

    public static class MemberFollow implements Serializable{

        /**
         * 会员id
         */
        private String memberId;

        /**
         * 外部联系人id
         */
        private String externalUserId;

        /**
         * 跟进时间
         */
        private Date followTime;

        public MemberFollow() {
        }

        public MemberFollow(String memberId, Date followTime) {
            this.memberId = memberId;
            this.followTime = followTime;
        }

        public MemberFollow(String memberId, String externalUserId, Date followTime) {
            this.memberId = memberId;
            this.externalUserId = externalUserId;
            this.followTime = followTime;
        }

        public String getMemberId() {
            return memberId;
        }

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

        public String getExternalUserId() {
            return externalUserId;
        }

        public void setExternalUserId(String externalUserId) {
            this.externalUserId = externalUserId;
        }

        public Date getFollowTime() {
            return followTime;
        }

        public void setFollowTime(Date followTime) {
            this.followTime = followTime;
        }
    }
}