using Google.Protobuf.Collections;
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json;
namespace TEAMModelOS.SDK.Models
{
///
/// 课堂记录简要信息。
///
public class LessonRecord : CosmosEntity
{
///
///必填 教师醍摩豆id
///
public string tmdid { get; set; }
///
/// 教师醍摩豆id名称
///
public string tmdname { get; set; }
///
/// 教师醍摩豆id名称
///
public string tmdpicture { get; set; }
///
///必填 课堂名称
///
public string name { get; set; }
///
///必填 scope==school必填 | string | 学校id
///
public string school { get; set; }
///
///必填 private/school|
///
public string scope { get; set; }
///
///必填 视频封面地址
///
// public string poster { get; set; }
///
///必填 开始时间(时间戳) 1606393763434
///
public long startTime { get; set; }
///
///必填 上课时长,最后更新
///
public double duration { get; set; }
///
///选填 t分,科技应用 ,最后更新
///
public int tScore { get; set; }
///
///选填 p分,教法应用 ,最后更新
///
public int pScore { get; set; }
///
///选填 t灯,科技应用 0红灯,1 黄灯,2绿灯
///
public int tLevel { get; set; } = -1;
///
///选填 p灯,教法应用 0红灯,1 黄灯,2绿灯
///
public int pLevel { get; set; } = -1;
///
///选填 选用IES5的课程id
///
public string courseId { get; set; }
///
/// 选填 课程名称 是因支持VR/AR那边课例
///
public string courseName { get; set; }
///
///选填 选用IES5固定名单的id
///
public List groupIds { get; set; } = new List();
public List groupNames { get; set; } = new List();
///
///选填 学生人数 ,最后更新
///
public int mCount { get; set; }
///
///选填 议课次数,大于1则是优课,苏格拉底获取
///
public int discuss { get; set; }
///
///选填 科技互动次数,
///
public int techCount { get; set; }
///
/// 学 不填 段id,由课程或者名单获取
///
public string periodId { get; set; }
///
/// 选填 学段名称 是因支持VR/AR那边课例
///
public string periodName { get; set; }
///
/// 不填 科目id,由课程id获取
///
public string subjectId { get; set; }
///
/// 选填 科目名称 是因支持VR/AR那边课例
///
public string subjecName { get; set; }
///
/// 不填 年级id,由名单id获取
///
public List grade { get; set; } = new List();
public List gradeName { get; set; } = new List();
///
/// 不填 收藏次数,IES5更新
///
public int favorite { get; set; }
///
/// 不填 点赞数
///
public int like { get; set; }
///
/// 不填 分享转发数
///
public int share { get; set; }
///
/// 不填 ["混合学习","语文教研"]课例类别,tag标签,IES5维护
///
public List category { get; set; } = new List();
///
/// 0 是否包含视频,1包含视频
///
public int hasVideo { get; set; }
//public long videoSize { get; set; }
///
///
/// 科技互动详细次数。[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]
///
public List tech { get; set; } = new List();
public int status { get; set; } = 0;
///
/// 专家好课,默认0, 1 是好课
///
public int excellent { get; set; } = 0;
///
/// 出席人数
///
public int attendCount { get; set; } = 0;
///
/// 总人数
///
public int clientCount { get; set; } = 0;
///
///出席率
///
public double attendRate { get; set; } = 0;
///
/// 小组数
///
public int groupCount { get; set; } = 0;
///
/// 任务总数,作品收集任务数
///
public int collateTaskCount { get; set; } = 0;
///
/// 作品总数
///
public int collateCount { get; set; } = 0;
///
/// 推送总数(页面,资源,讯息,差异化)
///
public int pushCount { get; set; } = 0;
///
/// 总计分
///
public double totalPoint { get; set; } = 0;
///
/// 测验总题数
///
public int examQuizCount { get; set; } = 0;
///
/// 互动题数
///
public int interactionCount { get; set; } = 0;
///
/// 测验得分率
///
public double examPointRate { get; set; } = 0;
///
/// 学生互动总数
///
public int clientInteractionCount { get; set; } = 0;
///
/// 学生互动率
///
public double clientInteractionAverge { get; set; } = 0;
public int examCount { get; set; }
///
/// 总互动分
///
public double totalInteractPoint { get; set; } = 0;
///
/// 过期时间,-1永不过期, 1577808000000 2020-01-01
///
public long expire { get; set; } = -1;
///
/// 先使用这种模式,["all","student"], 暂不 开放 school【开放给部分学校查看】,teacher【开放给部分教师查看】 ["all","school","teacher","student"]
///
public List show { get; set; } = new List();
///
/// 暂不 开放 school【开放给部分学校查看】学校编码
///
public List showSchs { get; set; } = new List();
///
/// 暂不 开放 teacher【开放给部分教师查看】醍摩豆id
///
public List showTchs { get; set; } = new List();
///
/// 设置强制保留的 =1 ,不会被自动清理的。但是可以被手动清理。
///
public int save { get; set; } = -1;
///
/// 默认未上传
///
public int upload { get; set; }
public LearningCategory learningCategory { get; set; } = new LearningCategory();
public int hitaClientCmpCount { get; set; }
///
/// 课例来源 0 本公司 1 第三方公司 是因支持VR/AR那边课例
///
public int source { get; set; } = 0;
}
///
/// 协同作业数据 Cowork.json 文件数据
///
public class CoworkData
{
public string pageID { get; set; }
public string name { get; set; }
//协作类型 All: '全体协作', Group: '分组协作', : '差异化协作', 差异化协作的简码是什么?
public string coworkType { get; set; }
public List coworkGroupInfoList { get; set; }= new List();
}
public class CoworkGroupInfo
{
public string title { get; set; }
public string source { get; set; }
public string snapshot { get; set; }
///
/// 小组成员及小组 ["1","2","3", "4", "5", "6", "G1"]
///
public List members { get; set; } = new List();
public double participateLevel { get; set; }
///
///{"1":12,"2":9,"3":9,"4":9,"5":9,"6":9,"g1":0,"g2":0,"g3":0,"g4":0,"g5":0,"g6":0}
///
public Dictionary participateLevelList { get; set; } = new Dictionary();
}
///
/// 智慧评分 SmartRating.json 文件数据
///
public class SmartRatingData
{
public string pageID { get; set; }
}
///
/// Task.json
///
public class TaskData {
//public string jobName { get; set; }
///
/// 页面ID
///
public string pageID { get; set; }
///
///任务回传数
///
public int reciveCount { get; set; }
//public string duration { get; set; }
//public string collateType { get; set; }
///
/// 任务的终端回传数据
///
public List clientWorks { get; set; } = new List();
}
public class ClientWork {
public List blobFiles { get; set; }= new List();
///
/// 座位号
///
public int seatID { get; set; }
///
/// 小组id
///
public string groupID { get; set; }
///
/// 是否是小组
///
public bool isGroupItem { get; set; }
//public string reciveTime { get; set; }
// public int displayIndex { get; set; }
}
///
/// IRSData
///
public class IRSData
{
public string pageID { get; set; }
public bool isBuzz { get; set; }
public List buzzClients { get; set; } = new List();
public Dictionary>> clientAnswers { get; set; } = new Dictionary>>();
}
///
/// TimeLine.json
///
public class TimeLineData {
public List events { get; set; } = new List();
}
public class TimeLineEvent
{
///
/// 时间点
///
// public double Time{ get; set; }
///
/// 事件ID
///
// public int EventId { get; set; }
///
/// 事件
/// 推送相关 在Push.json处理 DifObjPush 差异化推送,FastPgPush 同一推送
/// 互动相关 在IRS.json处理 'PopQuesLoad'互动问答 , 'ReAtmpAnsStrt' 二次作答 , 'BuzrAns' 抢权(新), 'BuzrLoad'抢权(旧), PickupResult 挑人算不算互动?? 读取PickupMemberId "[\r\n 35\r\n]"
/// 测验相关 在IRS.json处理 SPQStrt 测验模式
/// 任务相关 在Task.json处理 'WrkSpaceLoad' 作品收集, 'WrkCmp' 作品贴上 是什么操作
/// 评分相关 在SmartRating.json 处理 'SmartRating' 评分模式,分 投票Voting 和 GrandRating 星光大评分(All每人多件评分,Two随机分配互评, Self自评)
/// 协作相关 在Cowork.json 处理 CoworkLoad 协作类型 coworkType All: '全体协作', Group: '分组协作', 其他的为 : '差异化协作',
///
public string Event { get; set; }
///
/// WrkCmp 作品贴上
///
public string WrkCmpSrcType { get; set; }
///
///
///
public int WrkCmpCount { get; set; }
///
/// 类型
///
public int WrkType { get; set; }
public string PickupMemberId { get; set; }
///
/// 页面id
///
public string Pgid { get; set;}
///
/// 評分類型
///
public string RatingType { get; set; }
}
public class LearningCategory {
///
/// //合作學習
///
public int cooperation { get; set; } = 0;
///
/// 互動學習
///
public int interaction { get; set; } = 0;
///
/// 任務學習
///
public int task { get; set; } = 0;
///
/// 測驗學習
///
public int exam { get; set; } = 0;
///
/// 差異化學習
///
public int diffential { get; set; } = 0;
///
/// 只會有 1跟0,有進行1個以上的智慧評分活動就是1,反之是0
///
public int smartRating { get; set; } = 0;
///
/// 只會有 1跟0,有進行1個以上的協作活動就是1,反之是0
///
public int cowork { get; set; }
}
public class LessonTC
{
public string t { get; set; }
public double c { get; set; }
}
public class LessonUpdate
{
public string grant_type { get; set; }
public object data { get; set; }
}
///
/// 课堂记录更新前后差值
///
public class LessonDis
{
///
/// 开课数量差
///
public int record { get; set; } = 0;
///
/// T分数量差
///
public int disTCount { get; set; } = 0;
///
/// P分数量差
///
public int disPCount { get; set; } = 0;
///
/// 双绿灯数量差
///
public int disDCount { get; set; } = 0;
}
///
/// /{_lessonId}/IES/base.json 课堂记录基础信息
///
public class LessonBase {
///
///
///
public Summary summary { get; set; }
///
///
///
public Report report { get; set; }
///
///
///
public List teacheract { get; set; } = new List();
///
///
///
public List student { get; set; }= new List ();
public List group { get; set;}= new List();
}
public class LessonGroup
{
public string groupName { get; set; }
public string groupId { get; set; }
}
public class Summary
{
///
/// 测试新版名单222-罗老师 小课堂
///
public string activityName { get; set; }
///
/// 罗老师
///
public string hostName { get; set; }
///
/// 教材文件名
///
public string meterialName { get; set; }
///
///
///
public string date { get; set; }
///
///
///
public string startTime { get; set; }
///
///
///
public string endTime { get; set; }
///
/// 出席人数
///
public int attendCount { get; set; } = 0;
///
/// 总人数
///
public int clientCount { get; set; } = 0;
///
///出席率
///
public double attendRate { get; set; } = 0;
///
/// 小组数
///
public int groupCount { get; set; } = 0;
///
/// 任务总数,作品收集任务数
///
public int collateTaskCount { get; set; } = 0;
///
/// 互动总分
///
public double totalInteractPoint { get; set; } = 0;
///
/// 作品总数
///
public int collateCount { get; set; } = 0;
///
/// 推送总数(页面,资源,讯息,差异化)
///
public int pushCount { get; set; } = 0;
///
/// 总计分
///
public double totalPoint { get; set; } = 0;
///
/// 测验总题数
///
public int examQuizCount { get; set; } = 0;
///
/// 互动题数
///
public int interactionCount { get; set; } = 0;
///
/// 测验得分率
///
public double examPointRate { get; set; } = 0;
///
/// 学生互动总数
///
public int clientInteractionCount { get; set; } = 0;
///
/// 学生互动率
///
public double clientInteractionAverge { get; set; } = 0;
///
/// 测验次数
///
public int examCount { get; set; }
///
/// 互动分类
///
public LearningCategory learningCategory { get; set; }
///
/// 差異化推送總數
///
public int diffPushCount { get; set; }
///
/// 挑人總數
///
public int pickOutCount { get; set;}
///
/// 搶權總數
///
public int buzzInCount { get; set; }
///
/// 智慧評分活動數
///
public int smartRatingCount { get; set;}
///
/// 智慧評分活動參與人數
///
public int clientSmartRatingCount { get; set;}
///
/// 协作任务数
///
public int coworkTaskCount { get; set;}
///
/// 协作成果数
///
public int coworkGroupCount { get; set;}
///
/// 全班参与度
///
public int engagementIndexAverge { get; set;}
///
/// 分組平均參與率
///
public List grpEngagement { get; set; } = new List();
///
/// 個人計分排名
///
public List highRankPerPoint { get; set;}= new List();
///
/// 小組計分排名
///
public List highRankGrpPoint { get; set; } = new List();
///
/// 測驗表現較好者排名
///
public List highRankExam { get; set; } = new List();
///
/// 測驗表現較弱者排名
///
public List lowRankExam { get; set; } = new List();
///
/// 參與率較高者
///
public List highRankEngagement { get; set; } = new List();
///
/// 參與率較低者
///
public List lowRankEngagement { get; set; } = new List();
///
/// 參與率分布圖數據(HT畫圖表用)
///
public List engagmentDistribution { get; set; } = new List();
}
public class QuizSummaryList
{
///
///
///
public string quizID { get; set; }
///
///
///
public string pageOrderStr { get; set; }
///
///
///
public string score { get; set; }
///
///
///
public string correctAnswer { get; set; }
///
///
///
public string correctRateStr { get; set; }
}
public class ClientSummaryList
{
public string groupName { get; set; }//組名
public double groupScore { get; set; }//組記分
public int groupTaskCompleteCount { get; set; }//組任務數完成數
public int attendState { get; set; } //出席狀態
public double score { get; set; }//個人記分
public int taskCompleteCount { get; set; }//任務完成數
public List examScoreList { get; set; } = new List();//課堂測驗分數Array
public double interactScore { get; set; }//互動總得分
// public List answerLis { get; set; } = new List(); //逐題回答內容Array
public int seatID { get; set; } //座位號
public string name { get; set; }//學生姓名
///
/// 學生個人智慧評分參與度
///
public double smartRatingContribute { get; set; }
///
/// 學生個人協作參與度
///
public double coworkContribute { get; set; }
///
/// 學生個人總參與度
///
public double engagementIndex { get; set; }
}
public class Report
{
///
///
///
public List quizSummaryList { get; set; }
///
///
///
public List clientSummaryList { get; set; }
}
public class LessonStudent
{
public string school { get; set; }//学校编码
///
/// 学生id
///
public string id { get; set; }
///
/// 座号
///
public int seatID { get; set; }
///
/// 李镇希
///
public string name { get; set; }
///
/// 学生类型
///
public int type { get; set; }
///
/// 头像
///
public string picture { get; set; }
}
//public class LessonActivityInfo
//{
// ///
// /// 时间点
// ///
// public List count { get; set; } = new List();
// ///
// /// 事件类型
// ///
// public string @event { get; set; }
// ///
// /// 页面id
// ///
// public string pgId { get; set; }
//}
//public class LessonStudent
//{
// public string id { get; set; }
// public string name { get; set; }
// public string type { get; set; }
// public string code { get; set; }
// public string picture { get; set; }
// public string irs { get; set; }
//}
//public class LessonTimeLine
//{
// ///
// /// 时间点
// ///
// public double time { get; set; }
// ///
// /// 事件类型
// ///
// public string @event { get; set; }
// ///
// /// 页面id
// ///
// public string pgId { get; set; }
//}
}