package com.fs.course.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;

@Data
public class FsCourseWatchLogClickHouse extends BaseEntity {

    @Excel(name = "记录编号")
    private Long logId;

    /** 会员id */
    @Excel(name = "会员id")
    private Long userId;

    /** 小程序昵称 */
    @Excel(name = "小程序昵称")
    private String fsNickName;

    /** 小程序头像 */
    @Excel(name = "小程序头像")
    private String fsAvatar;

    /** 课程id */
    @Excel(name = "课程id")
    private Long courseId;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String courseName;

    /** 小节id */
    @Excel(name = "小节id")
    private Long videoId;

    /** 小节名称 */
    @Excel(name = "小节名称")
    private String videoName;

    /** 记录类型 1看课中 2完课 3待看课 4看课中断 */
    @Excel(name = "记录类型", dictType = "sys_course_watch_log_type")
    private Integer logType;

    /** 企微外部联系人id */
    @Excel(name = "企微外部联系人id")
    private String qwExternalContactId;

    /** 播放时长 */
    @Excel(name = "播放时长")
    private String duration;

    /** 分享人企微userId */
    @Excel(name = "分享人企微userId")
    private String qwUserId;

    /** 企业微信员工名称 */
    @Excel(name = "企业微信员工名称")
    private String qwUserName;

    /** 客服id */
    @Excel(name = "客服id")
    private Long companyUserId;

    /** 所属客服 */
    @Excel(name = "所属客服")
    private String companyUserName;

    /** 公司id/所属团队编号 */
    @Excel(name = "所属团队编号")
    private String companyId;

    /** 所属团队 */
    @Excel(name = "所属团队")
    private String companyName;

    /** 发送方式：1 个微  2 企微 */
    @Excel(name = "发送方式")
    private Integer sendType;

    /** 发放奖励类型 */
    private Integer rewardType;

    /** 是否发送完课消息 */
    private Integer sendFinishMsg;

    /** sop任务id */
    private String sopId;

    /** 创建时间 */
    @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @Excel(name = "更新时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 最后心跳时间 */
    @Excel(name = "最后心跳时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastHeartbeatTime;

    /** 完课时间 */
    @Excel(name = "完课时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

    /** sop任务中营期 */
    @Excel(name = "营期时间", dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date campPeriodTime;

    /** 外部联系人名称 */
    private String externalUserName;
}
