HiITEdenX пре 2 година
родитељ
комит
1efdde6b96

+ 12 - 4
TEAMModelOS.SDK/Models/Service/ActivityService.cs

@@ -46,7 +46,7 @@ namespace TEAMModelOS.SDK
                     }
                     foreach (var techer in teachers)
                     {
-                        var queryTech = $"SELECT distinct c.owner, c.id,c.code, c.classes,c.stuLists,c.subjects,c.progress,c.scope,c.startTime,c.school,c.creatorId,c.name,c.pk ,c.endTime   FROM c " +
+                        var queryTech = $"SELECT distinct c.owner, c.id,c.code, c.classes,c.stuLists,c.subjects,c.progress,c.scope,c.startTime,c.school,c.creatorId,c.name,c.pk ,c.endTime,c.targets   FROM c " +
                             $" where (c.status<>404 or IS_DEFINED(c.status) = false ) and  c.school='{groupChange.school}'   and   c.pk='{type}'" +
                             $" and (( array_contains(c.classes,'{groupChange.listid}')) or ( array_contains(c.stuLists,'{groupChange.listid}')))";
                         //  $" and A1 in('{groupChange.listid}') ";
@@ -72,12 +72,20 @@ namespace TEAMModelOS.SDK
                     if (!type.Equals("Exam")) {
                         if (activity.targets.Count > 0)
                         {
+                            
                             foreach (var course in activity.targets)
                             {
-                                var info = course.ToObject<List<string>>();
-                                if (info.Count > 1)
+                                if (course.ValueKind.Equals(JsonValueKind.String) && !string.IsNullOrWhiteSpace($"{course}"))
                                 {
-                                    sub.Add(info[0]);
+                                    sub.Add($"{course}");
+                                }
+                                else if (course.ValueKind.Equals(JsonValueKind.Array))
+                                {
+                                    var info = course.ToObject<List<string>>();
+                                    if (info.Count > 1)
+                                    {
+                                        sub.Add(info[0]);
+                                    }
                                 }
                             }
                         }                     

+ 34 - 30
TEAMModelOS.SDK/Models/Service/GroupListService.cs

@@ -1170,46 +1170,50 @@ namespace TEAMModelOS.SDK
                 }
 
                 if (tmdids.IsNotEmpty() && _coreAPIHttpService.check) {
-                    ///获取真实的名称 
-                    var content = new StringContent(tmdids.Select(x => x.id).ToHashSet().ToJsonString(), Encoding.UTF8, "application/json");
-                    string json = null;
-                    try
+                    ///获取真实的名称 ,大于50则不处理
+                    if (tmdids.Count < 50)
                     {
-                        json = await _coreAPIHttpService.GetUserInfos(content);
-                        if (!string.IsNullOrWhiteSpace(json))
+                        var content = new StringContent(tmdids.Select(x => x.id).ToHashSet().ToJsonString(), Encoding.UTF8, "application/json");
+                        string json = null;
+                        try
                         {
-
-                            List<TmdInfo> tmdInfos = json.ToObject<List<TmdInfo>>();
-                            if (tmdInfos.IsNotEmpty())
+                            json = await _coreAPIHttpService.GetUserInfos(content);
+                            if (!string.IsNullOrWhiteSpace(json))
                             {
-                                tmdsData.ForEach(y =>
+
+                                List<TmdInfo> tmdInfos = json.ToObject<List<TmdInfo>>();
+                                if (tmdInfos.IsNotEmpty())
                                 {
-                                    var tmd = tmdInfos.Find(x => x.id.Equals(y.id));
-                                    if (tmd != null)
+                                    tmdsData.ForEach(y =>
                                     {
-                                        y.name = tmd?.name;
-                                        y.picture = tmd?.picture;
-                                    }
-                                    else
-                                    {
-                                        groups.ForEach(x =>
+                                        var tmd = tmdInfos.Find(x => x.id.Equals(y.id));
+                                        if (tmd != null)
                                         {
-                                            int item = x.members.RemoveAll(z => z.id.Equals(y.id) && z.type == 1);
-                                            if (item > 0)
+                                            y.name = tmd?.name;
+                                            y.picture = tmd?.picture;
+                                        }
+                                        else
+                                        {
+                                            groups.ForEach(x =>
                                             {
-                                                changes.Add(x);
-                                            }
-                                        });
-                                    }
-                                });
-                            }
+                                                int item = x.members.RemoveAll(z => z.id.Equals(y.id) && z.type == 1);
+                                                if (item > 0)
+                                                {
+                                                    changes.Add(x);
+                                                }
+                                            });
+                                        }
+                                    });
+                                }
 
+                            }
+                        }
+                        catch (Exception ex)
+                        {
+                            await _dingDing.SendBotMsg($"{_coreAPIHttpService.options.Get("Default").location}用户转换失败:{_coreAPIHttpService.options.Get("Default").url}{json}\n {ex.Message}\n{ex.StackTrace}{tmdids.Select(x => x.id).ToJsonString()}", GroupNames.醍摩豆服務運維群組);
                         }
                     }
-                    catch (Exception ex)
-                    {
-                        await _dingDing.SendBotMsg($"{_coreAPIHttpService.options.Get("Default").location}用户转换失败:{_coreAPIHttpService.options.Get("Default").url}{json}\n {ex.Message}\n{ex.StackTrace}{tmdids.Select(x => x.id).ToJsonString()}", GroupNames.醍摩豆服務運維群組);
-                    }
+                   
                 }
                
                 tmdids.ForEach(x =>

+ 11 - 0
TEAMModelOS/Controllers/XTest/FixDataController.cs

@@ -62,6 +62,17 @@ namespace TEAMModelOS.Controllers
             _httpClient = httpClient;
         }
         /// <summary>
+        ///
+        /// </summary>
+        /// <returns></returns>
+        [ProducesDefaultResponseType]
+        [HttpPost("fix-activity")]
+        public async Task<IActionResult> FixActivity(JsonElement json) {
+            GroupChange groupChange = json.ToObject<GroupChange>();
+            await ActivityService.FixActivity(_azureCosmos.GetCosmosClient(), _dingDing, groupChange, "Vote");
+            return Ok();
+        }
+        /// <summary>
         /// 修复能力点学习记录中 nodeid taskid为空的数据
         /// </summary>
         /// <returns></returns>