CrazyIter_Bin 2 rokov pred
rodič
commit
bf81e0b0fb

+ 5 - 1
TEAMModelOS.SDK/Models/Cosmos/School/SchoolTeacher.cs

@@ -16,9 +16,13 @@ namespace TEAMModelOS.SDK.Models
         public string status { get; set; }
         public long createTime { get; set; }
         /// <summary>
-        /// 教师的科目数组
+        /// 教师的科目数组
         /// </summary>
         public List<string> subjectIds { get; set; }=new List<string>();
+        /// <summary>
+        /// 榛樿�鐨勫�娈礽d
+        /// </summary>
+        public string periodId { get; set; }
         //public string groupId { get; set; }
         //public string groupName { get; set; }
     }

+ 10 - 4
TEAMModelOS.SDK/Models/Service/Third/ThirdService.cs

@@ -55,8 +55,14 @@ namespace TEAMModelOS.SDK.Models
                                         SchoolTeacher schoolTeacher = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<SchoolTeacher>(teacher.id, new PartitionKey($"Teacher-{school.id}"));
                                         if (schoolTeacher != null)
                                         {
-                                            if (schoolTeacher.roles.IsEmpty() || !schoolTeacher.roles.Contains("teacher"))
+                                            if (!schoolTeacher.roles.IsEmpty() )
                                             {
+                                                if (!schoolTeacher.roles.Contains("teacher"))
+                                                {
+                                                    schoolTeacher.roles.Add("teacher");
+                                                }
+                                            }
+                                            else {
                                                 schoolTeacher.roles = new List<string> { "teacher" };
                                             }
                                             schoolTeacher.status = "join";
@@ -66,7 +72,7 @@ namespace TEAMModelOS.SDK.Models
                                             schoolTeacher.createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
                                             schoolTeacher.ttl = -1;
                                             schoolTeacher.permissions = schoolTeacher.permissions.IsNotEmpty() ? schoolTeacher.permissions : new List<string>();
-                                            await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").UpsertItemAsync(schoolTeacher);
+                                            await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").UpsertItemAsync(schoolTeacher, new PartitionKey(schoolTeacher.code));
                                         }
                                     }
                                     catch (CosmosException)
@@ -84,7 +90,7 @@ namespace TEAMModelOS.SDK.Models
                                             createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
                                             ttl = -1
                                         };
-                                        await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").UpsertItemAsync(schoolTeacher);
+                                        await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").UpsertItemAsync(schoolTeacher,new PartitionKey(schoolTeacher.code));
                                     }
                                 }
                             }
@@ -103,7 +109,7 @@ namespace TEAMModelOS.SDK.Models
                                     status = "join",
                                     createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
                                 };
-                                await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").UpsertItemAsync(schoolTeacher);
+                                await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "School").UpsertItemAsync(schoolTeacher, new PartitionKey(schoolTeacher.code));
                             }
                             await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Teacher").ReplaceItemAsync(teacher, teacher.id, new PartitionKey("Base"));
 

+ 7 - 1
TEAMModelOS/Controllers/Third/Sc/ScController.cs

@@ -249,8 +249,14 @@ namespace TEAMModelOS.Controllers
                                 schoolTeacher.pk = "Teacher";
                                 schoolTeacher.name = teacher.name;
                                 schoolTeacher.picture = teacher.picture;
-                                if (schoolTeacher.roles.IsEmpty() || !schoolTeacher.roles.Contains("teacher"))
+                                if (!schoolTeacher.roles.IsEmpty())
                                 {
+                                    if (!schoolTeacher.roles.Contains("teacher"))
+                                    {
+                                        schoolTeacher.roles .Add("teacher");
+                                    }
+                                }
+                                else {
                                     schoolTeacher.roles = new List<string> { "teacher" };
                                 }
                                 schoolTeacher.permissions = schoolTeacher.permissions.IsNotEmpty() ? schoolTeacher.permissions : new List<string>();