package com.fs.statis.domain;

import com.fs.common.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;

/**
 * 销售观看统计实体类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class FsStatisSalerWatch {

    /**
     * 主键ID
     */
    private Long id;

    private Long companyId;

    @Excel(name = "所属公司")
    private String companyName;

    /**
     * 部门
     */
    private Long deptId;
    /**
     * 部门名称
     */
    @Excel(name = "所属部门")
    private String deptName;

    /**
     * 销售id
     */
    private Long companyUserId;
    /**
     * 销售名称
     */
    @Excel(name = "员工")
    private String companyUserName;

    /**
     * 训练营人数
     */
    @Excel(name = "营期人数")
    private Long trainCampNum;

    /**
     * 发课数
     */
    @Excel(name = "发课数")
    private Long sendNum;

    /**
     * 未报名人数
     */
    @Excel(name = "待看课")
    private Long notRegisteredNum;

    /**
     * 已报名人数
     */
    @Excel(name = "上线数")
    private Long registeredNum;
    /**
     * 完课人数
     */
    @Excel(name = "已完课")
    private Long completedNum;
    /**
     * 看课中断数
     */
    @Excel(name = "看课中断")
    private Long interruptNum;

    /**
     * 企微重粉
     */
    @Excel(name = "企微重粉")
    private Long qwRepeatNum;

    /**
     * 小程序(看课)重粉
     */
    @Excel(name = "小程序(看课)重粉")
    private Long userRepeatNum;

    /**
     * 报名率
     */
    @Excel(name = "上线率")
    private Float regRate;

    /**
     * 完课率
     */
    @Excel(name = "完课率")
    private Float finishedRate;

    /**
     * 未上线-总数
     */
    private Long offlineTotal;

    /**
     * 未上线-未参与
     */
    private Long offlineNotPart;

    /**
     * 未上线-未观看 (原SQL注释为'为观看'，推测应为'未观看')
     */
    private Long offlineNotWatched;

    /**
     * 已上线-总数
     */
    private Long onlineTotal;

    /**
     * 已上线-上线率
     */
    private Float onlineOnlineRate;

    /**
     * 已上线-完播率
     */
    private Float onlinePlaybackCompleRate;

    /**
     * 已上线-未完播
     */
    private Long onlineIncompletePlayback;

    /**
     * 已上线-已完播
     */
    private Long onlineCompletePlayback;

    /**
     * 营期id
     */
    private String periodId;

    /**
     * 营期名称
     */
    private String periodName;


    /**
     * 数据日期
     */
    private LocalDate dataDate;
    private String sopId;
    private String sopTaskName;
}
