|
@@ -373,6 +373,7 @@ namespace TEAMModelOS.Controllers
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
switch (true)
|
|
switch (true)
|
|
{
|
|
{
|
|
|
|
+ //创建活动
|
|
case bool when $"{grant_type}".Equals("create", StringComparison.OrdinalIgnoreCase):
|
|
case bool when $"{grant_type}".Equals("create", StringComparison.OrdinalIgnoreCase):
|
|
{
|
|
{
|
|
if (!request.TryGetProperty("Activity", out JsonElement _activity)) return Ok(new { code = 1, msg = "活动信息参数错误" });
|
|
if (!request.TryGetProperty("Activity", out JsonElement _activity)) return Ok(new { code = 1, msg = "活动信息参数错误" });
|
|
@@ -499,7 +500,7 @@ namespace TEAMModelOS.Controllers
|
|
return Ok(validResult);
|
|
return Ok(validResult);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ //删除活动
|
|
case bool when $"{grant_type}".Equals("delete", StringComparison.OrdinalIgnoreCase):
|
|
case bool when $"{grant_type}".Equals("delete", StringComparison.OrdinalIgnoreCase):
|
|
{
|
|
{
|
|
if (!request.TryGetProperty("activityId", out JsonElement _activityId)) return BadRequest();
|
|
if (!request.TryGetProperty("activityId", out JsonElement _activityId)) return BadRequest();
|
|
@@ -528,6 +529,7 @@ namespace TEAMModelOS.Controllers
|
|
return Ok(new { code = 1, msg = "活动不存在" });
|
|
return Ok(new { code = 1, msg = "活动不存在" });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //区级活动列表
|
|
case bool when $"{grant_type}".Equals("list-area", StringComparison.OrdinalIgnoreCase):
|
|
case bool when $"{grant_type}".Equals("list-area", StringComparison.OrdinalIgnoreCase):
|
|
{
|
|
{
|
|
if (!request.TryGetProperty("areaId", out JsonElement _areaId)) return BadRequest();
|
|
if (!request.TryGetProperty("areaId", out JsonElement _areaId)) return BadRequest();
|
|
@@ -540,6 +542,7 @@ namespace TEAMModelOS.Controllers
|
|
var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Common).GetList<Activity>(sql, "Activity");
|
|
var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Common).GetList<Activity>(sql, "Activity");
|
|
return Ok(new { activities = result.list.OrderByDescending(z => z.stime) });
|
|
return Ok(new { activities = result.list.OrderByDescending(z => z.stime) });
|
|
}
|
|
}
|
|
|
|
+ //校级活动列表
|
|
case bool when $"{grant_type}".Equals("list-school", StringComparison.OrdinalIgnoreCase):
|
|
case bool when $"{grant_type}".Equals("list-school", StringComparison.OrdinalIgnoreCase):
|
|
{
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(school)) {
|
|
if (!string.IsNullOrWhiteSpace(school)) {
|
|
@@ -627,6 +630,7 @@ namespace TEAMModelOS.Controllers
|
|
break;
|
|
break;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+ //教师活动列表
|
|
case bool when $"{grant_type}".Equals("list-teacher", StringComparison.OrdinalIgnoreCase):
|
|
case bool when $"{grant_type}".Equals("list-teacher", StringComparison.OrdinalIgnoreCase):
|
|
{
|
|
{
|
|
List<Activity> activities = new List<Activity>();
|
|
List<Activity> activities = new List<Activity>();
|
|
@@ -721,7 +725,7 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
return Ok(new { code = 200, contest, reviewRule });
|
|
return Ok(new { code = 200, contest, reviewRule });
|
|
}
|
|
}
|
|
- //获取评审的模板列表
|
|
|
|
|
|
+ //获取评审的模板列表
|
|
case bool when $"{grant_type}".Equals("rule-list", StringComparison.OrdinalIgnoreCase):
|
|
case bool when $"{grant_type}".Equals("rule-list", StringComparison.OrdinalIgnoreCase):
|
|
{
|
|
{
|
|
if (!request.TryGetProperty("owner", out JsonElement _owner)) return BadRequest();
|
|
if (!request.TryGetProperty("owner", out JsonElement _owner)) return BadRequest();
|
|
@@ -843,12 +847,89 @@ namespace TEAMModelOS.Controllers
|
|
return Ok(new { code = 1, msg = "活动不存在" });
|
|
return Ok(new { code = 1, msg = "活动不存在" });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ //邀请教师参加本次活动或移除教师参加活动
|
|
|
|
+ case bool when $"{grant_type}".Equals("invite-remove-teachers", StringComparison.OrdinalIgnoreCase):
|
|
|
|
+ {
|
|
|
|
+ if (!request.TryGetProperty("activityId", out JsonElement _activityId)) return BadRequest();
|
|
|
|
+ request.TryGetProperty("invite", out JsonElement _invite);
|
|
|
|
+ request.TryGetProperty("remove", out JsonElement _remove) ;
|
|
|
|
+ Azure.Response response = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Common).ReadItemStreamAsync(_activityId.GetString(), new PartitionKey("Activity"));
|
|
|
|
+ if (response.Status==200)
|
|
|
|
+ {
|
|
|
|
+ Activity activity = JsonDocument.Parse(response.Content).RootElement.ToObject<Activity>();
|
|
|
|
+ if (activity.joinMode.Equals("invite"))
|
|
|
|
+ {
|
|
|
|
+ var confirmedSchool = activity.confirmedSchools.Find(z => z.id.Equals(school) && z.status==1);
|
|
|
|
+ if (confirmedSchool!= null)
|
|
|
|
+ {
|
|
|
|
+ List<InviteTeachers> inviteTeachersInvalid = new List<InviteTeachers>();
|
|
|
|
+ List<InviteTeachers> removeTeachersInvalid = new List<InviteTeachers>();
|
|
|
|
+ ActivityTeacher activityTeacher = null;
|
|
|
|
+ Azure.Response activityTeacherResponse = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).ReadItemStreamAsync(activity.id, new PartitionKey("ActivityTeacher"));
|
|
|
|
+ if (activityTeacherResponse.Status==200)
|
|
|
|
+ {
|
|
|
|
+ activityTeacher = JsonDocument.Parse(activityTeacherResponse.Content).RootElement.ToObject<ActivityTeacher>();
|
|
|
|
+ }
|
|
|
|
+ if (activityTeacher==null) {
|
|
|
|
+ activityTeacher= new ActivityTeacher() { id= activity.id, code="ActivityTeacher",pk="ActivityTeacher" };
|
|
|
|
+ }
|
|
|
|
+ if (_invite.ValueKind.Equals(JsonValueKind.Array)) {
|
|
|
|
+ List<InviteTeachers> inviteTeachers = _invite.ToObject<List<InviteTeachers>>();
|
|
|
|
+ foreach (var invite in inviteTeachers) {
|
|
|
|
+ if (string.IsNullOrWhiteSpace(invite.school) || !invite.school.Equals(school)) {
|
|
|
|
+ inviteTeachersInvalid.Add(invite);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ var inviteTeacher= activityTeacher.inviteTeachers.Find(z => z.id.Equals(invite.id));
|
|
|
|
+ if (inviteTeacher==null)
|
|
|
|
+ {
|
|
|
|
+ activityTeacher.inviteTeachers.Add(invite);
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ inviteTeacher=invite;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (_remove.ValueKind.Equals(JsonValueKind.Array)) {
|
|
|
|
+ List<InviteTeachers> removeTeachers = _invite.ToObject<List<InviteTeachers>>();
|
|
|
|
+ foreach (var remove in removeTeachers)
|
|
|
|
+ {
|
|
|
|
+ if (string.IsNullOrWhiteSpace(remove.school) || !remove.school.Equals(school))
|
|
|
|
+ {
|
|
|
|
+ removeTeachersInvalid.Add(remove);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ activityTeacher.inviteTeachers.RemoveAll(z => remove.id.Equals(z.id));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ var teachers = activityTeacher.inviteTeachers.FindAll(z => z.school.Equals(school));
|
|
|
|
+ return Ok(new { inviteTeachers=teachers, inviteTeachersInvalid, removeTeachersInvalid });
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ return Ok(new { code = 2, msg = "学校未确认,暂不能邀请教师" });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ return Ok(new { code = 3, msg = "活动不是邀请制。" });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ return Ok(new { code = 1, msg = "活动不存在" });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //学校获取邀请的教师列表
|
|
|
|
+ case bool when $"{grant_type}".Equals("invited-teachers", StringComparison.OrdinalIgnoreCase): {
|
|
|
|
+ return Ok();
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
} catch (Exception ex)
|
|
} catch (Exception ex)
|
|
{
|
|
{
|
|
await _dingDing.SendBotMsg($"{ex.Message}\n{ex.StackTrace}",GroupNames.成都开发測試群組);
|
|
await _dingDing.SendBotMsg($"{ex.Message}\n{ex.StackTrace}",GroupNames.成都开发測試群組);
|
|
|
|
+ return Ok(new {code=500, msg =ex.Message });
|
|
}
|
|
}
|
|
return Ok();
|
|
return Ok();
|
|
}
|
|
}
|