|
@@ -566,13 +566,8 @@ namespace TEAMModelBI.Controllers.BISchool
|
|
|
List<string> assistId = _assistId.ToObject<List<string>>();
|
|
|
List<string> periodS = period.ToObject<List<string>>();
|
|
|
|
|
|
- SchoolAssist schoolAssist = new();
|
|
|
Dictionary<string, List<Dictionary<string, string>>> haveSchoolManger = new Dictionary<string, List<Dictionary<string, string>>>();
|
|
|
|
|
|
- //操作记录
|
|
|
- string blobOrTable = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
|
|
|
-
|
|
|
-
|
|
|
var cosmosClient = _azureCosmos.GetCosmosClient();
|
|
|
School tempShool = await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<School>($"{_schoolId}", new PartitionKey("Base"));
|
|
|
if (tempShool != null)
|
|
@@ -590,6 +585,30 @@ namespace TEAMModelBI.Controllers.BISchool
|
|
|
//修改学校
|
|
|
await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReplaceItemAsync<School>(tempShool, tempShool.id, new PartitionKey("Base"));
|
|
|
|
|
|
+ string sqlTxt = $"SELECT value(c) From c WHERE ARRAY_CONTAINS(c.roles,'assist',true)";
|
|
|
+
|
|
|
+ List<SchoolTeacher> schoolTeachers = new List<SchoolTeacher>();
|
|
|
+
|
|
|
+ await foreach (var item in cosmosClient.GetContainer("TEAMModelOS", "School").GetItemQueryIterator<SchoolTeacher>(queryText: sqlTxt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Teacher-{tempShool.id}") }))
|
|
|
+ {
|
|
|
+ if (!assistId.Contains(item.id))
|
|
|
+ {
|
|
|
+ if (item.roles.Contains("assist"))
|
|
|
+ {
|
|
|
+ item.roles.Remove("assist");
|
|
|
+ if (item.roles.Count > 0)
|
|
|
+ {
|
|
|
+ var tem = await cosmosClient.GetContainer("TEAMModelOS", "School").ReplaceItemAsync<SchoolTeacher>(item, item.id, new PartitionKey(item.code));
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var tems = await cosmosClient.GetContainer("TEAMModelOS", "School").DeleteItemAsync<SchoolTeacher>(item.id, new PartitionKey(item.code));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //bool temp = item.roles.Contains("assist");
|
|
|
+ }
|
|
|
+
|
|
|
if (assistId.Count > 0)
|
|
|
{
|
|
|
foreach (var itemTeacher in assistId)
|
|
@@ -601,7 +620,15 @@ namespace TEAMModelBI.Controllers.BISchool
|
|
|
if (haveTeacher != null)
|
|
|
{
|
|
|
//查询该教师是否存在该校
|
|
|
- SchoolTeacher schoolTeacher = await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<SchoolTeacher>($"{itemTeacher}", new PartitionKey($"Teacher-{tempShool.id}"));
|
|
|
+ SchoolTeacher schoolTeacher = null;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ schoolTeacher = await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<SchoolTeacher>($"{itemTeacher}", new PartitionKey($"Teacher-{tempShool.id}"));
|
|
|
+ }
|
|
|
+ catch
|
|
|
+ {
|
|
|
+ }
|
|
|
+
|
|
|
if (schoolTeacher != null)
|
|
|
{
|
|
|
if (!schoolTeacher.roles.Contains("assist"))
|
|
@@ -626,7 +653,7 @@ namespace TEAMModelBI.Controllers.BISchool
|
|
|
createTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
|
|
|
};
|
|
|
//添加学校顾问
|
|
|
- await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").CreateItemAsync<SchoolTeacher>(schoolTeacher, new PartitionKey($"Teacher-{tempShool.id}"));
|
|
|
+ await cosmosClient.GetContainer(Constant.TEAMModelOS, "School").CreateItemAsync<SchoolTeacher>(addSchoolTeacher, new PartitionKey($"Teacher-{tempShool.id}"));
|
|
|
}
|
|
|
}
|
|
|
else
|
|
@@ -664,53 +691,54 @@ namespace TEAMModelBI.Controllers.BISchool
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- schoolAssist.id = tempShool.id;
|
|
|
- schoolAssist.code = tempShool.code;
|
|
|
- schoolAssist.pk = tempShool.pk;
|
|
|
- schoolAssist.ttl = tempShool.ttl;
|
|
|
- schoolAssist.schoolCode = tempShool.schoolCode;
|
|
|
- schoolAssist.name = tempShool.name;
|
|
|
- schoolAssist.period = tempShool.period;
|
|
|
- schoolAssist.campuses = tempShool.campuses;
|
|
|
- schoolAssist.region = tempShool.region;
|
|
|
- schoolAssist.province = tempShool.province;
|
|
|
- schoolAssist.city = tempShool.city;
|
|
|
- schoolAssist.dist = tempShool.dist;
|
|
|
- schoolAssist.areaId = tempShool.areaId;
|
|
|
- schoolAssist.size = tempShool.size;
|
|
|
- schoolAssist.address = tempShool.address;
|
|
|
- schoolAssist.picture = tempShool.picture;
|
|
|
- schoolAssist.timeZone = tempShool.timeZone;
|
|
|
- schoolAssist.type = tempShool.type;
|
|
|
- schoolAssist.standard = tempShool.standard;
|
|
|
- schoolAssist.hpappraise = tempShool.hpappraise;
|
|
|
-
|
|
|
- List<Assist> assists = new List<Assist>();
|
|
|
- //查询学校的顾问
|
|
|
- string managerSql = $"SELECT DISTINCT REPLACE(c.code, 'Teacher-', '') AS schoolId, c.id, c.name FROM c WHERE ARRAY_CONTAINS(c.roles, 'assist', true) AND c.pk = 'Teacher' AND c.status = 'join' AND c.code = 'Teacher-{tempShool.id}'";
|
|
|
- var cosmosClent = _azureCosmos.GetCosmosClient();
|
|
|
- await foreach (var item in cosmosClent.GetContainer(Constant.TEAMModelOS, "School").GetItemQueryStreamIterator(queryText: managerSql, requestOptions: new QueryRequestOptions() { }))
|
|
|
- {
|
|
|
- using var json = await JsonDocument.ParseAsync(item.ContentStream);
|
|
|
- foreach (var obj in json.RootElement.GetProperty("Documents").EnumerateArray())
|
|
|
- {
|
|
|
- Assist assist = new Assist
|
|
|
- {
|
|
|
- tmdId = obj.GetProperty("id").GetString(),
|
|
|
- tmdName = obj.GetProperty("name").GetString()
|
|
|
- };
|
|
|
- assists.Add(assist);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- schoolAssist.assists = assists;
|
|
|
+ //SchoolAssist schoolAssist = new();
|
|
|
+ //schoolAssist.id = tempShool.id;
|
|
|
+ //schoolAssist.code = tempShool.code;
|
|
|
+ //schoolAssist.pk = tempShool.pk;
|
|
|
+ //schoolAssist.ttl = tempShool.ttl;
|
|
|
+ //schoolAssist.schoolCode = tempShool.schoolCode;
|
|
|
+ //schoolAssist.name = tempShool.name;
|
|
|
+ //schoolAssist.period = tempShool.period;
|
|
|
+ //schoolAssist.campuses = tempShool.campuses;
|
|
|
+ //schoolAssist.region = tempShool.region;
|
|
|
+ //schoolAssist.province = tempShool.province;
|
|
|
+ //schoolAssist.city = tempShool.city;
|
|
|
+ //schoolAssist.dist = tempShool.dist;
|
|
|
+ //schoolAssist.areaId = tempShool.areaId;
|
|
|
+ //schoolAssist.size = tempShool.size;
|
|
|
+ //schoolAssist.address = tempShool.address;
|
|
|
+ //schoolAssist.picture = tempShool.picture;
|
|
|
+ //schoolAssist.timeZone = tempShool.timeZone;
|
|
|
+ //schoolAssist.type = tempShool.type;
|
|
|
+ //schoolAssist.standard = tempShool.standard;
|
|
|
+ //schoolAssist.hpappraise = tempShool.hpappraise;
|
|
|
+
|
|
|
+ //List<Assist> assists = new List<Assist>();
|
|
|
+ ////查询学校的顾问
|
|
|
+ //string managerSql = $"SELECT DISTINCT REPLACE(c.code, 'Teacher-', '') AS schoolId, c.id, c.name FROM c WHERE ARRAY_CONTAINS(c.roles, 'assist', true) AND c.pk = 'Teacher' AND c.status = 'join' AND c.code = 'Teacher-{tempShool.id}'";
|
|
|
+ //var cosmosClent = _azureCosmos.GetCosmosClient();
|
|
|
+ //await foreach (var item in cosmosClent.GetContainer(Constant.TEAMModelOS, "School").GetItemQueryStreamIterator(queryText: managerSql, requestOptions: new QueryRequestOptions() { }))
|
|
|
+ //{
|
|
|
+ // using var json = await JsonDocument.ParseAsync(item.ContentStream);
|
|
|
+ // foreach (var obj in json.RootElement.GetProperty("Documents").EnumerateArray())
|
|
|
+ // {
|
|
|
+ // Assist assist = new Assist
|
|
|
+ // {
|
|
|
+ // tmdId = obj.GetProperty("id").GetString(),
|
|
|
+ // tmdName = obj.GetProperty("name").GetString()
|
|
|
+ // };
|
|
|
+ // assists.Add(assist);
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
+ //schoolAssist.assists = assists;
|
|
|
}
|
|
|
|
|
|
//保存操作记录
|
|
|
await _azureStorage.SaveLog("TeacherRoles-update", $"{_tmdName}【{_tmdId}】修改学校功能,修改的学校:{_schoolId},{string.Join("|", periodS.ToArray())},{picture},{size},{string.Join("|", assistId.ToArray())}", _dingDing, httpContext: HttpContext);
|
|
|
|
|
|
|
|
|
- return Ok(new { state = 200, schoolAssist });
|
|
|
+ return Ok(new { state = 200 });
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|