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; }
}
}