CrazyIter_Bin 1 tahun lalu
induk
melakukan
72c1bd2571

+ 4 - 4
TEAMModelOS.SDK/Models/Service/LessonService.cs

@@ -171,7 +171,8 @@ namespace TEAMModelOS.SDK.Models.Service
         public static async void DoLessonStudentRecord(DingDing _dingding, SnowflakeId snowflakeId, LessonRecord lessonRecord, string scope, CosmosClient client, string school, string tmdid,
             Teacher teacher,   AzureServiceBusFactory _serviceBus, AzureStorageFactory _azureStorage, IConfiguration _configuration, LessonBase lessonBase,AzureRedisFactory _azureRedis)
         {
-
+            School schoolBase = null;
+            Period period = null;
             try
             {
                 int year = DateTimeOffset.UtcNow.Year;
@@ -217,8 +218,7 @@ namespace TEAMModelOS.SDK.Models.Service
                         lessonStudentRecords.Add(item);
                     }
                 }
-                School schoolBase = null;
-                Period period = null;
+              
                 (Semester currSemester, int studyYear, DateTimeOffset date, DateTimeOffset nextSemester) dataSemester = new(null,-1, DateTimeOffset.UtcNow, DateTimeOffset.UtcNow) ;
                 if (!string.IsNullOrWhiteSpace(school)) {
                      schoolBase = await client.GetContainer(Constant.TEAMModelOS, Constant.School).ReadItemAsync<School>(school, new PartitionKey("Base"));
@@ -476,7 +476,7 @@ namespace TEAMModelOS.SDK.Models.Service
             }
             catch (Exception ex)
             {
-                await _dingding.SendBotMsg($"学生个人课例统计信息异常,{ex.Message}\n{ex.StackTrace}", GroupNames.醍摩豆服務運維群組);
+                await _dingding.SendBotMsg($"学生个人课例统计信息异常,{ex.Message}\n{ex.StackTrace},{lessonRecord?.ToJsonString()}{school}", GroupNames.醍摩豆服務運維群組);
             }
         }
 

+ 12 - 2
TEAMModelOS.SDK/Models/Service/SchoolService.cs

@@ -228,8 +228,18 @@ namespace TEAMModelOS.SDK
             
             var date = DateTimeOffset.UtcNow;
             //2001-09-09 09:46:40
-            if (time > 1000000000000) {
-                date = DateTimeOffset.FromUnixTimeMilliseconds(time);
+            if (time > 1000000000)
+            {
+                //毫秒级
+                if (time > 1000000000000)
+                {
+                    date = DateTimeOffset.FromUnixTimeMilliseconds(time);
+                }
+                //秒级
+                else
+                {
+                    date = DateTimeOffset.FromUnixTimeSeconds(time);
+                }
             }
             //年级算法
             var period = school.period.Find(x => x.id.Equals(periodId));

+ 33 - 2
TEAMModelOS/Controllers/Both/CourseBaseController.cs

@@ -1050,8 +1050,25 @@ namespace TEAMModelOS.Controllers.Both
                                                 scheduleTask.type = courseTaskInsert.typeChanged;
                                             }
                                         }
-                                        courseTasks.Add(courseTask);
-                                        await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).UpsertItemAsync(courseTask, new PartitionKey(taskCode));
+                                        
+                                        //await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).UpsertItemAsync(courseTask, new PartitionKey(taskCode));
+                                        //删除教师及名单的排课信息
+                                        if (grant_type.ToString().Equals("delete-scheduleTask", StringComparison.OrdinalIgnoreCase))
+                                        {
+                                            courseTask.schedules.Remove(scheduleTask);
+                                        }
+                                        //如果被删除完了,就删除该条记录。
+                                        if (courseTask.schedules.Count <= 0)
+                                        {
+                                            courseTasks.Remove(courseTask);
+                                            await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).DeleteItemStreamAsync(courseTask.id, new PartitionKey(courseTask.code));
+                                        }
+                                        else
+                                        {
+                                            courseTasks.Add(courseTask);
+                                            await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).UpsertItemAsync(courseTask, new PartitionKey(taskCode));
+                                        }
+
                                     }
                                     else
                                     {
@@ -2055,6 +2072,20 @@ namespace TEAMModelOS.Controllers.Both
             }
             return Ok();
         }
+
+        /// <summary>
+        /// 教师任教的课程
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        [ProducesDefaultResponseType]
+     
+        [HttpPost("data-migration")]
+        public async Task<IActionResult> DataMigration(JsonElement request) {
+
+
+            return Ok();
+        }
     }
     public class CourseStudentDto
     {