|
@@ -45,47 +45,21 @@ namespace TEAMModelOS.SDK
|
|
|
/// </summary>
|
|
|
public const string TeacherExamLite = "TeacherExamLite";
|
|
|
|
|
|
- public static async Task SendServiceBus(List<(string standard, string tmdid, string school, List<string> update, int statistics)> list, IConfiguration _configuration, AzureServiceBusFactory _serviceBus) {
|
|
|
- //List<ServiceBusMessage> serviceBusMessages = new List<ServiceBusMessage>();
|
|
|
- //list.ForEach(x => {
|
|
|
- // if (x.update.IsNotEmpty()) {
|
|
|
- // TeacherTrainChange change = new TeacherTrainChange
|
|
|
- // {
|
|
|
- // standard = x.standard,
|
|
|
- // tmdid = x.tmdid,
|
|
|
- // school = x.school,
|
|
|
- // update = new HashSet<string>(x.update),
|
|
|
- // statistics = x.statistics
|
|
|
- // };
|
|
|
- // var messageChange = new ServiceBusMessage(change.ToJsonString());
|
|
|
- // messageChange.ApplicationProperties.Add("name", "TeacherTrainChange");
|
|
|
- // serviceBusMessages.Add(messageChange);
|
|
|
- // }
|
|
|
- //});
|
|
|
-
|
|
|
- //if (serviceBusMessages.IsNotEmpty()) {
|
|
|
- // var ActiveTask = _configuration.GetValue<string>("Azure:ServiceBus:ActiveTask");
|
|
|
- // await _serviceBus.GetServiceBusClient().SendBatchMessageAsync(ActiveTask, serviceBusMessages);
|
|
|
- //}
|
|
|
+ public static async Task SendServiceBus((string standard, List<string> tmdids, string school, List<string> update, int statistics)list, IConfiguration _configuration, AzureServiceBusFactory _serviceBus) {
|
|
|
var ActiveTask = _configuration.GetValue<string>("Azure:ServiceBus:ActiveTask");
|
|
|
- foreach (var x in list)
|
|
|
- {
|
|
|
- if (x.update.IsNotEmpty())
|
|
|
+ if (list.tmdids.IsNotEmpty() && list.update.IsNotEmpty()) {
|
|
|
+ TeacherTrainChange change = new TeacherTrainChange
|
|
|
{
|
|
|
- TeacherTrainChange change = new TeacherTrainChange
|
|
|
- {
|
|
|
- standard = x.standard,
|
|
|
- tmdid = x.tmdid,
|
|
|
- school = x.school,
|
|
|
- update = new HashSet<string>(x.update),
|
|
|
- statistics = x.statistics
|
|
|
- };
|
|
|
- var messageChange = new ServiceBusMessage(change.ToJsonString());
|
|
|
- messageChange.ApplicationProperties.Add("name", "TeacherTrainChange");
|
|
|
- await _serviceBus.GetServiceBusClient().SendMessageAsync(ActiveTask, messageChange);
|
|
|
- }
|
|
|
+ standard = list.standard,
|
|
|
+ tmdids = list.tmdids,
|
|
|
+ school = list.school,
|
|
|
+ update = new HashSet<string>(list.update),
|
|
|
+ statistics = list.statistics
|
|
|
+ };
|
|
|
+ var messageChange = new ServiceBusMessage(change.ToJsonString());
|
|
|
+ messageChange.ApplicationProperties.Add("name", "TeacherTrainChange");
|
|
|
+ await _serviceBus.GetServiceBusClient().SendMessageAsync(ActiveTask, messageChange);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
public static async Task GetAreaAndAreaSetting( string schoolId, string _standard, CosmosClient client, HttpContext httpContext)
|
|
@@ -103,7 +77,6 @@ namespace TEAMModelOS.SDK
|
|
|
//优先找校级
|
|
|
school = await client.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<School>(schoolId, new PartitionKey("Base"));
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
public static async Task<List<(List<TeacherTrain> trains, List<RGroupList> yxtrain)>> StatisticsArea(AreaSetting setting, Area area, CosmosClient client, DingDing _dingDing, HashSet<string> updates)
|
|
|
{
|
|
@@ -144,11 +117,11 @@ namespace TEAMModelOS.SDK
|
|
|
if (updates != null) {
|
|
|
foreach (var up in updates)
|
|
|
{
|
|
|
- trains.ForEach(x => x.updateProperty.Add(up));
|
|
|
+ trains.ForEach(x => x.update.Add(up));
|
|
|
}
|
|
|
}
|
|
|
- var update = trains.FindAll(x => x.updateProperty.Count() > 0);
|
|
|
- var noupdate = trains.FindAll(x => x.updateProperty.Count() <=0);
|
|
|
+ var update = trains.FindAll(x => x.update.Count() > 0);
|
|
|
+ var noupdate = trains.FindAll(x => x.update.Count() <=0);
|
|
|
|
|
|
var unStatistics = members.Select(x => x.id).Except(trains.Select(x => x.id));
|
|
|
List<TeacherTrain> teacherTrains = new List<TeacherTrain>();
|
|
@@ -168,7 +141,7 @@ namespace TEAMModelOS.SDK
|
|
|
name = member.name,
|
|
|
picture=member.picture,
|
|
|
school = school,
|
|
|
- updateProperty = new HashSet<string> { TeacherAility,TeacherClass,OfflineRecord }
|
|
|
+ update = new HashSet<string> { TeacherAility,TeacherClass,OfflineRecord }
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -187,12 +160,18 @@ namespace TEAMModelOS.SDK
|
|
|
{
|
|
|
returnTrains.AddRange(noupdate);
|
|
|
}
|
|
|
+ //移除不在研修名单的人员
|
|
|
+ returnTrains.RemoveAll(x => !members.Select(y => y.id).Contains(x.id));
|
|
|
returnTrains.ForEach(x => {
|
|
|
var mbm= members.Find(y => y.id.Equals(x.id));
|
|
|
- x.groupName = mbm?.groupName;
|
|
|
- x.name = mbm?.name;
|
|
|
- x.picture = mbm?.picture;
|
|
|
+ if (mbm != null)
|
|
|
+ {
|
|
|
+ x.groupName = mbm?.groupName;
|
|
|
+ x.name = mbm?.name;
|
|
|
+ x.picture = mbm?.picture;
|
|
|
+ }
|
|
|
});
|
|
|
+
|
|
|
return (returnTrains, yxtrain);
|
|
|
}
|
|
|
private static async Task<List<TeacherTrain>> GetStatisticsTeacher(List<TeacherTrain> trains, AreaSetting setting, Area area, CosmosClient client, List<Study> studies)
|
|
@@ -224,9 +203,9 @@ namespace TEAMModelOS.SDK
|
|
|
string _tmdid = train.tmdid;
|
|
|
// TeacherTrain teacher_train = null;
|
|
|
List<Task<TeacherTrain>> teachers = new List<Task<TeacherTrain>>();
|
|
|
- if (train.updateProperty.Count > 0) {
|
|
|
- foreach (string property in train.updateProperty) {
|
|
|
- teachers.Add(DoProperty(train.updateProperty, property, setting, area, client, train,studies));
|
|
|
+ if (train.update.Count > 0) {
|
|
|
+ foreach (string property in train.update) {
|
|
|
+ teachers.Add(DoProperty(train.update, property, setting, area, client, train,studies));
|
|
|
}
|
|
|
int pagesize = 50;
|
|
|
if (teachers.Count <= pagesize)
|
|
@@ -275,27 +254,27 @@ namespace TEAMModelOS.SDK
|
|
|
switch (property) {
|
|
|
case TeacherAility:
|
|
|
train = await DoTeacherAility(train, setting, area, client, _school, _tmdid);
|
|
|
- train.updateProperty.Remove(TeacherAility);
|
|
|
+ train.update.Remove(TeacherAility);
|
|
|
break;
|
|
|
//课堂实录更新
|
|
|
case TeacherClass:
|
|
|
train = await DoTeacherClass(train, setting, area, client, _school, _tmdid);
|
|
|
- train.updateProperty.Remove(TeacherClass);
|
|
|
+ train.update.Remove(TeacherClass);
|
|
|
break;
|
|
|
//线下研修
|
|
|
case OfflineRecord:
|
|
|
train = await DoOfflineRecord(train, setting, area, client, _school, _tmdid,studies);
|
|
|
- train.updateProperty.Remove(OfflineRecord);
|
|
|
+ train.update.Remove(OfflineRecord);
|
|
|
break;
|
|
|
//投票
|
|
|
case TeacherVote:
|
|
|
train = await DoTeacherVote(train, setting, area, client, _school, _tmdid);
|
|
|
- train.updateProperty.Remove(TeacherVote);
|
|
|
+ train.update.Remove(TeacherVote);
|
|
|
break;
|
|
|
//问卷
|
|
|
case TeacherSurvey:
|
|
|
train = await DoTeacherSurvey(train, setting, area, client, _school, _tmdid);
|
|
|
- train.updateProperty.Remove(TeacherSurvey);
|
|
|
+ train.update.Remove(TeacherSurvey);
|
|
|
break;
|
|
|
//作业
|
|
|
//case TeacherHomework:
|
|
@@ -305,10 +284,10 @@ namespace TEAMModelOS.SDK
|
|
|
//评测
|
|
|
case TeacherExamLite:
|
|
|
train = await DoTeacherExamLite(train, setting, area, client, _school, _tmdid);
|
|
|
- train.updateProperty.Remove(TeacherExamLite);
|
|
|
+ train.update.Remove(TeacherExamLite);
|
|
|
break;
|
|
|
default:
|
|
|
- train.updateProperty.Remove(property);
|
|
|
+ train.update.Remove(property);
|
|
|
break;
|
|
|
}
|
|
|
return train;
|