Pārlūkot izejas kodu

处理研修活动

zhouj1203@hotmail.com 3 gadi atpakaļ
vecāks
revīzija
dca27fb0f5

+ 7 - 2
TEAMModelOS.FunctionV4/CosmosDB/TriggerStudy.cs

@@ -94,8 +94,8 @@ namespace TEAMModelOS.FunctionV4
                                 List<StuActivity> tchActivities = new List<StuActivity>();
                                 (string standard, List<string> tmdids, string school, List<string> update, int statistics) list = (null, null, null, new List<string> { StatisticsService.OfflineRecord }, 0);
                                 if (tchList.IsNotEmpty())
-                                {
-                                    list.tmdids = tchList.Select(x => x.id).ToList();
+                                {                                  
+                                    list.tmdids = tchList.Select(x => x.id).ToList();                                    
                                     School school = null;
                                     if (!string.IsNullOrEmpty(study.school))
                                     {
@@ -133,6 +133,11 @@ namespace TEAMModelOS.FunctionV4
                                 await StatisticsService.SendServiceBus(list, _configuration, _serviceBus,client);
                                 var messageWorkEnd = new ServiceBusMessage(new { id = tdata.id, progress = "finish", code = tdata.code }.ToJsonString());
                                 messageWorkEnd.ApplicationProperties.Add("name", "Study");
+                                if (study.teacIds.Count == 0) {
+                                    study.teacIds = list.tmdids;
+                                    await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(study, study.id, new PartitionKey($"{study.code}"));
+                                }
+                               
                                 if (changeRecords.Count > 0)
                                 {
                                     long end = await _serviceBus.GetServiceBusClient().SendScheduleMessageAsync(Environment.GetEnvironmentVariable("Azure:ServiceBus:ActiveTask"), messageWorkEnd, DateTimeOffset.FromUnixTimeMilliseconds(tdata.endTime));

+ 7 - 8
TEAMModelOS.FunctionV4/ServiceBus/ActiveTaskTopic.cs

@@ -510,21 +510,20 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
                 //名单变动修改学生投票关联信息
                 await ActivityService.FixActivity(client, _dingDing, groupChange, "Vote");
                 //名单变动修改学生评测关联信息
-                await ActivityService.FixActivity(client, _dingDing, groupChange, "Exam");
-                //名单变动修改学生研修关联信息
-                await ActivityService.FixActivity(client, _dingDing, groupChange, "Study");
-                //名单变动修改学生简易评测关联信息
-                await ActivityService.FixActivity(client, _dingDing, groupChange, "ExamLite");
-
+                await ActivityService.FixActivity(client, _dingDing, groupChange, "Exam");              
                 //TODO学习活动
                 //await FixActivity(client, stuListChange, "Learn");
-                //名单变动修改学生作业活动信息
-                await ActivityService.FixActivity(client, _dingDing, groupChange, "Homework");
 
                 if (groupChange.type == null || !groupChange.type.Equals("research") || !groupChange.type.Equals("yxtrain") || !groupChange.type.Equals("activity"))
                 {
                     //课程名单变动修改学生课程关联信息
                     await ActivityService.FixStuCourse(client, _dingDing, groupChange);
+                    //名单变动修改学生研修关联信息
+                    await ActivityService.FixActivity(client, _dingDing, groupChange, "Study");
+                    //名单变动修改学生简易评测关联信息
+                    await ActivityService.FixActivity(client, _dingDing, groupChange, "ExamLite");
+                    //名单变动修改学生作业活动信息
+                    await ActivityService.FixActivity(client, _dingDing, groupChange, "Homework");
                 }
             }
             catch (Exception ex)

+ 1 - 1
TEAMModelOS/Controllers/Common/StudyController.cs

@@ -352,7 +352,7 @@ namespace TEAMModelOS.Controllers.Common
                             await client.GetContainer("TEAMModelOS", "Common").ReplaceItemAsync(homework, homework.id, new PartitionKey($"Homework-{code}"));
                             //await client.GetContainer("TEAMModelOS", "Common").DeleteItemStreamAsync(study.workId, new PartitionKey($"Homework-{code}"));
                         }
-                        study = await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(study, study.id, new PartitionKey($"{study.code}"));
+                        await client.GetContainer(Constant.TEAMModelOS, "Common").ReplaceItemAsync(study, study.id, new PartitionKey($"{study.code}"));
                     }
                     
                 }