|
@@ -119,6 +119,7 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
List<CourseBaseImport> courseBaseImports = _courseBaseImports.ToObject<List<CourseBaseImport>>();
|
|
|
foreach (var courseBaseImport in courseBaseImports)
|
|
|
{
|
|
|
+ string courseId = "";
|
|
|
courseBaseImport.courseBase.pk = "CourseBase";
|
|
|
courseBaseImport.courseBase.scope = "school";
|
|
|
courseBaseImport.courseBase.school = school;
|
|
@@ -158,14 +159,76 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
if (courseBaseImport.courseBase?.gradeId != -1) {
|
|
|
courseBaseDb.gradeId = courseBaseImport.courseBase.gradeId;
|
|
|
}
|
|
|
+ courseId = courseBaseDb.id;
|
|
|
courseBaseDb = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReplaceItemAsync(courseBaseDb, courseBaseDb.id, new PartitionKey(courseBaseDb.code));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
courseBaseImport.courseBase.id= Guid.NewGuid().ToString();
|
|
|
+ courseId = courseBaseImport.courseBase.id;
|
|
|
courseBaseDb = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).CreateItemAsync(courseBaseImport.courseBase, new PartitionKey(courseBaseImport.courseBase.code));
|
|
|
}
|
|
|
}
|
|
|
+ if (courseBaseImport.courseTasks.IsNotEmpty()) {
|
|
|
+ foreach (var task in courseBaseImport.courseTasks) {
|
|
|
+ if (!string.IsNullOrWhiteSpace(task.semesterId) && task.year > 2010)
|
|
|
+ {
|
|
|
+ string taskId = $"{task.year}-{task.semesterId}";
|
|
|
+ string code = $"CourseTask-{school}-{courseId}";
|
|
|
+ Azure.Response response = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReadItemStreamAsync(taskId, new PartitionKey(code));
|
|
|
+ CourseTask courseTask = null;
|
|
|
+ if (response.Status == 200)
|
|
|
+ {
|
|
|
+ var doc = JsonDocument.Parse(response.Content);
|
|
|
+ courseTask = doc.RootElement.Deserialize<CourseTask>();
|
|
|
+ courseTask.courseId = courseId;
|
|
|
+ if (courseTask.schedules.IsNotEmpty())
|
|
|
+ {
|
|
|
+ if (task.schedules.IsNotEmpty()) {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ courseTask.schedules = task.schedules.IsNotEmpty() ? task.schedules : new List<ScheduleTask>() ;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ courseTask = new CourseTask
|
|
|
+ {
|
|
|
+ id = taskId,
|
|
|
+ code = code,
|
|
|
+ expire = -1,
|
|
|
+ weekCount = -1,
|
|
|
+ timeCount = -1,
|
|
|
+ semesterId = task.semesterId,
|
|
|
+ year = task.year,
|
|
|
+ courseId = courseId,
|
|
|
+ ttl = -1,
|
|
|
+ pk = "CourseTask",
|
|
|
+ schedules = task.schedules.IsNotEmpty() ? task.schedules : new List<ScheduleTask>()
|
|
|
+ };
|
|
|
+ }
|
|
|
+ //到期时间正常访问
|
|
|
+ if (task.expire == -1 || courseTask.expire > 1259510400000)
|
|
|
+ {
|
|
|
+ courseTask.expire = task.expire;
|
|
|
+ }
|
|
|
+ if (task.weekCount > 0)
|
|
|
+ {
|
|
|
+ courseTask.weekCount = task.weekCount;
|
|
|
+ }
|
|
|
+ if (task.timeCount > 0)
|
|
|
+ {
|
|
|
+ courseTask.timeCount = task.timeCount;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return Ok(new {code =1,msg="学期或学年设置错误!" });
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
break;
|
|
|
}
|