|
@@ -21,12 +21,23 @@ namespace TEAMModelFunction
|
|
|
{
|
|
|
var query = $"SELECT distinct c.owner, c.id,c.code, c.classes,c.subjects,c.progress,c.scope,c.startTime,c.school,c.creatorId,c.name,c.pk ,c.endTime FROM c join A1 in c.classes where c.pk='{type}' and A1 in('{stuListChange.listid}') ";
|
|
|
List<MQActivity> datas = new List<MQActivity>();
|
|
|
- await foreach (var item in client.GetContainer("TEAMModelOS", "Common").GetItemQueryIterator<MQActivity>(queryText: query,
|
|
|
- requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"{type}-{stuListChange.originCode}") }))
|
|
|
+ if (stuListChange.scope.Equals("school", StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(stuListChange.school)) {
|
|
|
+ await foreach (var item in client.GetContainer("TEAMModelOS", "Common").GetItemQueryIterator<MQActivity>(queryText: query,
|
|
|
+ requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"{type}-{stuListChange.school}") }))
|
|
|
+ {
|
|
|
+ datas.Add(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ ///还要处理该学校每个老师发布的班级的
|
|
|
+ }
|
|
|
+ if (stuListChange.scope.Equals("private", StringComparison.OrdinalIgnoreCase)&&!string.IsNullOrEmpty(stuListChange.creatorId))
|
|
|
{
|
|
|
- datas.Add(item);
|
|
|
+ await foreach (var item in client.GetContainer("TEAMModelOS", "Common").GetItemQueryIterator<MQActivity>(queryText: query,
|
|
|
+ requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"{type}-{stuListChange.creatorId}") }))
|
|
|
+ {
|
|
|
+ datas.Add(item);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-StuListService-FixActivity\n名单发生变更 需要处理的活动\n{datas.ToJsonString()}", GroupNames.醍摩豆服務運維群組);
|
|
|
foreach (MQActivity activity in datas)
|
|
|
{
|
|
@@ -116,18 +127,18 @@ namespace TEAMModelFunction
|
|
|
//1.查找学校或教师的课程是否包含该名单的课程。
|
|
|
var query = $"select distinct c.code,c.id,c.no,c.name,c.scope, c.creatorId,c.school from c join A0 in c.schedule where A0.stulist = '{stuListChange.listid}'";
|
|
|
List<Course> courses = new List<Course>();
|
|
|
- if (stuListChange.scope.Equals("school"))
|
|
|
+ if (stuListChange.scope.Equals("school") && !string.IsNullOrEmpty(stuListChange.school))
|
|
|
{
|
|
|
await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryIterator<Course>(queryText: query,
|
|
|
- requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"Course-{stuListChange.originCode}") }))
|
|
|
+ requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"Course-{stuListChange.school}") }))
|
|
|
{
|
|
|
courses.Add(item);
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
+ if (stuListChange.scope.Equals("private") && !string.IsNullOrEmpty(stuListChange.creatorId))
|
|
|
{
|
|
|
await foreach (var item in client.GetContainer("TEAMModelOS", "Teacher").GetItemQueryIterator<Course>(queryText: query,
|
|
|
- requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"Course-{stuListChange.originCode}") }))
|
|
|
+ requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"Course-{stuListChange.creatorId}") }))
|
|
|
{
|
|
|
courses.Add(item);
|
|
|
}
|