|
@@ -21,6 +21,7 @@ using System.Linq;
|
|
|
using StackExchange.Redis;
|
|
|
using static TEAMModelOS.SDK.Models.Teacher;
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
+using TEAMModelOS.Filter;
|
|
|
|
|
|
namespace TEAMModelOS.Controllers
|
|
|
{
|
|
@@ -51,6 +52,54 @@ namespace TEAMModelOS.Controllers
|
|
|
_configuration = configuration;
|
|
|
}
|
|
|
/// <summary>
|
|
|
+ /// 修改教师信息
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="request"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [ProducesDefaultResponseType]
|
|
|
+ [HttpPost("set-school-info")]
|
|
|
+ [AuthToken(Roles = "admin", Permissions = "train-appraise")]
|
|
|
+
|
|
|
+ public async Task<IActionResult> SetTeacherInfo(JsonElement request)
|
|
|
+ {
|
|
|
+ var client = _azureCosmos.GetCosmosClient();
|
|
|
+
|
|
|
+ if (!request.TryGetProperty("opt", out JsonElement _opt))
|
|
|
+ {
|
|
|
+ return BadRequest();
|
|
|
+ }
|
|
|
+ var (userid, name, _, school) = HttpContext.GetAuthTokenInfo();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ SchoolTeacher teacher = await client.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<SchoolTeacher>(userid, new PartitionKey($"Teacher-{school}"));
|
|
|
+ switch (true)
|
|
|
+ {
|
|
|
+ //修改互评开关
|
|
|
+ case bool when $"{_opt}".Equals("modify-hpappraise", StringComparison.OrdinalIgnoreCase) :
|
|
|
+ int hpappraise =-1;
|
|
|
+ if (!request.TryGetProperty("hpappraise", out JsonElement _hpappraise)) {
|
|
|
+ int.TryParse($"{_hpappraise}",out hpappraise);
|
|
|
+ }
|
|
|
+ if (hpappraise != -1) {
|
|
|
+
|
|
|
+ School schoolData = await client.GetContainer(Constant.TEAMModelOS, "School").ReadItemAsync<School>(school, new PartitionKey("Base"));
|
|
|
+ schoolData.hpappraise = hpappraise;
|
|
|
+ await client.GetContainer(Constant.TEAMModelOS, "School").ReplaceItemAsync<School>(schoolData,school, new PartitionKey("Base"));
|
|
|
+ }
|
|
|
+ return Ok(new { status=200});
|
|
|
+ default:
|
|
|
+ return Ok(new { error = 1, msg = "参数异常!" });
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ await _dingDing.SendBotMsg($"IES5,{_option.Location},Teacher/init/set-teacher-info()\n{ex.Message}{ex.StackTrace}{request.ToJsonString()}", GroupNames.醍摩豆服務運維群組);
|
|
|
+ return Ok(new { error=1,msg="参数异常!"});
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
/// 保存或更新学校
|
|
|
/// </summary>
|
|
|
/// <param name="request"></param>
|