using System; using System.Collections.Generic; using System.Text; using TEAMModelOS.SDK.Models.Dtos; namespace TEAMModelOS.SDK.Models { /// /// CS IOT TeachingData (Redis) /// public class IotTeachingData { public long timestamp { get; set; } public string deviceId { get; set; } public string channel { get; set; } public string tmid { get; set; } public string schoolId { get; set; } /// /// 開課使用IES課程 0:false 1:true /// public string useIES { get; set; } /// /// 課堂中取用IES5資源數 /// public int useIES5Resource { get; set; } /// /// 課堂中有使用webirs 0:false 1:true /// public string useWebIrs { get; set; } /// /// 課堂中有使用硬體IRS 0:false 1:true /// public string useDeviceIrs { get; set; } /// /// 課堂中有使用Haboard 0:false 1:true /// public string useHaboard { get; set; } /// /// 課堂中有使用HiTA 0:false 1:true /// public string useHita { get; set; } /// /// 課堂時間(分鐘整數) /// public int lessonLengMin { get; set; } /// /// 學生出席數(整數) /// public int stuShow { get; set; } /// /// T指數(整數) /// public int tPoint { get; set; } /// /// 學習型態: 合作 0:false 1:true /// public string lTypeCoop { get; set; } /// /// 學習型態: 互動 0:false 1:true /// public string lTypeIact { get; set; } /// /// 學習型態: 任務 0:false 1:true /// public string lTypeMis { get; set; } /// /// 學習型態: 測驗 0:false 1:true /// public string lTypeTst { get; set; } /// /// 學習型態: 差異化 0:false 1:true /// public string lTypeDif { get; set; } /// /// 授權方式 0:無授權 1:id授權 2:機器授權 3:ID和機器授權 /// public string authType { get; set; } /// /// 任務數 /// public int mission { get; set; } /// /// 作品任務完成總數 /// public int missionFin { get; set; } /// /// 題數 /// public int item { get; set; } /// /// 互動總次數 /// public int interact { get; set; } /// /// IP /// public string ip { get; set; } /// /// 版本 /// /// [例]ex. 5.0.21.0000 -> 500210000 public string version { get; set; } /// /// 是否送出小數據或SOK服務 0:false 1:true /// public string sendSok { get; set; } } public class ProdAnalysisBase { public string schoolId { get; set; } //學校ID public string toolType { get; set; } //HiTeach、HiTeachCC、HiTA public int deviceCnt { get; set; } //機器數(不重複) public int deviceNoAuth { get; set; } //無機器授權數 public int deviceAuth { get; set; } //有安裝機器授權數 public int tmidCnt { get; set; } //TMID數(不重複) public int lessonRecord { get; set; } //課堂記錄數 public int useIES { get; set; } //使用IES課程 public int useIES5Resource { get; set; } //課堂中取用IES5資源數 public int useWebIrs { get; set; } //課堂中有使用webirs public int useDeviceIrs { get; set; } //課堂中有使用硬體IRS public int useHaboard { get; set; } //課堂中有使用Haboard public int useHita { get; set; } //課堂中有使用HiTA public int lessonLengMin { get; set; } //課堂時間(分鐘整數) public int stuShow { get; set; } //學生出席人次 public long stuLessonLengMin { get; set; } //學生參與總時數 ※課堂時間x學生出席人次 public int tGreen { get; set; } //T綠燈數(T>=70) public int lTypeCoop { get; set; } //學習型態: 合作 public int lTypeIact { get; set; } //學習型態: 互動 public int lTypeMis { get; set; } //學習型態: 任務 public int lTypeTst { get; set; } //學習型態: 測驗 public int lTypeDif { get; set; } //學習型態: 差異化 public int lTypeNone { get; set; } //學習型態: 無 public int lessonCnt928 { get; set; } //使用928授權課堂數 public int lessonCntId { get; set; } //僅使用ID授權課堂數 public int lessonCntDevice { get; set; } //僅使用機器授權課堂數 public int lessonCntIdDevice { get; set; } //使用ID+機器授權課堂數 public int mission { get; set; } //任務數 public int missionFin { get; set; } //作品任務完成總數 public int item { get; set; } //題數 public int interact { get; set; } //互動總次數 public int sendSok { get; set; } //送出小數據或SOK服務 } /// /// IES5 ProdAnalysis (Redis) /// public class ProdAnalysis : ProdAnalysisBase { public ProdAnalysis() { deviceList = new List(); deviceNoAuthList = new List(); deviceAuthList = new List(); tmidList = new List(); } public List deviceList { get; set; } //機器ID列表 public List deviceNoAuthList { get; set; } //無機器授權ID列表 public List deviceAuthList { get; set; } //有安裝機器授權ID列表 public List tmidList { get; set; } //TMID列表 } public class ProdAnalysisApiResult : ProdAnalysis { public ProdAnalysisApiResult() { school = new SchoolSimple(); } public SchoolSimple school { get; set; } public string dateUnit { get; set; } public string date { get; set; } //日期 [例] 2022、202203、20220314 public int year { get; set; } //统计日期:年 public int month { get; set; } //统计日期:月 public int day { get; set; } //统计日期:日 } public class ProdAnalysisCosmos : ProdAnalysis { public ProdAnalysisCosmos() { pk = "ProdAnalysis"; code = "ProdAnalysis"; deviceList = new List(); } public string pk { get; set; } public string code { get; set; } public string id { get; set; } public string dateUnit { get; set; } //統計日期單位 "year":年統計 "month":月統計 "day":日統計 public string date { get; set; } //统计日期 ※依据dateUnit变化 [例]"year":2023 "month":202302 "day":20230210 public long dateTime { get; set; } //timestamp UTC milisecond 比較時間用 public int year { get; set; } //统计日期:年 public int month { get; set; } //统计日期:月 public int day { get; set; } //统计日期:日 public long createDate { get; set; } //統計時間 public int? ttl { get; set; } = -1; } public class SchoolSimple { public string name { get; set; } public string region { get; set; } public string province { get; set; } public string city { get; set; } public string dist { get; set; } public string type { get; set; } } }