CrazyIter_Bin 1 年之前
父节点
当前提交
7cf48a29fb
共有 2 个文件被更改,包括 74 次插入36 次删除
  1. 30 17
      TEAMModelOS/Controllers/Both/CourseBaseController.cs
  2. 44 19
      TEAMModelOS/Controllers/Both/GroupListController.cs

+ 30 - 17
TEAMModelOS/Controllers/Both/CourseBaseController.cs

@@ -1679,6 +1679,7 @@ namespace TEAMModelOS.Controllers.Both
             try
             try
             {
             {
                 (string tmdid, _, _, string school) = HttpContext.GetAuthTokenInfo();
                 (string tmdid, _, _, string school) = HttpContext.GetAuthTokenInfo();
+                tmdid="1528783301";
                 if (!request.TryGetProperty("grant_type", out JsonElement grant_type)) return BadRequest();
                 if (!request.TryGetProperty("grant_type", out JsonElement grant_type)) return BadRequest();
                 if (!request.TryGetProperty("scope", out JsonElement scope)) return BadRequest();
                 if (!request.TryGetProperty("scope", out JsonElement scope)) return BadRequest();
                 string code = $"CourseTask-{school}";
                 string code = $"CourseTask-{school}";
@@ -1718,15 +1719,17 @@ namespace TEAMModelOS.Controllers.Both
                                     if (schedulesTeacher.Any()) 
                                     if (schedulesTeacher.Any()) 
                                     {
                                     {
                                         courseIds.Add(x.courseId);
                                         courseIds.Add(x.courseId);
-                                        x.schedules=schedulesTeacher.ToList();
-                                        schoolTeacherTask.Add(new KeyValuePair<string,CourseTask  >(x.courseId, x));
+                                        CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
+                                        courseTask.schedules=schedulesTeacher.ToList();
+                                        schoolTeacherTask.Add(new KeyValuePair<string,CourseTask  >(x.courseId, courseTask));
                                     }
                                     }
-                                    var schedulesAssistant = x.schedules.Where(z => z.assistants.Contains(tmdid) &&!string.IsNullOrWhiteSpace(z.teacherId)  &&  !z.teacherId.Equals(tmdid));
+                                    var schedulesAssistant = x.schedules.Where(z => z.assistants.Contains(tmdid) );
                                     if (schedulesAssistant.Any())
                                     if (schedulesAssistant.Any())
                                     {
                                     {
                                         courseIds.Add(x.courseId);
                                         courseIds.Add(x.courseId);
-                                        x.schedules=schedulesAssistant.ToList();
-                                        schoolAssistantTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, x));
+                                        CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
+                                        courseTask.schedules=schedulesTeacher.ToList();
+                                        schoolAssistantTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
                                     }
                                     }
                                 });
                                 });
                             }
                             }
@@ -1737,14 +1740,16 @@ namespace TEAMModelOS.Controllers.Both
                                 {
                                 {
                                     foreach (var item in result.list) 
                                     foreach (var item in result.list) 
                                     {
                                     {
-                                        var teacher = schoolTeacherTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseDto { courseBase=item, courseTask=z.Value, type="teacher" });
+                                        List<CourseTaskDto> courseTaskDtos = new List<CourseTaskDto>();
+                                        var teacher = schoolTeacherTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask=z.Value, type="teacher" });
                                         if (teacher.Any()) {
                                         if (teacher.Any()) {
-                                            schoolCourses.AddRange(teacher);
+                                            courseTaskDtos.AddRange(teacher.ToList());
                                         }
                                         }
-                                        var assistant= schoolAssistantTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseDto { courseBase=item, courseTask=z.Value, type="assistant" });
+                                        var assistant= schoolAssistantTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto {  courseTask=z.Value, type="assistant" });
                                         if (assistant.Any()) {
                                         if (assistant.Any()) {
-                                            schoolCourses.AddRange(assistant);
+                                            courseTaskDtos.AddRange(assistant.ToList());
                                         }
                                         }
+                                        schoolCourses.Add(new CourseDto { courseBase=item, courseTasks=courseTaskDtos });
                                     }
                                     }
                                 }
                                 }
                             }
                             }
@@ -1757,15 +1762,17 @@ namespace TEAMModelOS.Controllers.Both
                                 if (schedulesTeacher.Any())
                                 if (schedulesTeacher.Any())
                                 {
                                 {
                                     courseIds.Add(x.courseId);
                                     courseIds.Add(x.courseId);
-                                    x.schedules=schedulesTeacher.ToList();
-                                    privateTeacherTask.Add(new KeyValuePair<string,CourseTask >(x.courseId,x));
+                                    CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
+                                    courseTask.schedules=schedulesTeacher.ToList();
+                                    privateTeacherTask.Add(new KeyValuePair<string,CourseTask >(x.courseId, courseTask));
                                 }
                                 }
                                 var schedulesAssistant = x.schedules.Where(z => z.assistants.Contains(tmdid));
                                 var schedulesAssistant = x.schedules.Where(z => z.assistants.Contains(tmdid));
                                 if (schedulesAssistant.Any())
                                 if (schedulesAssistant.Any())
                                 {
                                 {
                                     courseIds.Add(x.courseId);
                                     courseIds.Add(x.courseId);
-                                    x.schedules=schedulesAssistant.ToList();
-                                    privateAssistantTask.Add(new KeyValuePair<string,CourseTask >(x.courseId,x));
+                                    CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
+                                    courseTask.schedules=schedulesTeacher.ToList();
+                                    privateAssistantTask.Add(new KeyValuePair<string,CourseTask >(x.courseId, courseTask));
                                 }
                                 }
                             });
                             });
                             if (courseIds.Any())
                             if (courseIds.Any())
@@ -1777,16 +1784,18 @@ namespace TEAMModelOS.Controllers.Both
                                     foreach (var item in result.list)
                                     foreach (var item in result.list)
 
 
                                     {
                                     {
-                                        var teacher = privateTeacherTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseDto { courseBase=item, courseTask=z.Value, type="teacher" });
+                                        List<CourseTaskDto> courseTaskDtos = new List<CourseTaskDto>();
+                                        var teacher = privateTeacherTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask=z.Value, type="teacher" });
                                         if (teacher.Any())
                                         if (teacher.Any())
                                         {
                                         {
-                                            teahcerCourses.AddRange(teacher);
+                                            courseTaskDtos.AddRange(teacher.ToList());
                                         }
                                         }
-                                        var assistant = privateAssistantTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseDto { courseBase=item, courseTask=z.Value, type="assistant" });
+                                        var assistant = privateAssistantTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto {   courseTask=z.Value, type="assistant" });
                                         if (assistant.Any())
                                         if (assistant.Any())
                                         {
                                         {
-                                            teahcerCourses.AddRange(assistant);
+                                            courseTaskDtos.AddRange(assistant.ToList());
                                         }
                                         }
+                                        teahcerCourses.Add(new CourseDto { courseBase=item, courseTasks=courseTaskDtos });
                                     }
                                     }
                                 }
                                 }
                             }
                             }
@@ -1814,6 +1823,10 @@ namespace TEAMModelOS.Controllers.Both
 
 
     public class CourseDto { 
     public class CourseDto { 
         public CourseBase courseBase { get; set; }
         public CourseBase courseBase { get; set; }
+        public List<CourseTaskDto> courseTasks { get; set; }
+      
+    }
+    public class CourseTaskDto {
         public CourseTask courseTask { get; set; }
         public CourseTask courseTask { get; set; }
         /// <summary>
         /// <summary>
         /// teacher主任课教师,assistant,协同教师
         /// teacher主任课教师,assistant,协同教师

+ 44 - 19
TEAMModelOS/Controllers/Both/GroupListController.cs

@@ -846,25 +846,7 @@ namespace TEAMModelOS.Controllers
                 }
                 }
                 list.year = list.year > 0 ? list.year : DateTimeOffset.UtcNow.Year;
                 list.year = list.year > 0 ? list.year : DateTimeOffset.UtcNow.Year;
                 list.ttl = -1;
                 list.ttl = -1;
-                //只有开启审核,且设置天数大于零,且之前没有设置过期时间的时候才会重新设置过期时间。
-                if (list.review==1  ) {
-                    if (list.qrcodeDays>0)
-                    {
-                        if (list.qrcodeExpire<=0)
-                        {
-                            list.qrcodeExpire= DateTimeOffset.UtcNow.AddDays(list.qrcodeDays).ToUnixTimeMilliseconds();
-                        }
-                    }
-                    else
-                    {
-                        return Ok(new { error = 400, msg = "必须设置二维码过期天数!" });
-                    }
-                }
-                else
-                {
-                    list.qrcodeDays = 0;
-                    list.qrcodeExpire = 0;
-                }
+                
                 list.creatorId = userid;
                 list.creatorId = userid;
                 list.school = string.IsNullOrEmpty(list.school) ? school : list.school;
                 list.school = string.IsNullOrEmpty(list.school) ? school : list.school;
                 list.pk = "GroupList";
                 list.pk = "GroupList";
@@ -872,6 +854,49 @@ namespace TEAMModelOS.Controllers
                 {
                 {
                     //私人名单
                     //私人名单
                     list.code = "GroupList";
                     list.code = "GroupList";
+                    //只有开启审核,且设置天数大于零,且之前没有设置过期时间的时候才会重新设置过期时间。
+                    if (list.review==1)
+                    {
+
+                        
+                        if (list.qrcodeDays>0)
+                        {
+                            GroupList dblist = null;
+                            if (!string.IsNullOrWhiteSpace(list.id))
+                            {
+                                var response = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).ReadItemStreamAsync(list.id, new PartitionKey(list.code));
+                                if (response.Status==200)
+                                {
+                                    dblist = JsonDocument.Parse(response.Content).RootElement.ToObject<GroupList>();
+                                  
+                                }
+                            }
+                            if (dblist!=null)
+                            {
+                                //更新过期时间
+                                if (dblist.qrcodeDays!=list.qrcodeDays) {
+                                    list.qrcodeExpire= DateTimeOffset.UtcNow.AddDays(list.qrcodeDays).ToUnixTimeMilliseconds();
+                                    string key = $"GroupList:Waitinglist:{list.scope}:{list.id}";
+                                    await _azureRedis.GetRedisClient(8).KeyExpireAsync(key, expiry: DateTimeOffset.FromUnixTimeMilliseconds(list.qrcodeExpire).UtcDateTime);
+                                }
+                            }
+                            else {
+                                if (list.qrcodeExpire<=0)
+                                {
+                                    list.qrcodeExpire= DateTimeOffset.UtcNow.AddDays(list.qrcodeDays).ToUnixTimeMilliseconds();
+                                }
+                            }
+                        }
+                        else
+                        {
+                            return Ok(new { error = 400, msg = "必须设置二维码过期天数!" });
+                        }
+                    }
+                    else
+                    {
+                        list.qrcodeDays = 0;
+                        list.qrcodeExpire = 0;
+                    }
                     list.school = null;
                     list.school = null;
                 }
                 }
                 else
                 else