using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.WeChat;
using System;
using VT.FW.DB;

namespace Edu.Model.Entity.WeChat
{
    /// <summary>
    /// 企业微信客户信息实体类
    /// </summary>
    [Serializable]
    [DB(ConnectionName = "DefaultConnection")]
    public class RB_WeChat_CustomerInfo
    {
        /// <summary>
        /// Id
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 员工id
        /// </summary>
        public int EmpId { get; set; }

        /// <summary>
        /// 员工企业微信Id
        /// </summary>
        public string WorkEmpId { get; set; }

        /// <summary>
        /// 员工企业微信名称
        /// </summary>
        public string WorkEmpName { get; set; }

        /// <summary>
        /// 客户企业微信Id
        /// </summary>
        public string ExternalUserId { get; set; }

        /// <summary>
        /// 删除状态
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 集团编号
        /// </summary>
        public int Group_Id { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public int CreateBy { get; set; }

        /// <summary>
        /// 创建日期
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        public int UpdateBy { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdateTime { get; set; }

        /// <summary>
        /// 该成员对此客人的备注
        /// </summary>
        public string CustomerName { get; set; }

        /// <summary>
        /// 微信名称
        /// </summary>
        public string WeChatName { get; set; }

        /// <summary>
        /// 微信头像
        /// </summary>
        public string WeChatPhoto { get; set; }

        /// <summary>
        /// 外部联系人所在企业的简称(企业微信用户)
        /// </summary>
        public string CorpName { get; set; }

        /// <summary>
        /// 外部联系人所在企业的主体名称(企业微信用户)
        /// </summary>
        public string CorpFullName { get; set; }

        /// <summary>
        /// 类型，1微信用户，2企业微信用户
        /// </summary>
        public int CustomerType { get; set; }

        /// <summary>
        /// 阶段id
        /// </summary>
        public int StageId { get; set; }

        /// <summary>
        /// 企业标签ids
        /// </summary>
        public string LableIds { get; set; }

        /// <summary>
        /// 员工设置个人标签  
        /// </summary>
        public string PersonLable { get; set; }

        /// <summary>
        /// 活码来源
        /// </summary>
        public string Source { get; set; }

        /// <summary>
        /// 自定义客户字段内容   json格式  需根据客户字段来查找
        /// </summary>
        public string CustomContent { get; set; }

        /// <summary>
        /// 好友状态   1好友客户   2待添加   3已申请   4已删除（客户主动删除）  5已删除（员工主动删除）
        /// </summary>
        public int FriendState { get; set; }

        /// <summary>
        /// 好友添加的时间
        /// </summary>
        public DateTime? FriendTime { get; set; }

        /// <summary>
        /// 上次跟进日期
        /// </summary>
        public DateTime? LastFollowUpTime { get; set; }

        /// <summary>
        /// 签到拜访数量
        /// </summary>
        public int CheckInNum { get; set; }

        /// <summary>
        /// 是否公海客户  1是  2否 （暂时弃用  字段保留）
        /// </summary>
        public int IsPublic { get; set; }

        /// <summary>
        /// 客户手机号码   多个英文逗号分隔
        /// </summary>
        public string CustomerMobile { get; set; }

        /// <summary>
        /// 添加方式枚举
        /// </summary>
        public CustomerAddWayEnum AddWay { get; set; }

        /// <summary>
        /// 系统备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 微信客户来源
        /// </summary>
        public int WeChatAddWay { get; set; }

        /// <summary>
        /// 客户状态   1正常客户   2线索   3公海
        /// </summary>
        public int CustomerState { get; set; }

        /// <summary>
        /// 线索状态  1未处理   2待回访  3无效线索   4已转客户
        /// </summary>
        public int ClueState { get; set; }

        /// <summary>
        /// 线索转客户时间   ClueState=4
        /// </summary>
        public DateTime? TurnCustomerTime { get; set; }

        /// <summary>
        /// 分配状态  1待分配    2已分配
        /// </summary>
        public int AllotState { get; set; }

        /// <summary>
        /// 分配客户时间
        /// </summary>
        public DateTime? AllotCustomerTime { get; set; }

        /// <summary>
        /// 前负责员工ID  （如放弃公海）
        /// </summary>
        public int OldEmpId { get; set; }

        /// <summary>
        /// 客户库ID （主要用于公海）
        /// </summary>
        public int CustomerLibraryId { get; set; }

        /// <summary>
        /// 放弃至公海的原因
        /// </summary>
        public string AbandonReason { get; set; }

        /// <summary>
        /// 放弃至公海的时间
        /// </summary>
        public DateTime? AbandonTime { get; set; }
    }
}
