浏览代码

Merge branch 'PL/develop-BI' into develop

Li 2 年之前
父节点
当前提交
147aacb10a

+ 41 - 34
TEAMModelBI/Controllers/BINormal/AreaRelevantController.cs

@@ -244,6 +244,7 @@ namespace TEAMModelBI.Controllers.BINormal
 
 
             SimpleInfo existsArea = null;
             SimpleInfo existsArea = null;
             List<SimpleInfo> existsSc = new();
             List<SimpleInfo> existsSc = new();
+            List<SimpleInfo> errorSc = new();
             StringBuilder strMsg = new($"{_tmdName}【{_tmdId}】账户将{tmdName}【{tmdId}】");
             StringBuilder strMsg = new($"{_tmdName}【{_tmdId}】账户将{tmdName}【{tmdId}】");
 
 
             Teacher teacher = null;
             Teacher teacher = null;
@@ -285,46 +286,52 @@ namespace TEAMModelBI.Controllers.BINormal
                     strMsg.Append($"并将改账户设置为学校管理员;修改信息:");
                     strMsg.Append($"并将改账户设置为学校管理员;修改信息:");
                     foreach (var item in schoolMs)
                     foreach (var item in schoolMs)
                     {
                     {
-                        SchoolTeacher schoolTeacher = null;
-                        var resScTch = await cosmosClient.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync($"{tmdId}", new PartitionKey($"Teacher-{item.id}"));
-                        if (resScTch.Status == 200)
+                        var resSc = await cosmosClient.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync($"{item.id}", new PartitionKey($"Base"));
+                        if (resSc.Status == 200)
                         {
                         {
-                            using var json = await JsonDocument.ParseAsync(resScTch.ContentStream);
-                            schoolTeacher = json.ToObject<SchoolTeacher>();
-                            if (!schoolTeacher.roles.Contains("admin"))
+                            SchoolTeacher schoolTeacher = null;
+                            var resScTch = await cosmosClient.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync($"{tmdId}", new PartitionKey($"Teacher-{item.id}"));
+                            if (resScTch.Status == 200)
                             {
                             {
-                                schoolTeacher.roles.Add("admin");
-                                schoolTeacher = await cosmosClient.GetContainer("TEAMModelOS", "School").ReplaceItemAsync<SchoolTeacher>(schoolTeacher, schoolTeacher.id, new PartitionKey($"Teacher-{item.id}"));
+                                using var json = await JsonDocument.ParseAsync(resScTch.ContentStream);
+                                schoolTeacher = json.ToObject<SchoolTeacher>();
+                                if (!schoolTeacher.roles.Contains("admin"))
+                                {
+                                    schoolTeacher.roles.Add("admin");
+                                    schoolTeacher = await cosmosClient.GetContainer("TEAMModelOS", "School").ReplaceItemAsync<SchoolTeacher>(schoolTeacher, schoolTeacher.id, new PartitionKey($"Teacher-{item.id}"));
+                                }
+                                else
+                                    existsSc.Add(item);
                             }
                             }
                             else
                             else
-                                existsSc.Add(item);
-                        }
-                        else
-                        {
-                            schoolTeacher = new()
                             {
                             {
-                                id = $"{tmdId}",
-                                code = $"Teacher-{item.id}",
-                                roles = new List<string> { "admin", "teacher" },
-                                job = "管理员",
-                                name = $"{tmdName}",
-                                picture = string.IsNullOrEmpty($"{item.picture}") ? "" : $"{item.picture}",
-                                status = "join",
-                                createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
-                                pk = "Teacher",
-                                ttl = -1
-                            };
+                                schoolTeacher = new()
+                                {
+                                    id = $"{tmdId}",
+                                    code = $"Teacher-{item.id}",
+                                    roles = new List<string> { "admin", "teacher" },
+                                    job = "管理员",
+                                    name = $"{tmdName}",
+                                    picture = string.IsNullOrEmpty($"{item.picture}") ? "" : $"{item.picture}",
+                                    status = "join",
+                                    createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
+                                    pk = "Teacher",
+                                    ttl = -1
+                                };
+
+                                schoolTeacher = await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").CreateItemAsync<SchoolTeacher>(schoolTeacher, new PartitionKey($"Teacher-{item.id}"));
+                            }
 
 
-                            schoolTeacher = await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").CreateItemAsync<SchoolTeacher>(schoolTeacher, new PartitionKey($"Teacher-{item.id}"));
-                        }
+                            var existArea = teacher.schools.Find(f => f.schoolId.Equals($"{item.id}"));
+                            if (existArea == null)
+                            {
+                                teacher.schools.Add(new Teacher.TeacherSchool { schoolId = $"{item.id}", name = $"{item.name}", status = "join", time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), picture = string.IsNullOrEmpty($"{item.picture}") ? "" : $"{item.picture}", areaId = $"{areaId}" });
+                            }
 
 
-                        var existArea = teacher.schools.Find(f => f.schoolId.Equals($"{item.id}"));
-                        if (existArea == null)
-                        {
-                            teacher.schools.Add(new Teacher.TeacherSchool { schoolId = $"{item.id}", name = $"{item.name}", status = "join", time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), picture = string.IsNullOrEmpty($"{item.picture}") ? "" : $"{item.picture}", areaId = $"{areaId}" });
+                            strMsg.Append($"{item.name}【{item.id}】|");
                         }
                         }
-
-                        strMsg.Append($"{item.name}【{item.id}】|");
+                        else
+                            errorSc.Add(item);
                     }
                     }
 
 
                     teacher = await cosmosClient.GetContainer(Constant.TEAMModelOS, "Teacher").ReplaceItemAsync<Teacher>(teacher, teacher.id, new PartitionKey("Base"));
                     teacher = await cosmosClient.GetContainer(Constant.TEAMModelOS, "Teacher").ReplaceItemAsync<Teacher>(teacher, teacher.id, new PartitionKey("Base"));
@@ -336,8 +343,8 @@ namespace TEAMModelBI.Controllers.BINormal
             //保存操作记录
             //保存操作记录
             await AzureStorageBlobExtensions.SaveBILog(blobClient, tableClient, "schoolTeacher-add", strMsg.ToString(), _dingDing, httpContext: HttpContext);
             await AzureStorageBlobExtensions.SaveBILog(blobClient, tableClient, "schoolTeacher-add", strMsg.ToString(), _dingDing, httpContext: HttpContext);
 
 
-            if (existsArea != null || existsSc.Count > 0 )
-                return Ok(new { state = RespondCode.Created, teacher, existsArea, existsSc });
+            if (existsArea != null || existsSc.Count > 0 || errorSc.Count > 0)
+                return Ok(new { state = RespondCode.Created, teacher, existsArea, existsSc, errorSc });
             else
             else
                 return Ok(new { state = RespondCode.Ok, teacher });
                 return Ok(new { state = RespondCode.Ok, teacher });
         }
         }

+ 9 - 4
TEAMModelBI/Controllers/BISchool/SchoolController.cs

@@ -1949,11 +1949,10 @@ namespace TEAMModelBI.Controllers.BISchool
         public async Task<IActionResult> GetManageSclist(JsonElement jsonElement)
         public async Task<IActionResult> GetManageSclist(JsonElement jsonElement)
         {
         {
             if (!jsonElement.TryGetProperty("tmdId", out JsonElement tmdId)) return BadRequest();
             if (!jsonElement.TryGetProperty("tmdId", out JsonElement tmdId)) return BadRequest();
+            jsonElement.TryGetProperty("areaId", out JsonElement areaId);
 
 
             var cosmosClient = _azureCosmos.GetCosmosClient();
             var cosmosClient = _azureCosmos.GetCosmosClient();
-
             List<ManageScInfo> mScInfos = new();
             List<ManageScInfo> mScInfos = new();
-
             List<string> scIds = new();
             List<string> scIds = new();
 
 
             string mScSql = $"SELECT value(REPLACE(c.code, 'Teacher-', '')) FROM c where array_contains(c.roles,'admin',true) and c.pk='Teacher' and c.id='{tmdId}'";
             string mScSql = $"SELECT value(REPLACE(c.code, 'Teacher-', '')) FROM c where array_contains(c.roles,'admin',true) and c.pk='Teacher' and c.id='{tmdId}'";
@@ -1964,9 +1963,15 @@ namespace TEAMModelBI.Controllers.BISchool
 
 
             if (scIds.Count > 0)
             if (scIds.Count > 0)
             {
             {
-                string scInfoSql = $"select c.id,c.name,c.code,c.picture,c.region,c.province,c.city,c.dist from c ";
+                string scInfoSql = $"select c.id,c.name,c.code,c.picture,c.region,c.province,c.city,c.dist,c.areaId from c ";
                 string idSql = BICommonWay.ManyScSql("c.id", scIds);
                 string idSql = BICommonWay.ManyScSql("c.id", scIds);
-                mScInfos = await CommonFind.GetObject<ManageScInfo>(cosmosClient, "School", $"{scInfoSql} where {idSql}", "Base");
+                string scSql = $"{scInfoSql} where {idSql}";
+                if (!string.IsNullOrEmpty($"{areaId}")) 
+                {
+                    scSql = $"{scInfoSql} where {idSql} and c.areaId='{areaId}'";
+                }
+
+                mScInfos = await CommonFind.GetObject<ManageScInfo>(cosmosClient, "School", scSql, "Base");
             }
             }
 
 
             return Ok(new { state = RespondCode.Ok, mScInfos });
             return Ok(new { state = RespondCode.Ok, mScInfos });

+ 1 - 0
TEAMModelBI/Models/AssistSchool.cs

@@ -122,6 +122,7 @@ namespace TEAMModelBI.Models
         public string province { get; set; }
         public string province { get; set; }
         public string city { get; set; }
         public string city { get; set; }
         public string dist { get; set; }
         public string dist { get; set; }
+        public string areaId { get; set; }
     }
     }
 
 
 }
 }

+ 3 - 3
TEAMModelBI/TEAMModelBI.csproj

@@ -39,9 +39,9 @@
 		<SpaRoot>ClientApp\</SpaRoot>
 		<SpaRoot>ClientApp\</SpaRoot>
 		<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
 		<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
 		<UserSecretsId>078b5d89-7d90-4f6a-88fc-7d96025990a8</UserSecretsId>
 		<UserSecretsId>078b5d89-7d90-4f6a-88fc-7d96025990a8</UserSecretsId>
-		<Version>1.2208.25</Version>
-		<AssemblyVersion>1.2208.25.1</AssemblyVersion>
-		<FileVersion>1.2208.25.1</FileVersion>
+		<Version>1.2208.31</Version>
+		<AssemblyVersion>1.2208.31.1</AssemblyVersion>
+		<FileVersion>1.2208.31.1</FileVersion>
 		<Description>TEAMModelBI(BI)</Description>
 		<Description>TEAMModelBI(BI)</Description>
 		<PackageReleaseNotes>BI版本说明版本切换标记202200825</PackageReleaseNotes>
 		<PackageReleaseNotes>BI版本说明版本切换标记202200825</PackageReleaseNotes>
 		<PackageId>TEAMModelBI</PackageId>
 		<PackageId>TEAMModelBI</PackageId>

+ 5 - 0
TEAMModelOS.SDK/Models/Cosmos/BI/DingDingUserInfo.cs

@@ -123,5 +123,10 @@ namespace TEAMModelOS.SDK.Models.Cosmos.BI
         /// 学校列表
         /// 学校列表
         /// </summary>
         /// </summary>
         public string schoolIds { get; set; }
         public string schoolIds { get; set; }
+
+        /// <summary>
+        /// 是否禁用   0 禁用   1启用
+        /// </summary>
+        public long isDisable { get; set; } = 1;
     }
     }
 }
 }