|
@@ -95,7 +95,21 @@ namespace TEAMModelOS.Controllers.Third
|
|
|
_httpTrigger = httpTrigger;
|
|
|
_environment = environment;
|
|
|
}
|
|
|
-
|
|
|
+ /// <summary>
|
|
|
+ /// 检查醍摩豆id存在多个学校的情况
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="request"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [ProducesDefaultResponseType]
|
|
|
+ [HttpPost("sc/delete-school-teacher")]
|
|
|
+ [AllowAnonymous]
|
|
|
+ public async Task<IActionResult> DeleteSchoolTeacher(JsonElement request) {
|
|
|
+ List<ScSchool> delScSchool = await _azureStorage.FindListByDict<ScSchool>(new Dictionary<string, object>() { { "PartitionKey", "ScSchool" }, { "areaId", "99a4a33b-e21b-44ac-80a1-b31dc40496e0" } });
|
|
|
+ await _azureStorage.DeleteAll(delScSchool);
|
|
|
+ List<ScTeacher> delScTeacher = await _azureStorage.FindListByDict<ScTeacher>(new Dictionary<string, object>() { { "PartitionKey", "ScTeacher" }, { "areaId", "99a4a33b-e21b-44ac-80a1-b31dc40496e0" } });
|
|
|
+ await _azureStorage.DeleteAll(delScTeacher);
|
|
|
+ return Ok(request);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
@@ -107,10 +121,6 @@ namespace TEAMModelOS.Controllers.Third
|
|
|
[HttpPost("sc/get-project-school-teacher")]
|
|
|
[AllowAnonymous]
|
|
|
public async Task<IActionResult> GetProjectSchoolTeacher(JsonElement request) {
|
|
|
- List<ScSchool > delScSchool = await _azureStorage.FindListByDict<ScSchool>(new Dictionary<string, object>() { { "PartitionKey", "ScSchool" },{ "areaId", "99a4a33b-e21b-44ac-80a1-b31dc40496e0" } });
|
|
|
- await _azureStorage.DeleteAll(delScSchool);
|
|
|
- List <ScTeacher> delScTeacher = await _azureStorage.FindListByDict<ScTeacher>(new Dictionary<string, object>() { { "PartitionKey", "ScTeacher" }, { "areaId", "99a4a33b-e21b-44ac-80a1-b31dc40496e0" } });
|
|
|
- await _azureStorage.DeleteAll(delScTeacher);
|
|
|
if (!request.TryGetProperty("accessConfig", out JsonElement accessConfig)) return BadRequest();
|
|
|
if (!request.TryGetProperty("ignoreSchools", out JsonElement ignoreSchools)) return BadRequest();
|
|
|
if (!request.TryGetProperty("city", out JsonElement city)) return BadRequest();
|
|
@@ -181,9 +191,17 @@ namespace TEAMModelOS.Controllers.Third
|
|
|
x.areaId = $"{areaId}";
|
|
|
x.city = $"{city}";
|
|
|
x.dist = $"{dist}";
|
|
|
- if (string.IsNullOrEmpty(x.schoolCode))
|
|
|
+ var a = ignore.Find(z => z.name.Equals(x.schoolname));
|
|
|
+ if (a != null)
|
|
|
+ {
|
|
|
+ x.schoolCode = a.id;
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- schoolDatas.Add(new SchoolData { uid = $"{x.schoolid}", province = "四川省", city = $"{city}", name = x.schoolname });
|
|
|
+ if (string.IsNullOrEmpty(x.schoolCode))
|
|
|
+ {
|
|
|
+ schoolDatas.Add(new SchoolData { uid = $"{x.schoolid}", province = "四川省", city = $"{city}", name = x.schoolname });
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
|
|
@@ -331,6 +349,7 @@ namespace TEAMModelOS.Controllers.Third
|
|
|
List<ScTeacher> teachers = new();
|
|
|
// Table获取的学生
|
|
|
List<ScTeacher> areaTeacher = new();
|
|
|
+ List<ScTeacher> repeat = new();
|
|
|
// 5.3.1.2获取学员名单
|
|
|
(status, json) = await _httpTrigger.RequestHttpTrigger(dict, _option.Location, "GetTeachersListByProject");
|
|
|
if (status == 200)
|
|
@@ -378,7 +397,7 @@ namespace TEAMModelOS.Controllers.Third
|
|
|
if (binds.IsNotEmpty()) {
|
|
|
List<ScTeacher> update = new List<ScTeacher>();
|
|
|
binds.ForEach(x => {
|
|
|
- var exs= unbindtmdid.FindAll(z => z.TID.Equals(x.userid));
|
|
|
+ var exs= unbindtmdid.FindAll(z => $"{z.TID}".Equals(x.userid));
|
|
|
if (exs.IsNotEmpty()) {
|
|
|
exs.ForEach(y => {
|
|
|
y.tmdid = x.id;
|
|
@@ -386,7 +405,19 @@ namespace TEAMModelOS.Controllers.Third
|
|
|
update.AddRange(exs);
|
|
|
}
|
|
|
});
|
|
|
- update = await _azureStorage.SaveOrUpdateAll(update);
|
|
|
+ var group= update.GroupBy(x => x.RowKey).Select(z=>new { z.Key ,list= z.ToList()});
|
|
|
+ List<ScTeacher> scTeachers = new();
|
|
|
+ group.ToList().ForEach(x => {
|
|
|
+ if (x.list.Count() == 1)
|
|
|
+ {
|
|
|
+ scTeachers.Add(x.list[0]);
|
|
|
+ }
|
|
|
+ else if(x.list.Count>1) {
|
|
|
+ scTeachers.Add(x.list[0]);
|
|
|
+ repeat.AddRange(x.list);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ scTeachers = await _azureStorage.SaveOrUpdateAll(scTeachers);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -407,7 +438,7 @@ namespace TEAMModelOS.Controllers.Third
|
|
|
{
|
|
|
|
|
|
binds.ForEach(x => {
|
|
|
- var exs = teachers.FindAll(z => z.TID.Equals(x.userid));
|
|
|
+ var exs = teachers.FindAll(z => $"{z.TID}".Equals(x.userid));
|
|
|
if (exs.IsNotEmpty())
|
|
|
{
|
|
|
exs.ForEach(y => {
|
|
@@ -417,7 +448,20 @@ namespace TEAMModelOS.Controllers.Third
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- teachers = await _azureStorage.SaveAll(teachers);
|
|
|
+ var group = teachers.GroupBy(x => x.RowKey).Select(z => new { z.Key, list = z.ToList() });
|
|
|
+ List<ScTeacher> scTeachers = new();
|
|
|
+ group.ToList().ForEach(x => {
|
|
|
+ if (x.list.Count() == 1)
|
|
|
+ {
|
|
|
+ scTeachers.Add(x.list[0]);
|
|
|
+ }
|
|
|
+ else if (x.list.Count > 1)
|
|
|
+ {
|
|
|
+ scTeachers.Add(x.list[0]);
|
|
|
+ repeat.AddRange(x.list);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ scTeachers = await _azureStorage.SaveOrUpdateAll(scTeachers);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -429,7 +473,8 @@ namespace TEAMModelOS.Controllers.Third
|
|
|
schoolsfailed,
|
|
|
failedmsg,
|
|
|
schoolsScucess,
|
|
|
- tbsch= tbschools.Select(x=>new { x.schoolname,x.schoolCode})
|
|
|
+ tbsch= tbschools.Select(x=>new { x.schoolname,x.schoolCode}),
|
|
|
+ repeat
|
|
|
});
|
|
|
}
|
|
|
public class DbBind{
|