using Azure.Cosmos; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TEAMModelOS.SDK.DI; using TEAMModelOS.SDK.Models.Cosmos; using TEAMModelOS.SDK.Models.Cosmos.BI.BISchool; namespace TEAMModelOS.SDK.Models.Service.BI { public static class BISchoolService { /// /// 更新版本信息 /// /// /// /// /// public static async Task UpSchoolEdition(CosmosClient cosmosClient, DingDing _dingDing, List server, string id) { try { School school = await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync(id, new PartitionKey("Base")); int edition = 0; if (school.size <= 100 && school.scale == 0) { edition = 1; } else if (school.size >= 300 && school.scale >= 500 && server.Contains("YMPCVCIM")) { edition = 2; } else if (school.size >= 300 && school.scale >= 1000 && server.Contains("YMPCVCIM") && server.Count > 2) { edition = 3; } if (edition == 0) { edition = 1; } if (school.edition != null) { school.edition.current = edition; if (school.edition.record < edition) { school.edition.record = edition; } } else { Edition tempEdition = new() { current = edition, record = edition }; school.edition = tempEdition; } await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReplaceItemAsync(school, id, new PartitionKey("Base")); BIRelation biRel = await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync(id, new PartitionKey("BIRel")); biRel.edition = school.edition; await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReplaceItemAsync(biRel, id, new PartitionKey("BIRel")); } catch (Exception ex) { _ = _dingDing.SendBotMsg($"BI, UpSchoolEdition() \n{ex.Message}\n{ex.StackTrace}\n", GroupNames.成都开发測試群組); } } } }