浏览代码

Merge branch 'develop' of http://52.130.252.100:10000/TEAMMODEL/TEAMModelOS into develop

Li 2 年之前
父节点
当前提交
5e2c2c85fa

+ 9 - 2
TEAMModelOS.FunctionV4/ServiceBus/ActiveTaskTopic.cs

@@ -1307,8 +1307,15 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
                                 {
                                     // await _dingDing.SendBotMsg($"{_option.Location},课堂id:{_lessonId} 收到更新", GroupNames.醍摩豆服務運維群組);
                                     BlobDownloadResult baseblobDownload = await _azureStorage.GetBlobContainerClient(blobname).GetBlobClient($"/records/{_lessonId}/IES/base.json").DownloadContentAsync();
-                                  
-                                    LessonBase lessonBase = baseblobDownload.Content.ToObjectFromJson<LessonBase>();
+                                    //attendState
+                                    string basejson = baseblobDownload.Content.ToString().Replace("\"Uncall\"", "0").Replace("Uncall","0");
+                                    LessonBase lessonBase = null;
+                                    try {
+                                        lessonBase = basejson.ToObject<LessonBase>();
+                                    } catch (Exception ex ){
+                                        await _dingDing.SendBotMsg($"base.json转换异常,{ex.Message}{ex.StackTrace}{basejson}", GroupNames.成都开发測試群組);
+                                        //lessonBase = baseblobDownload.Content.ToObjectFromJson<LessonBase>();
+                                    }
                                     //await  _dingDing.SendBotMsg($"课例记录文件base.json:{lessonBase.ToJsonString()}", GroupNames.成都开发測試群組);
                                     if (lessonBase != null && lessonBase.summary != null)
                                     {

+ 1 - 1
TEAMModelOS.SDK/Models/Cosmos/Common/LessonRecord.cs

@@ -434,7 +434,7 @@ namespace TEAMModelOS.SDK.Models
         public double groupScore { get; set; }//組記分
 
         public int groupTaskCompleteCount { get; set; }//組任務數完成數
-        //public int attendState { get; set; } //出席狀態
+        public int attendState { get; set; } //出席狀態
 
         public double score { get; set; }//個人記分
         public int taskCompleteCount { get; set; }//任務完成數

+ 162 - 41
TEAMModelOS.SDK/Models/Cosmos/Common/VRARLessonRecord.cs

@@ -35,9 +35,9 @@ namespace TEAMModelOS.SDK.Models
         /// </summary>
         public string scope { get; set; }
         /// <summary>
-        ///填  视频封面地址
+        ///填  视频封面地址
         /// </summary>
-       // public string poster { get; set; }
+        public string poster { get; set; }
         /// <summary>
         ///必填 开始时间(时间戳) 1606393763434
         /// </summary>
@@ -108,18 +108,7 @@ namespace TEAMModelOS.SDK.Models
         /// </summary>
         public List<string> grade { get; set; } = new List<string>();
         public List<string> gradeName { get; set; } = new List<string>();
-        /// <summary>
-        /// 不填  收藏次数,IES5更新 
-        /// </summary>
-        public int favorite { get; set; }
-        /// <summary>
-        /// 不填 点赞数
-        /// </summary>
-        public int like { get; set; }
-        /// <summary>
-        /// 不填 分享转发数
-        /// </summary>
-        public int share { get; set; }
+        
         /// <summary>
         /// 不填  ["混合学习","语文教研"]课例类别,tag标签,IES5维护
         /// </summary>
@@ -127,18 +116,10 @@ namespace TEAMModelOS.SDK.Models
         /// <summary>
         /// 0 是否包含视频,1包含视频
         /// </summary>
-        public int hasVideo { get; set; }
-        //public long videoSize { get; set; }
-        /// <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<int> tech { get; set; } = new List<int>();
+        public int hasVideo { get; set; }=0;
+         
         public int status { get; set; } = 0;
-        /// <summary>
-        /// 专家好课,默认0, 1 是好课
-        /// </summary>
-        public int excellent { get; set; } = 0;
+      
         /// <summary>
         /// 出席人数
         /// </summary>
@@ -201,32 +182,172 @@ namespace TEAMModelOS.SDK.Models
         /// 过期时间,-1永不过期, 1577808000000 2020-01-01
         /// </summary>
         public long expire { get; set; } = -1;
+        
+        public LearningCategory learningCategory { get; set; } = new LearningCategory();
+        public int hitaClientCmpCount { get; set; }
         /// <summary>
-        /// 先使用这种模式,["all","student"], 暂不 开放 school【开放给部分学校查看】,teacher【开放给部分教师查看】   ["all","school","teacher","student"]
+        /// 课例来源 0 hiteach  1 VR/AR课例
         /// </summary>
-        public List<string> show { get; set; } = new List<string>();
+        public int source { get; set; } = 0;
+    }
+    public class VRARGroupList
+    {
         /// <summary>
-        /// 暂不 开放 school【开放给部分学校查看】学校编码
+        /// 学生名称
         /// </summary>
-        public List<string> showSchs { get; set; } = new List<string>();
+        public string name { get; set; }
         /// <summary>
-        /// 暂不 开放 teacher【开放给部分教师查看】醍摩豆id 
+        /// 分组名称
         /// </summary>
-        public List<string> showTchs { get; set; } = new List<string>();
+        public string groupName { get; set; }
         /// <summary>
-        /// 设置强制保留的 =1 ,不会被自动清理的。但是可以被手动清理。
+        /// 头像
         /// </summary>
-        public int save { get; set; } = -1;
+        public string picture { get; set; }
         /// <summary>
-        /// 默认未上传
+        /// 是否出席 0缺席 1 出席
         /// </summary>
-        public int upload { get; set; }
+        public int attend { get; set; } = 1;
 
-        public LearningCategory learningCategory { get; set; } = new LearningCategory();
-        public int hitaClientCmpCount { get; set; }
-        /// <summary>
-        /// 课例来源 0 本公司  1 第三方公司    是因支持VR/AR那边课例
-        /// </summary>
-        public int source { get; set; } = 0;
     }
+
+    public class VRARTimeLine {
+        public List<VRAREvent> events { get; set; } = new List<VRAREvent>();
+        public List<string> screens { get; set; } = new List<string>();
+    }
+    /// <summary>
+    /// 事件 
+    /// </summary>
+    public class VRAREvent
+    {
+        public double time { get; set; }
+        public long eventId { get; set; }
+        public string @event { get; set; }
+        public string optRole { get; set; }
+        public string optUser { get; set; }
+        public string screen { get; set; }
+        public List<VRARWork> work{get;set;}=new List<VRARWork>();
+    }
+    /// <summary>
+    /// 操作的资源,如打开PPT ,网站链接,播放视频,答题,选项
+    /// doc question image answer
+    /// </summary>
+    public class VRARWork 
+    {
+        public string type { get; set; }
+        public List<string> link { get; set; }
+    }
+
+    /*
+{
+  "id": "08fcc236-3d8b-42fa-98d3-b4b3fce4ecff", //课例id,可选,不传则新增,传递尝试检查是否存在,不存在则新增。
+  "tmdname": "罗老师", //上课教师昵称,必填
+  "tmdpicture": "https://teammodelstorage.blob.core.chinacloudapi.cn/0-public/school%2F08fcc236-3d8b-42fa-98d3-b4b3fce4ecff.png", //头像,可选
+  "name": "2022-12-06-罗老师-杉达VR/AR虚拟教程实践", //本次课堂课例的名称,必填
+  "poster": "https://img.zcool.cn/community/01ec775ae9379ca801207fa1668efc.jpg", //课例封面图片,可选
+  "video": "https://teammodelstorage.blob.core.chinacloudapi.cn/0-public/video%2F%E4%B8%93%E5%A1.mp4", //虚拟课程的视频,可选
+  "duration": 300.55, //课例视频时长,video不为空则 必填
+  "courseName": "杉达VR/AR虚拟教程实践", //关联课程名称,必填
+  "groupNames": [ //分组 可选。
+    "第一组",
+    "第二组"
+  ],
+  "mCount": 56, //上课人数,必填。
+  "attendCount": 55, //出席人数,必填。
+  "periodName": "杉达学院", //学段名称,可选。
+  "subjecName": "VR/AR技术", //科目名称,可选。
+  "gradeName": [ //年级,可选。
+    "一年级",
+    "二年级"
+  ]
+}
+//eventType:timing  计时类型的事件。  action 触发类型的事件。
+//说明:同一eventId 出现多次 以time最小的为开始时间,最大的为结束时间 
+//event 出现多次,代表出现频次。
+{
+  "events": [
+    {
+      "time": 0.0000,//时间秒.毫秒
+      "eventId": 100001,//事件id
+      "event": "lesson-start",//开课
+      "screen": "屏幕1-id",//在那个屏幕进行操作
+      "optRole": "T",//操作角色
+      "optUser": "罗老师"//谁在操作
+    },
+    {
+      "time": 1.000,
+      "eventId": 602528,
+      "event": "play-doc",//教师在屏幕1播放文档
+      "screen": "屏幕1-id",
+      "optRole": "T",
+      "optUser": "罗老师",
+      "work": //操作的资源,如打开PPT ,网站链接,播放视频,学生推送作品或答题
+      {
+        "type": "doc",//任务类型
+        "link": [//资源链接 ,名称或者 学生作答的答案
+          "杉达VR/AR虚拟教程实践.pptx"
+        ]
+      }
+    },
+    {
+      "time": 5.0006,
+      "eventId": 705528,
+      "event": "play-question",//教师在屏幕1提问
+      "screen": "屏幕1-id",
+      "optRole": "T",
+      "optUser": "罗老师",
+      "work": {
+        "type": "question",
+        "link": [
+          "题目信息的文档.doc"
+        ]
+      }
+    },
+    {
+      "time": 6.0006,
+      "eventId": 8282258,
+      "event": "push-answer",//学生在屏幕1提交答案
+      "optRole": "S",
+      "optUser": "李同学",
+      "screen": "屏幕1-id",
+      "work": {
+        "type": "answer",
+        "link": [
+          "A",
+          "B",
+          "俱往矣,数风流人物,还看今朝。"
+        ]
+      }
+    },
+    {
+      "time": 7.0006,
+      "eventId": 589825,
+      "event": "push-image",//学生在屏幕1推送作品
+      "optRole": "S",
+      "optUser": "李同学",
+      "screen": "屏幕1-id",
+      "work": //操作的资源,如打开PPT ,网站链接,播放视频,答题,选项
+      {
+        "type": "image",
+        "link": [
+          "xxxx.png"
+        ]
+      }
+    },
+    {
+      "time": 20.0000,
+      "eventId": 100001,
+      "optRole": "T",
+      "optUser": "罗老师",
+      "event": "lesson-finish",//结束课堂
+      "screen": "屏幕1-id"
+    },
+  ],
+  "screens": [ //VR虚拟教室的屏幕编号
+    "屏幕1-id",
+    "屏幕2-id",
+    "屏幕2-id"
+  ]
+}
+     */
 }

+ 9 - 0
TEAMModelOS/Controllers/OpenApi/Business/BizCustomizeController.cs

@@ -48,6 +48,9 @@ namespace TEAMModelOS.Controllers
             _serviceBus = serviceBus;
             _snowflakeId = snowflakeId;
         }
+        
+
+
         #region  杉达公司
         /// <summary>
         /// 开课或者上传课例信息  是因支持VR/AR的公司(杉达)
@@ -62,6 +65,12 @@ namespace TEAMModelOS.Controllers
         public async Task<IActionResult> UpLessonRec(JsonElement jsonElement)
         {
             var (id, school) = HttpContext.GetApiTokenInfo();
+
+
+
+
+
+
             try
             {
                 jsonElement.TryGetProperty("baseJson", out JsonElement baseJson);    //课例基础文件信息json

文件差异内容过多而无法显示
+ 14 - 11
TEAMModelOS/Controllers/XTest/TestController.cs