瀏覽代碼

HiTeach API get-school-info 班級資訊追加年級ID

jeff 4 年之前
父節點
當前提交
81fe767d9c
共有 1 個文件被更改,包括 15 次插入0 次删除
  1. 15 0
      TEAMModelOS/Controllers/Client/HiTeachController.cs

+ 15 - 0
TEAMModelOS/Controllers/Client/HiTeachController.cs

@@ -247,6 +247,20 @@ namespace TEAMModelOS.Controllers.Client
                         classStuDic.Add(classId, stuCnt);
                     }
                 }
+
+                Dictionary<string, string> classDic = new Dictionary<string, string>(); //班級年級列表
+                var querycl = $"SELECT c.id, c.gradeId FROM c";
+                await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryText: querycl, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Class-{school_code}") }))
+                {
+                    var jsoncl = await JsonDocument.ParseAsync(item.ContentStream);
+                    foreach (var obj in jsoncl.RootElement.GetProperty("Documents").EnumerateArray())
+                    {
+                        string classId = obj.GetProperty("id").GetString();
+                        string gradeId = obj.GetProperty("gradeId").GetString();
+                        classDic.Add(classId, gradeId);
+                    }
+                }
+
                 Dictionary<string, int> classGrpDic = new Dictionary<string, int>(); //所有班級分組數
                 var querycgp = $"SELECT Count(1) as grpCnt, c.id FROM c JOIN(SELECT DISTINCT t.groupId FROM t IN c.students WHERE t.groupId != null) GROUP BY c.id";
                 await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryText: querycgp, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Class-{school_code}") }))
@@ -295,6 +309,7 @@ namespace TEAMModelOS.Controllers.Client
                             classExtobj.scope = obj.GetProperty("scope").ToString();
                             classExtobj.stuCnt = (classStuDic.ContainsKey(classIdNow)) ? classStuDic[classIdNow] : 0;
                             classExtobj.grpCnt = (classGrpDic.ContainsKey(classIdNow)) ? classGrpDic[classIdNow] : 0;
+                            classExtobj.gradeId = (classDic.ContainsKey(classIdNow)) ? classDic[classIdNow] : "";
                             //課程
                             obj.TryGetProperty("course", out JsonElement courseNow);
                             string courseIdNow = courseNow.GetProperty("id").ToString();