Browse Source

处理教师空间计算不用累加的问题

CrazyIter_Bin 3 years ago
parent
commit
a0c47b65d8
1 changed files with 13 additions and 8 deletions
  1. 13 8
      TEAMModelOS/Controllers/School/SchoolController.cs

+ 13 - 8
TEAMModelOS/Controllers/School/SchoolController.cs

@@ -1128,11 +1128,12 @@ namespace TEAMModelOS.Controllers
                                         var json = await JsonDocument.ParseAsync(response.ContentStream);
 
                                         //軟體
-                                        Teacher teacherHimself = json.ToObject<Teacher>();
-                                        teacherHimself.size = teacherHimself.size - orgTeacherSize + teacher.size;
-
+                                        // Teacher teacherHimself = json.ToObject<Teacher>();
+                                        //teacherHimself.size = teacherHimself.size - orgTeacherSize + teacher.size;
                                         //最後一起修改
-                                        await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "Teacher").ReplaceItemAsync<Teacher>(teacherHimself, teacherHimself.id, new PartitionKey("Base"));
+                                        //huanghb 2021,7.21修改 ,不用再统计到Teacher-Base中 ,Teacher-Base只记录教师自己的空间大小,并包含其他学校赠与的空间,其他学校的赠与空间放在School 表的Teacher-hbcn(SchoolTeacher)中SchoolTeacher
+                                        //,并在教师登陆的时候 一并计算个人空间和总空间大小。其中总空间大小包含(个人空间+多个学校累加的空间大小,并且如果退出或者被移除Teacher-Base 的"schools": [],为空,则已经实现自动回收)
+                                        // await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "Teacher").ReplaceItemAsync<Teacher>(teacherHimself, teacherHimself.id, new PartitionKey("Base"));
                                         await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "School").ReplaceItemAsync<SchoolTeacher>(teacher, obj.GetProperty("id").ToString(), new PartitionKey($"Teacher-{school_code}"));
                                     }
                                     else
@@ -1188,15 +1189,19 @@ namespace TEAMModelOS.Controllers
                                     var response = await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "Teacher").ReadItemStreamAsync(teacher.id, new PartitionKey("Base"));
                                     if (response.Status == 200)
                                     {
-                                        var json = await JsonDocument.ParseAsync(response.ContentStream);
+                                       // var json = await JsonDocument.ParseAsync(response.ContentStream);
 
                                         //軟體
-                                        Teacher teacherHimself = json.ToObject<Teacher>();
-                                        teacherHimself.size -= teacherSizeInSchool;
+                                       // Teacher teacherHimself = json.ToObject<Teacher>();
+                                       // teacherHimself.size -= teacherSizeInSchool;
 
                                         // 最後一起修改
+
+
+                                        //huanghb 2021,7.21修改 ,不用再统计到Teacher-Base中 ,Teacher-Base只记录教师自己的空间大小,并包含其他学校赠与的空间,其他学校的赠与空间放在School 表的Teacher-hbcn(SchoolTeacher)中SchoolTeacher
+                                        //,并在教师登陆的时候 一并计算个人空间和总空间大小。其中总空间大小包含(个人空间+多个学校累加的空间大小,并且如果退出或者被移除Teacher-Base 的"schools": [],为空,则已经实现自动回收)
                                         await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "School").ReplaceItemAsync<SchoolTeacher>(teacher, teacher.id, new PartitionKey($"Teacher-{school_code}"));
-                                        await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "Teacher").ReplaceItemAsync<Teacher>(teacherHimself, teacherHimself.id, new PartitionKey("Base"));
+                                        //await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "Teacher").ReplaceItemAsync<Teacher>(teacherHimself, teacherHimself.id, new PartitionKey("Base"));
                                     }
                                     else
                                     {