package cn.teammodel.model.entity.school;

import cn.teammodel.model.entity.BaseItem;
import com.azure.spring.data.cosmos.core.mapping.Container;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Container(containerName = "School")
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class LessonRecord extends BaseItem {
    /// <summary>
    ///必填 教师醍摩豆id
    /// </summary>
    public String tmdid ;
    /// <summary>
    /// 教师醍摩豆id名称
    /// </summary>
    public String tmdname ;
    /// <summary>
    /// 教师醍摩豆id名称
    /// </summary>
    public String tmdpicture ;
    /// <summary>
    ///必填 课堂名称
    /// </summary>
    public String name ;
    /// <summary>
    ///必填 scope==school必填 | String | 学校id
    /// </summary>
    public String school ;
    /// <summary>
    ///必填  private/school|
    /// </summary>
    public String scope ;
    /// <summary>
    ///必填  视频封面地址
    /// </summary>
// public String poster ;
    /// <summary>
    ///必填 开始时间(时间戳) 1606393763434
    /// </summary>
    public long startTime ;
    /// <summary>
    ///必填 上课时长，最后更新
    /// </summary>
    public double duration ;
    /// <summary>
    ///选填  t分，科技应用 ，最后更新
    /// </summary>
    public int tScore ;
    /// <summary>
    ///选填   p分，教法应用 ，最后更新
    /// </summary>
    public int pScore ;
    /// <summary>
    ///选填  t灯，科技应用 0红灯，1 黄灯，2绿灯
    /// </summary>
    public int tLevel ;
    /// <summary>
    ///选填   p灯，教法应用 0红灯，1 黄灯，2绿灯
    /// </summary>
    public int pLevel ;
    /// <summary>
    ///选填  选用IES5的课程id 
    /// </summary>
    public String courseId ;
    /// <summary>
    /// 选填   课程名称  是因支持VR/AR那边课例
    /// </summary>
    public String courseName ;
    /// <summary>
    ///选填 选用IES5固定名单的id
    /// </summary>
    public List<String> groupIds ;
    public List<String> groupNames ;
    /// <summary>
    ///选填  学生人数 ，最后更新
    /// </summary>
    public int mCount ;
    /// <summary>
    ///选填  议课次数，大于1则是优课，苏格拉底获取
    /// </summary>
    public int discuss ;
    /// <summary>
    ///选填  科技互动次数， 
    /// </summary>
    public int techCount ;
    /// <summary>
    /// 学 不填 段id，由课程或者名单获取 
    /// </summary>
    public String periodId ;
    /// <summary>
    /// 选填 学段名称  是因支持VR/AR那边课例
    /// </summary>
    public String periodName ;
    /// <summary>
    ///  不填 科目id,由课程id获取
    /// </summary>
    public String subjectId ;
    /// <summary>
    /// 选填   科目名称  是因支持VR/AR那边课例
    /// </summary>
    public String subjecName ;
    /// <summary>
    /// 不填 年级id,由名单id获取
    /// </summary>
    public List<String> grade ;
    public List<String> gradeName ;
    /// <summary>
    /// 不填  收藏次数，IES5更新 
    /// </summary>
    public int favorite ;
    /// <summary>
    /// 不填 点赞数
    /// </summary>
    public int like ;
    /// <summary>
    /// 不填 分享转发数
    /// </summary>
    public int share ;
    /// <summary>
    /// 不填  ["混合学习","语文教研"]课例类别，tag标签,IES5维护
    /// </summary>
    public List<String> category ;
    /// <summary>
    /// 0 是否包含视频,1包含视频
    /// </summary>
    public int hasVideo ;
    //public long videoSize ;
    /// <summary>
    /// 
    /// 科技互动详细次数。[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49]
    /// </summary>
    public List<Integer> tech ;
    public int status ;
    /// <summary>
    /// 专家好课，默认0， 1 是好课
    /// </summary>
    public int excellent ;
    /// <summary>
    /// 出席人数
    /// </summary>
    public int attendCount ;
    /// <summary>
    /// 总人数
    /// </summary>
    public int clientCount ;
    /// <summary>
    ///出席率
    /// </summary>
    public double attendRate ;
    /// <summary>
    /// 小组数
    /// </summary>
    public int groupCount ;
    /// <summary>
    /// 任务总数，作品收集任务数
    /// </summary>
    public int collateTaskCount ;
    /// <summary>
    /// 作品总数
    /// </summary>
    public int collateCount ;
    /// <summary>
    /// 推送总数（页面，资源，讯息，差异化）
    /// </summary>
    public int pushCount ;
    /// <summary>
    /// 总计分
    /// </summary>
    public double totalPoint ;
    /// <summary>
    /// 测验总题数
    /// </summary>
    public int examQuizCount ;
    /// <summary>
    /// 互动题数
    /// </summary>
    public int interactionCount ;
    /// <summary>
    /// 测验得分率
    /// </summary>
    public double examPointRate ;
    /// <summary>
    /// 学生互动总数
    /// </summary>
    public int clientInteractionCount ;
    /// <summary>
    /// 学生互动率
    /// </summary>
    public double clientInteractionAverge ;

    public int examCount ;
    /// <summary>
    /// 总互动分
    /// </summary>
    public double totalInteractPoint ;
    /// <summary>
    /// 全班参与度
    /// </summary>
    public int engagementIndexAverge;
    /// <summary>
    /// 过期时间，-1永不过期， 1577808000000 2020-01-01
    /// </summary>
    public long expire ;
    /// <summary>
    /// 先使用这种模式，["all","student"], 暂不 开放 school【开放给部分学校查看】，teacher【开放给部分教师查看】   ["all","school","teacher","student"]
    /// </summary>
    public List<String> show ;
    /// <summary>
    /// 暂不 开放 school【开放给部分学校查看】学校编码
    /// </summary>
    public List<String> showSchs ;
    /// <summary>
    /// 暂不 开放 teacher【开放给部分教师查看】醍摩豆id 
    /// </summary>
    public List<String> showTchs ;
    /// <summary>
    /// 设置强制保留的 =1 ，不会被自动清理的。但是可以被手动清理。
    /// </summary>
    public int save ;
    /// <summary>
    /// 默认未上传
    /// </summary>
    public int upload ;

    public LearningCategory learningCategory ;
    public int hitaClientCmpCount ;
    /// <summary>
    /// 课例来源 0 本公司  1 第三方公司    是因支持VR/AR那边课例
    /// </summary>
    public int source ;

    @Data
    public static class LearningCategory {
        /// <summary>
        /// //合作學習
        /// </summary>
        public int cooperation ;
        /// <summary>
        /// 互動學習
        /// </summary>
        public int interaction ;
        /// <summary>
        /// 任務學習
        /// </summary>
        public int task;
        /// <summary>
        /// 測驗學習
        /// </summary>
        public int exam ;
        /// <summary>
        /// 差異化學習
        /// </summary>
        public int diffential ;
        /// <summary>
        /// 只會有 1跟0,有進行1個以上的智慧評分活動就是1，反之是0
        /// </summary>
        public int smartRating ;
        /// <summary>
        /// 只會有 1跟0,有進行1個以上的協作活動就是1，反之是0
        /// </summary>
        public int cowork ;


    }
}
