Selaa lähdekoodia

活动中间表触发条件

CrazyIter_Bin 3 vuotta sitten
vanhempi
commit
6872b676e5

+ 3 - 3
TEAMModelFunction/ActivityHttpTrigger.cs

@@ -207,7 +207,7 @@ namespace TEAMModelFunction
                             });
                         });
                     }
-                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities,null);
                 }
             }
             return new OkObjectResult(new { });
@@ -308,7 +308,7 @@ namespace TEAMModelFunction
                             });
                         });
                     }
-                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities, null);
                 }
             }
             return new OkObjectResult(new { });
@@ -408,7 +408,7 @@ namespace TEAMModelFunction
                             });
                         });
                     }
-                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities, null);
                 }
             }
             return new OkObjectResult(new { });

+ 1 - 1
TEAMModelFunction/TriggerExam.cs

@@ -153,7 +153,7 @@ namespace TEAMModelFunction
                                     });
                                 });
                             }
-                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities,null);
                             //向学生或醍摩豆账号发起通知
                             #region
                             //Notice notice = new Notice()

+ 28 - 2
TEAMModelFunction/TriggerSurvey.cs

@@ -82,6 +82,7 @@ namespace TEAMModelFunction
 #endif
                             List<StuActivity> stuActivities = new List<StuActivity>();
                             List<StuActivity> tmdActivities = new List<StuActivity>();
+                            List<StuActivity> tchActivities = new List<StuActivity>();
                             if (tmdids.IsNotEmpty())
                             {
                                 tmdids.ForEach(x => {
@@ -132,8 +133,33 @@ namespace TEAMModelFunction
                                     });
                                 });
                             }
-                           
-                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+
+                            if (survey.tchLists.IsNotEmpty())
+                            {
+                                survey.tchLists.ForEach(x => {
+                                    tchActivities.Add(new StuActivity
+                                    {
+                                        pk = "Activity",
+                                        id = survey.id,
+                                        code = $"Activity-{x}",
+                                        type = "Survey",
+                                        name = survey.name,
+                                        startTime = survey.startTime,
+                                        endTime = survey.endTime,
+                                        scode = survey.code,
+                                        scope = survey.scope,
+                                        school = survey.school,
+                                        creatorId = survey.creatorId,
+                                        subjects = new List<string> { "" },
+                                        blob = survey.blob,
+                                        owner = survey.owner,
+                                        createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
+                                        taskStatus = -1,
+                                        classIds = classes
+                                    });
+                                });
+                            }
+                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities, tchActivities);
                             //向学生或醍摩豆账号发起通知
                             #region
                             //Notice notice = new Notice()

+ 28 - 2
TEAMModelFunction/TriggerVote.cs

@@ -88,6 +88,7 @@ namespace TEAMModelFunction
                             }
                             List<StuActivity> stuActivities = new List<StuActivity>();
                             List<StuActivity> tmdActivities = new List<StuActivity>();
+                            List<StuActivity> tchActivities = new List<StuActivity>();
                             if (tmds.IsNotEmpty())
                             {
                                 tmds.ForEach(x => {
@@ -138,8 +139,33 @@ namespace TEAMModelFunction
                                     });
                                 });
                             }
-                          
-                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+
+                            if (vote.tchLists.IsNotEmpty())
+                            {
+                                vote.tchLists.ForEach(x => {
+                                    tchActivities.Add(new StuActivity
+                                    {
+                                        pk = "Activity",
+                                        id = vote.id,
+                                        code = $"Activity-{x}",
+                                        type = "Vote",
+                                        name = vote.name,
+                                        startTime = vote.startTime,
+                                        endTime = vote.endTime,
+                                        scode = vote.code,
+                                        scope = vote.scope,
+                                        school = vote.school,
+                                        creatorId = vote.creatorId,
+                                        subjects = new List<string> { "" },
+                                        blob = null,
+                                        owner = vote.owner,
+                                        createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
+                                        taskStatus = -1,
+                                        classIds = classes
+                                    });
+                                });
+                            }
+                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities, tchActivities);
                             //向学生或醍摩豆账号发起通知
                             #region
                             //Notice notice = new Notice()

+ 8 - 1
TEAMModelOS.SDK/Models/Service/TriggerStuActivity.cs

@@ -92,7 +92,7 @@ namespace TEAMModelOS.SDK
             }
         }
 
-        public static async Task<string> SaveStuActivity(CosmosClient client, DingDing _dingDing, List<StuActivity> stuActivities,List<StuActivity> tmdActivities) {
+        public static async Task<string> SaveStuActivity(CosmosClient client, DingDing _dingDing, List<StuActivity> stuActivities,List<StuActivity> tmdActivities, List<StuActivity>  tchActivities) {
             try {
                 if (stuActivities.IsNotEmpty())
                 {
@@ -108,6 +108,13 @@ namespace TEAMModelOS.SDK
                         await client.GetContainer(Constant.TEAMModelOS, "Student").UpsertItemAsync(x, new PartitionKey(x.code));
                     }
                 }
+                if (tchActivities.IsNotEmpty())
+                {
+                    foreach (var x in tmdActivities)
+                    {
+                        await client.GetContainer(Constant.TEAMModelOS, "Teacher").UpsertItemAsync(x, new PartitionKey(x.code));
+                    }
+                }
             } catch (Exception ex) {
                 await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-OS,TriggerStuActivity-SaveStuActivity\n{ex.Message}\n{ex.StackTrace}", GroupNames.醍摩豆服務運維群組);
             }