|
@@ -24,6 +24,7 @@ using TEAMModelOS.Controllers.Both;
|
|
using System.Net.Http;
|
|
using System.Net.Http;
|
|
using System.Security;
|
|
using System.Security;
|
|
using Microsoft.Azure.Cosmos;
|
|
using Microsoft.Azure.Cosmos;
|
|
|
|
+using TEAMModelOS.SDK.Models.Dtos;
|
|
namespace TEAMModelOS.Controllers
|
|
namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
@@ -54,7 +55,7 @@ namespace TEAMModelOS.Controllers
|
|
_azureStorage = azureStorage;
|
|
_azureStorage = azureStorage;
|
|
_coreAPIHttpService = coreAPIHttpService;
|
|
_coreAPIHttpService = coreAPIHttpService;
|
|
_environment = environment;
|
|
_environment = environment;
|
|
- _azureRedis=azureRedis;
|
|
|
|
|
|
+ _azureRedis = azureRedis;
|
|
}
|
|
}
|
|
//学生获取自己已经加入的名单。
|
|
//学生获取自己已经加入的名单。
|
|
[ProducesDefaultResponseType]
|
|
[ProducesDefaultResponseType]
|
|
@@ -82,14 +83,14 @@ namespace TEAMModelOS.Controllers
|
|
memberType = 1;
|
|
memberType = 1;
|
|
}
|
|
}
|
|
List<GroupListGrp> groups = null;
|
|
List<GroupListGrp> groups = null;
|
|
- if (json.TryGetProperty("time", out JsonElement _time) && long.TryParse($"{_time}", out long time) && time>0)
|
|
|
|
|
|
+ if (json.TryGetProperty("time", out JsonElement _time) && long.TryParse($"{_time}", out long time) && time > 0)
|
|
{
|
|
{
|
|
- groups = await GroupListService.GetMemberInGroupList(_coreAPIHttpService, client, _dingDing, userid, memberType, school, new List<string> { "class", "teach" },time:time);
|
|
|
|
|
|
+ groups = await GroupListService.GetMemberInGroupList(_coreAPIHttpService, client, _dingDing, userid, memberType, school, new List<string> { "class", "teach" }, time: time);
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- groups = await GroupListService.GetMemberInGroupList(_coreAPIHttpService, client, _dingDing, userid, memberType, school, new List<string> { "class", "teach" });
|
|
|
|
|
|
+ groups = await GroupListService.GetMemberInGroupList(_coreAPIHttpService, client, _dingDing, userid, memberType, school, new List<string> { "class", "teach" });
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
return Ok(new { groups = groups });
|
|
return Ok(new { groups = groups });
|
|
}
|
|
}
|
|
[ProducesDefaultResponseType]
|
|
[ProducesDefaultResponseType]
|
|
@@ -106,24 +107,24 @@ namespace TEAMModelOS.Controllers
|
|
await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIteratorSql<GroupList>(queryText: queryNo,
|
|
await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "School").GetItemQueryIteratorSql<GroupList>(queryText: queryNo,
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"GroupList-{school}") }))
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"GroupList-{school}") }))
|
|
{
|
|
{
|
|
- groupList=item;
|
|
|
|
|
|
+ groupList = item;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (groupList==null) {
|
|
|
|
|
|
+ if (groupList == null) {
|
|
await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<GroupList>(queryText: queryNo,
|
|
await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<GroupList>(queryText: queryNo,
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"GroupList") }))
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"GroupList") }))
|
|
{
|
|
{
|
|
- groupList=item;
|
|
|
|
|
|
+ groupList = item;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (groupList!=null)
|
|
|
|
|
|
+ if (groupList != null)
|
|
{
|
|
{
|
|
- return Ok(new {code=200, nos = groupList.members.Select(x => x.irs),optNo= groupList.optNo , limitCount=groupList.limitCount});
|
|
|
|
|
|
+ return Ok(new { code = 200, nos = groupList.members.Select(x => x.irs), optNo = groupList.optNo, limitCount = groupList.limitCount });
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- return Ok(new {code=404, nos =new List<string>() , optNo =0, limitCount =0});
|
|
|
|
|
|
+ return Ok(new { code = 404, nos = new List<string>(), optNo = 0, limitCount = 0 });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -140,9 +141,9 @@ namespace TEAMModelOS.Controllers
|
|
json.TryGetProperty("school", out JsonElement school);
|
|
json.TryGetProperty("school", out JsonElement school);
|
|
json.TryGetProperty("courseId", out JsonElement _courseId);
|
|
json.TryGetProperty("courseId", out JsonElement _courseId);
|
|
int seatNo = 0;
|
|
int seatNo = 0;
|
|
- if (json.TryGetProperty("seatNo", out JsonElement _seatNo) ) {
|
|
|
|
|
|
+ if (json.TryGetProperty("seatNo", out JsonElement _seatNo)) {
|
|
if (int.TryParse($"{_seatNo}", out int __seatNo)) {
|
|
if (int.TryParse($"{_seatNo}", out int __seatNo)) {
|
|
- seatNo=__seatNo;
|
|
|
|
|
|
+ seatNo = __seatNo;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
@@ -172,17 +173,17 @@ namespace TEAMModelOS.Controllers
|
|
//创建账号并第一次登录IES5则默认赠送1G
|
|
//创建账号并第一次登录IES5则默认赠送1G
|
|
defaultSchool = null,
|
|
defaultSchool = null,
|
|
schools = new List<TmdUser.School>(),
|
|
schools = new List<TmdUser.School>(),
|
|
- lang= lang?.ToString(),
|
|
|
|
|
|
+ lang = lang?.ToString(),
|
|
};
|
|
};
|
|
await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Student").CreateItemAsync<TmdUser>(tmduser, new PartitionKey("Base"));
|
|
await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, "Student").CreateItemAsync<TmdUser>(tmduser, new PartitionKey("Base"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
int year = DateTimeOffset.UtcNow.Year;
|
|
int year = DateTimeOffset.UtcNow.Year;
|
|
- (int status, GroupList stuList, Member member) data = await GroupListService.CodeJoinList(client, _azureRedis, $"{_stuListNo}", id, type: 1, $"{school}", year, $"{name}", $"{picture}", $"{lang}", seatNo, $"{_courseId}","hita");
|
|
|
|
|
|
+ (int status, GroupList stuList, Member member) data = await GroupListService.CodeJoinList(client, _azureRedis, $"{_stuListNo}", id, type: 1, $"{school}", year, $"{name}", $"{picture}", $"{lang}", seatNo, $"{_courseId}", "hita");
|
|
//没有TmdUser时
|
|
//没有TmdUser时
|
|
if (data.status == 0)
|
|
if (data.status == 0)
|
|
{
|
|
{
|
|
- await GroupListService.UpsertList(data.stuList, _azureCosmos, _configuration, _serviceBus,_client: "hita");
|
|
|
|
|
|
+ await GroupListService.UpsertList(data.stuList, _azureCosmos, _configuration, _serviceBus, _client: "hita");
|
|
|
|
|
|
List<string> ids = new List<string>();
|
|
List<string> ids = new List<string>();
|
|
if (data.stuList.scope.Equals("private") && !string.IsNullOrEmpty(data.stuList.creatorId))
|
|
if (data.stuList.scope.Equals("private") && !string.IsNullOrEmpty(data.stuList.creatorId))
|
|
@@ -238,7 +239,7 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
if (!json.TryGetProperty("stuListNo", out JsonElement _stuListNo)) return BadRequest();
|
|
if (!json.TryGetProperty("stuListNo", out JsonElement _stuListNo)) return BadRequest();
|
|
var (userid, _name, _picture, school) = HttpContext.GetAuthTokenInfo();
|
|
var (userid, _name, _picture, school) = HttpContext.GetAuthTokenInfo();
|
|
-
|
|
|
|
|
|
+
|
|
int type = 0;
|
|
int type = 0;
|
|
string no = null;
|
|
string no = null;
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
@@ -261,8 +262,8 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
type = 1;
|
|
type = 1;
|
|
}
|
|
}
|
|
- int seatNo =0;
|
|
|
|
- (int status, GroupList stuList, Member member) data = await GroupListService.CodeJoinList(client, _azureRedis, $"{_stuListNo}", userid, type, school, year, _name, _picture, head_lang,seatNo,_client:"web");
|
|
|
|
|
|
+ int seatNo = 0;
|
|
|
|
+ (int status, GroupList stuList, Member member) data = await GroupListService.CodeJoinList(client, _azureRedis, $"{_stuListNo}", userid, type, school, year, _name, _picture, head_lang, seatNo, _client: "web");
|
|
if (data.status == 0)
|
|
if (data.status == 0)
|
|
{
|
|
{
|
|
|
|
|
|
@@ -408,9 +409,9 @@ namespace TEAMModelOS.Controllers
|
|
school = $"{schoolId}",
|
|
school = $"{schoolId}",
|
|
type = "class",
|
|
type = "class",
|
|
year = item.year,
|
|
year = item.year,
|
|
- expire=0,
|
|
|
|
|
|
+ expire = 0,
|
|
groupName = groupNames,
|
|
groupName = groupNames,
|
|
- scount= scount
|
|
|
|
|
|
+ scount = scount
|
|
};
|
|
};
|
|
groupLists.Add(group);
|
|
groupLists.Add(group);
|
|
}
|
|
}
|
|
@@ -456,7 +457,7 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return Ok(new { groupLists });
|
|
return Ok(new { groupLists });
|
|
- //弃用
|
|
|
|
|
|
+ //弃用
|
|
case bool when $"{opt}".Equals("teach", StringComparison.OrdinalIgnoreCase):
|
|
case bool when $"{opt}".Equals("teach", StringComparison.OrdinalIgnoreCase):
|
|
//我执教的
|
|
//我执教的
|
|
//从学校的课程和个人课程搜寻与我相关的课程对应的名单。
|
|
//从学校的课程和个人课程搜寻与我相关的课程对应的名单。
|
|
@@ -507,7 +508,7 @@ namespace TEAMModelOS.Controllers
|
|
scope = "school",
|
|
scope = "school",
|
|
school = $"{schoolId}",
|
|
school = $"{schoolId}",
|
|
type = "class",
|
|
type = "class",
|
|
- expire=0,
|
|
|
|
|
|
+ expire = 0,
|
|
year = item.year,
|
|
year = item.year,
|
|
groupName = groupNames
|
|
groupName = groupNames
|
|
};
|
|
};
|
|
@@ -597,7 +598,7 @@ namespace TEAMModelOS.Controllers
|
|
json.TryGetProperty("periodId", out JsonElement periodId);
|
|
json.TryGetProperty("periodId", out JsonElement periodId);
|
|
long nowtime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
|
long nowtime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
|
json.TryGetProperty("time", out JsonElement _time);
|
|
json.TryGetProperty("time", out JsonElement _time);
|
|
-
|
|
|
|
|
|
+
|
|
switch (true)
|
|
switch (true)
|
|
{
|
|
{
|
|
//我管理的
|
|
//我管理的
|
|
@@ -605,20 +606,20 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
List<GroupListGrp> groupLists = new List<GroupListGrp>();
|
|
List<GroupListGrp> groupLists = new List<GroupListGrp>();
|
|
var authData = HttpContext.GetAuthTokenKey("Roles");
|
|
var authData = HttpContext.GetAuthTokenKey("Roles");
|
|
- object _roles = null, _permissions= null;
|
|
|
|
- HttpContext?.Items.TryGetValue("Roles", out _roles);
|
|
|
|
|
|
+ object _roles = null, _permissions = null;
|
|
|
|
+ HttpContext?.Items.TryGetValue("Roles", out _roles);
|
|
HttpContext?.Items.TryGetValue("Permissions", out _permissions);
|
|
HttpContext?.Items.TryGetValue("Permissions", out _permissions);
|
|
List<string> rolse = new List<string>();
|
|
List<string> rolse = new List<string>();
|
|
- if (_roles!= null) {
|
|
|
|
- rolse= (List<string>)_roles;
|
|
|
|
|
|
+ if (_roles != null) {
|
|
|
|
+ rolse = (List<string>)_roles;
|
|
}
|
|
}
|
|
List<string> permissions = new List<string>();
|
|
List<string> permissions = new List<string>();
|
|
- if (_permissions!= null)
|
|
|
|
|
|
+ if (_permissions != null)
|
|
{
|
|
{
|
|
- permissions= (List<string>)_permissions;
|
|
|
|
|
|
+ permissions = (List<string>)_permissions;
|
|
}
|
|
}
|
|
|
|
|
|
- if (rolse.Contains("admin")||permissions.Contains("course-upd")||permissions.Contains("course-read"))
|
|
|
|
|
|
+ if (rolse.Contains("admin") || permissions.Contains("course-upd") || permissions.Contains("course-read"))
|
|
{
|
|
{
|
|
//包含,学校的行政班,教学班
|
|
//包含,学校的行政班,教学班
|
|
json.TryGetProperty("type", out JsonElement _type);
|
|
json.TryGetProperty("type", out JsonElement _type);
|
|
@@ -664,10 +665,10 @@ namespace TEAMModelOS.Controllers
|
|
school = $"{school}",
|
|
school = $"{school}",
|
|
type = "class",
|
|
type = "class",
|
|
year = item.year,
|
|
year = item.year,
|
|
- expire=0,
|
|
|
|
- no=item.no,
|
|
|
|
|
|
+ expire = 0,
|
|
|
|
+ no = item.no,
|
|
groupName = groupNames,
|
|
groupName = groupNames,
|
|
- scount= scount
|
|
|
|
|
|
+ scount = scount
|
|
};
|
|
};
|
|
groupLists.Add(group);
|
|
groupLists.Add(group);
|
|
}
|
|
}
|
|
@@ -713,22 +714,22 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
//long now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
|
//long now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
|
return Ok(new { groupLists });
|
|
return Ok(new { groupLists });
|
|
}
|
|
}
|
|
case bool when $"{opt}".Equals("teach", StringComparison.OrdinalIgnoreCase):
|
|
case bool when $"{opt}".Equals("teach", StringComparison.OrdinalIgnoreCase):
|
|
{
|
|
{
|
|
- string sql = $"SELECT distinct value c FROM c join b in c.schedules where c.pk='CourseTask' and (ARRAY_CONTAINS(b.assistants,'{tmdid}')or b.teacherId ='{tmdid}' )";
|
|
|
|
- List<KeyValuePair<string,CourseTask >> schoolTeacherTask = new List<KeyValuePair<string, CourseTask>>();
|
|
|
|
- List<KeyValuePair<string,CourseTask >> schoolAssistantTask = new List<KeyValuePair<string,CourseTask >>();
|
|
|
|
|
|
+ string sql = $"SELECT distinct value c FROM c join b in c.schedules where c.pk='CourseTask' and (ARRAY_CONTAINS(b.assistants,'{tmdid}')or b.teacherId ='{tmdid}' )";
|
|
|
|
+ List<KeyValuePair<string, CourseTask>> schoolTeacherTask = new List<KeyValuePair<string, CourseTask>>();
|
|
|
|
+ List<KeyValuePair<string, CourseTask>> schoolAssistantTask = new List<KeyValuePair<string, CourseTask>>();
|
|
|
|
|
|
- List<KeyValuePair<string,CourseTask >> privateTeacherTask = new List<KeyValuePair<string,CourseTask >>();
|
|
|
|
- List<KeyValuePair<string,CourseTask >> privateAssistantTask = new List<KeyValuePair<string,CourseTask >>();
|
|
|
|
|
|
+ List<KeyValuePair<string, CourseTask>> privateTeacherTask = new List<KeyValuePair<string, CourseTask>>();
|
|
|
|
+ List<KeyValuePair<string, CourseTask>> privateAssistantTask = new List<KeyValuePair<string, CourseTask>>();
|
|
List<CourseDto> schoolCourses = new List<CourseDto>();
|
|
List<CourseDto> schoolCourses = new List<CourseDto>();
|
|
List<CourseDto> teahcerCourses = new List<CourseDto>();
|
|
List<CourseDto> teahcerCourses = new List<CourseDto>();
|
|
List<string> groupIds = new List<string>();
|
|
List<string> groupIds = new List<string>();
|
|
- if (!string.IsNullOrWhiteSpace(school))
|
|
|
|
|
|
+ if (!string.IsNullOrWhiteSpace(school))
|
|
{
|
|
{
|
|
School schoolBase = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReadItemAsync<School>(school, new PartitionKey("Base"));
|
|
School schoolBase = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).ReadItemAsync<School>(school, new PartitionKey("Base"));
|
|
JsonElement _year = default, _semesterId = default, _periodId = default;
|
|
JsonElement _year = default, _semesterId = default, _periodId = default;
|
|
@@ -745,58 +746,58 @@ namespace TEAMModelOS.Controllers
|
|
//string date = SchoolService.GetOpensByStudyYearAndSemester(period.semesters, int.Parse($"{_year}"), $"{_semesterId}");
|
|
//string date = SchoolService.GetOpensByStudyYearAndSemester(period.semesters, int.Parse($"{_year}"), $"{_semesterId}");
|
|
sql = $"{sql} and c.year={_year} and c.semesterId='{_semesterId}'";
|
|
sql = $"{sql} and c.year={_year} and c.semesterId='{_semesterId}'";
|
|
HashSet<string> courseIds = new HashSet<string>();
|
|
HashSet<string> courseIds = new HashSet<string>();
|
|
- var resultSchool= await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseTask>(sql, $"CourseTask-{school}");
|
|
|
|
|
|
+ var resultSchool = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseTask>(sql, $"CourseTask-{school}");
|
|
if (resultSchool.list.IsNotEmpty()) {
|
|
if (resultSchool.list.IsNotEmpty()) {
|
|
resultSchool.list.ForEach(x => {
|
|
resultSchool.list.ForEach(x => {
|
|
- var schedulesTeacher = x.schedules.Where(z =>!string.IsNullOrWhiteSpace(z.teacherId) && z.teacherId.Equals(tmdid));
|
|
|
|
- if (schedulesTeacher.Any())
|
|
|
|
|
|
+ var schedulesTeacher = x.schedules.Where(z => !string.IsNullOrWhiteSpace(z.teacherId) && z.teacherId.Equals(tmdid));
|
|
|
|
+ if (schedulesTeacher.Any())
|
|
{
|
|
{
|
|
courseIds.Add(x.courseId);
|
|
courseIds.Add(x.courseId);
|
|
CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
|
|
CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
|
|
- courseTask.schedules=schedulesTeacher.ToList();
|
|
|
|
- schoolTeacherTask.Add(new KeyValuePair<string,CourseTask >(x.courseId, courseTask));
|
|
|
|
|
|
+ courseTask.schedules = schedulesTeacher.ToList();
|
|
|
|
+ schoolTeacherTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
|
|
groupIds.AddRange(schedulesTeacher.Where(z => !string.IsNullOrWhiteSpace(z.groupId)).Select(x => x.groupId));
|
|
groupIds.AddRange(schedulesTeacher.Where(z => !string.IsNullOrWhiteSpace(z.groupId)).Select(x => x.groupId));
|
|
}
|
|
}
|
|
- var schedulesAssistant = x.schedules.Where(z => z.assistants.Contains(tmdid) );
|
|
|
|
|
|
+ var schedulesAssistant = x.schedules.Where(z => z.assistants.Contains(tmdid));
|
|
if (schedulesAssistant.Any())
|
|
if (schedulesAssistant.Any())
|
|
{
|
|
{
|
|
courseIds.Add(x.courseId);
|
|
courseIds.Add(x.courseId);
|
|
CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
|
|
CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
|
|
- courseTask.schedules=schedulesAssistant.ToList();
|
|
|
|
|
|
+ courseTask.schedules = schedulesAssistant.ToList();
|
|
schoolAssistantTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
|
|
schoolAssistantTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
|
|
groupIds.AddRange(schedulesAssistant.Where(z => !string.IsNullOrWhiteSpace(z.groupId)).Select(x => x.groupId));
|
|
groupIds.AddRange(schedulesAssistant.Where(z => !string.IsNullOrWhiteSpace(z.groupId)).Select(x => x.groupId));
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
if (courseIds.Any()) {
|
|
if (courseIds.Any()) {
|
|
- string sqlCourse = $"select value c from c where c.id in ({string.Join(",",courseIds.Select(b=>$"'{b}'"))})";
|
|
|
|
|
|
+ string sqlCourse = $"select value c from c where c.id in ({string.Join(",", courseIds.Select(b => $"'{b}'"))})";
|
|
var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseBase>(sqlCourse, $"CourseBase-{school}");
|
|
var result = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.School).GetList<CourseBase>(sqlCourse, $"CourseBase-{school}");
|
|
- if (result.list.IsNotEmpty())
|
|
|
|
|
|
+ if (result.list.IsNotEmpty())
|
|
{
|
|
{
|
|
- foreach (var item in result.list)
|
|
|
|
|
|
+ foreach (var item in result.list)
|
|
{
|
|
{
|
|
List<CourseTaskDto> courseTaskDtos = new List<CourseTaskDto>();
|
|
List<CourseTaskDto> courseTaskDtos = new List<CourseTaskDto>();
|
|
- var teacher = schoolTeacherTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask=z.Value, type="teacher" });
|
|
|
|
|
|
+ var teacher = schoolTeacherTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask = z.Value, type = "teacher" });
|
|
if (teacher.Any()) {
|
|
if (teacher.Any()) {
|
|
courseTaskDtos.AddRange(teacher.ToList());
|
|
courseTaskDtos.AddRange(teacher.ToList());
|
|
}
|
|
}
|
|
- var assistant= schoolAssistantTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask=z.Value, type="assistant" });
|
|
|
|
|
|
+ var assistant = schoolAssistantTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask = z.Value, type = "assistant" });
|
|
if (assistant.Any()) {
|
|
if (assistant.Any()) {
|
|
courseTaskDtos.AddRange(assistant.ToList());
|
|
courseTaskDtos.AddRange(assistant.ToList());
|
|
}
|
|
}
|
|
- schoolCourses.Add(new CourseDto { courseBase=item, courseTasks=courseTaskDtos });
|
|
|
|
|
|
+ schoolCourses.Add(new CourseDto { courseBase = item, courseTasks = courseTaskDtos });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
{
|
|
{
|
|
HashSet<string> courseIds = new HashSet<string>();
|
|
HashSet<string> courseIds = new HashSet<string>();
|
|
string sqlCoursePrivate = $"select value c.id from c where c.creatorId='{tmdid}'";
|
|
string sqlCoursePrivate = $"select value c.id from c where c.creatorId='{tmdid}'";
|
|
var resultCourseBasePrivate = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).GetList<string>(sqlCoursePrivate, $"CourseBase");
|
|
var resultCourseBasePrivate = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).GetList<string>(sqlCoursePrivate, $"CourseBase");
|
|
if (resultCourseBasePrivate.list.IsNotEmpty())
|
|
if (resultCourseBasePrivate.list.IsNotEmpty())
|
|
{
|
|
{
|
|
- courseIds=new HashSet<string>(resultCourseBasePrivate.list);
|
|
|
|
|
|
+ courseIds = new HashSet<string>(resultCourseBasePrivate.list);
|
|
}
|
|
}
|
|
string sqlprivate = $"SELECT distinct value c FROM c join b in c.schedules where c.pk='CourseTask' and (ARRAY_CONTAINS(b.assistants,'{tmdid}')or b.teacherId ='{tmdid}' )";
|
|
string sqlprivate = $"SELECT distinct value c FROM c join b in c.schedules where c.pk='CourseTask' and (ARRAY_CONTAINS(b.assistants,'{tmdid}')or b.teacherId ='{tmdid}' )";
|
|
var resultTeacher = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).GetList<CourseTask>(sqlprivate, $"CourseTask");
|
|
var resultTeacher = await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).GetList<CourseTask>(sqlprivate, $"CourseTask");
|
|
@@ -804,12 +805,12 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
|
|
|
|
resultTeacher.list.ForEach(x => {
|
|
resultTeacher.list.ForEach(x => {
|
|
- var schedulesTeacher = x.schedules.Where(z => !string.IsNullOrWhiteSpace(z.teacherId) && z.teacherId.Equals(tmdid));
|
|
|
|
|
|
+ var schedulesTeacher = x.schedules.Where(z => !string.IsNullOrWhiteSpace(z.teacherId) && z.teacherId.Equals(tmdid));
|
|
if (schedulesTeacher.Any())
|
|
if (schedulesTeacher.Any())
|
|
{
|
|
{
|
|
courseIds.Add(x.courseId);
|
|
courseIds.Add(x.courseId);
|
|
CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
|
|
CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
|
|
- courseTask.schedules=schedulesTeacher.ToList();
|
|
|
|
|
|
+ courseTask.schedules = schedulesTeacher.ToList();
|
|
privateTeacherTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
|
|
privateTeacherTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
|
|
groupIds.AddRange(schedulesTeacher.Where(z => !string.IsNullOrWhiteSpace(z.groupId)).Select(x => x.groupId));
|
|
groupIds.AddRange(schedulesTeacher.Where(z => !string.IsNullOrWhiteSpace(z.groupId)).Select(x => x.groupId));
|
|
}
|
|
}
|
|
@@ -818,12 +819,12 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
courseIds.Add(x.courseId);
|
|
courseIds.Add(x.courseId);
|
|
CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
|
|
CourseTask courseTask = x.ToJsonString().ToObject<CourseTask>();
|
|
- courseTask.schedules=schedulesAssistant.ToList();
|
|
|
|
|
|
+ courseTask.schedules = schedulesAssistant.ToList();
|
|
privateAssistantTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
|
|
privateAssistantTask.Add(new KeyValuePair<string, CourseTask>(x.courseId, courseTask));
|
|
- groupIds.AddRange(schedulesAssistant.Where(z=>!string.IsNullOrWhiteSpace(z.groupId)).Select(x => x.groupId));
|
|
|
|
|
|
+ groupIds.AddRange(schedulesAssistant.Where(z => !string.IsNullOrWhiteSpace(z.groupId)).Select(x => x.groupId));
|
|
}
|
|
}
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
if (courseIds.Any())
|
|
if (courseIds.Any())
|
|
{
|
|
{
|
|
@@ -835,46 +836,46 @@ namespace TEAMModelOS.Controllers
|
|
|
|
|
|
{
|
|
{
|
|
List<CourseTaskDto> courseTaskDtos = new List<CourseTaskDto>();
|
|
List<CourseTaskDto> courseTaskDtos = new List<CourseTaskDto>();
|
|
- var teacher = privateTeacherTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask=z.Value, type="teacher" });
|
|
|
|
|
|
+ var teacher = privateTeacherTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask = z.Value, type = "teacher" });
|
|
if (teacher.Any())
|
|
if (teacher.Any())
|
|
{
|
|
{
|
|
courseTaskDtos.AddRange(teacher.ToList());
|
|
courseTaskDtos.AddRange(teacher.ToList());
|
|
}
|
|
}
|
|
- var assistant = privateAssistantTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask=z.Value, type="assistant" });
|
|
|
|
|
|
+ var assistant = privateAssistantTask.Where(x => x.Key.Equals(item.id)).Select(z => new CourseTaskDto { courseTask = z.Value, type = "assistant" });
|
|
if (assistant.Any())
|
|
if (assistant.Any())
|
|
{
|
|
{
|
|
courseTaskDtos.AddRange(assistant.ToList());
|
|
courseTaskDtos.AddRange(assistant.ToList());
|
|
}
|
|
}
|
|
- teahcerCourses.Add(new CourseDto { courseBase=item, courseTasks=courseTaskDtos });
|
|
|
|
|
|
+ teahcerCourses.Add(new CourseDto { courseBase = item, courseTasks = courseTaskDtos });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
List<CourseGroupList> courseGroupLists = new List<CourseGroupList>();
|
|
List<CourseGroupList> courseGroupLists = new List<CourseGroupList>();
|
|
- _coreAPIHttpService.check=false;
|
|
|
|
- var groupListDatas = await GroupListService.GetMemberByListids(_coreAPIHttpService, _azureCosmos.GetCosmosClient(), _dingDing, groupIds.ToHashSet().ToList(), school);
|
|
|
|
|
|
+ _coreAPIHttpService.check = false;
|
|
|
|
+ var groupListDatas = await GroupListService.GetMemberByListids(_coreAPIHttpService, _azureCosmos.GetCosmosClient(), _dingDing, groupIds.ToHashSet().ToList(), school);
|
|
|
|
|
|
foreach (var z in teahcerCourses)
|
|
foreach (var z in teahcerCourses)
|
|
{
|
|
{
|
|
- CourseGroupList courseGroupList= new CourseGroupList
|
|
|
|
|
|
+ CourseGroupList courseGroupList = new CourseGroupList
|
|
{
|
|
{
|
|
- scope="private",
|
|
|
|
- id=z.courseBase.id,
|
|
|
|
- name=z.courseBase.name,
|
|
|
|
- periodId=z.courseBase.period?.id,
|
|
|
|
- period=z.courseBase.period?.name,
|
|
|
|
- subject=z.courseBase.subject?.name,
|
|
|
|
- subjectId= z.courseBase.subject?.id
|
|
|
|
|
|
+ scope = "private",
|
|
|
|
+ id = z.courseBase.id,
|
|
|
|
+ name = z.courseBase.name,
|
|
|
|
+ periodId = z.courseBase.period?.id,
|
|
|
|
+ period = z.courseBase.period?.name,
|
|
|
|
+ subject = z.courseBase.subject?.name,
|
|
|
|
+ subjectId = z.courseBase.subject?.id
|
|
};
|
|
};
|
|
foreach (var x in z.courseTasks)
|
|
foreach (var x in z.courseTasks)
|
|
{
|
|
{
|
|
foreach (var y in x.courseTask.schedules)
|
|
foreach (var y in x.courseTask.schedules)
|
|
{
|
|
{
|
|
var data = groupListDatas.groups.Find(m => m.id.Equals(y.groupId));
|
|
var data = groupListDatas.groups.Find(m => m.id.Equals(y.groupId));
|
|
- if (data!= null)
|
|
|
|
|
|
+ if (data != null)
|
|
{
|
|
{
|
|
HashSet<string> groupName = data.members.Where(x => !string.IsNullOrEmpty(x.groupName)).Select(y => y.groupName).ToHashSet();
|
|
HashSet<string> groupName = data.members.Where(x => !string.IsNullOrEmpty(x.groupName)).Select(y => y.groupName).ToHashSet();
|
|
GroupListGrp groupListGrp = new GroupListGrp(data, groupName);
|
|
GroupListGrp groupListGrp = new GroupListGrp(data, groupName);
|
|
- groupListGrp.teachType=x.type;
|
|
|
|
|
|
+ groupListGrp.teachType = x.type;
|
|
courseGroupList.groups.Add(groupListGrp);
|
|
courseGroupList.groups.Add(groupListGrp);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -885,32 +886,32 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
CourseGroupList courseGroupList = new CourseGroupList
|
|
CourseGroupList courseGroupList = new CourseGroupList
|
|
{
|
|
{
|
|
- scope="school",
|
|
|
|
- id=z.courseBase.id,
|
|
|
|
- name=z.courseBase.name,
|
|
|
|
- periodId=z.courseBase.period?.id,
|
|
|
|
- period=z.courseBase.period?.name,
|
|
|
|
- subject=z.courseBase.subject?.name,
|
|
|
|
- subjectId= z.courseBase.subject?.id
|
|
|
|
|
|
+ scope = "school",
|
|
|
|
+ id = z.courseBase.id,
|
|
|
|
+ name = z.courseBase.name,
|
|
|
|
+ periodId = z.courseBase.period?.id,
|
|
|
|
+ period = z.courseBase.period?.name,
|
|
|
|
+ subject = z.courseBase.subject?.name,
|
|
|
|
+ subjectId = z.courseBase.subject?.id
|
|
};
|
|
};
|
|
foreach (var x in z.courseTasks)
|
|
foreach (var x in z.courseTasks)
|
|
{
|
|
{
|
|
foreach (var y in x.courseTask.schedules)
|
|
foreach (var y in x.courseTask.schedules)
|
|
{
|
|
{
|
|
var data = groupListDatas.groups.Find(m => m.id.Equals(y.groupId));
|
|
var data = groupListDatas.groups.Find(m => m.id.Equals(y.groupId));
|
|
- if (data!= null) {
|
|
|
|
|
|
+ if (data != null) {
|
|
HashSet<string> groupName = data.members.Where(x => !string.IsNullOrEmpty(x.groupName)).Select(y => y.groupName).ToHashSet();
|
|
HashSet<string> groupName = data.members.Where(x => !string.IsNullOrEmpty(x.groupName)).Select(y => y.groupName).ToHashSet();
|
|
GroupListGrp groupListGrp = new GroupListGrp(data, groupName);
|
|
GroupListGrp groupListGrp = new GroupListGrp(data, groupName);
|
|
- groupListGrp.teachType=x.type;
|
|
|
|
|
|
+ groupListGrp.teachType = x.type;
|
|
courseGroupList.groups.Add(groupListGrp);
|
|
courseGroupList.groups.Add(groupListGrp);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
courseGroupLists.Add(courseGroupList);
|
|
courseGroupLists.Add(courseGroupList);
|
|
}
|
|
}
|
|
- long now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
|
|
|
|
|
+ long now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
|
foreach (var groups in courseGroupLists) {
|
|
foreach (var groups in courseGroupLists) {
|
|
- groups.groups.RemoveAll(z => z.expire>0 && z.expire<now);
|
|
|
|
|
|
+ groups.groups.RemoveAll(z => z.expire > 0 && z.expire < now);
|
|
}
|
|
}
|
|
return Ok(new { groupLists = courseGroupLists });
|
|
return Ok(new { groupLists = courseGroupLists });
|
|
}
|
|
}
|
|
@@ -954,9 +955,9 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
}
|
|
}
|
|
List<string> listids = ids.ToObject<List<string>>();
|
|
List<string> listids = ids.ToObject<List<string>>();
|
|
- if (json.TryGetProperty("time", out JsonElement _time) && long.TryParse($"{_time}", out long time) && time>0)
|
|
|
|
|
|
+ if (json.TryGetProperty("time", out JsonElement _time) && long.TryParse($"{_time}", out long time) && time > 0)
|
|
{
|
|
{
|
|
- (List<RMember> members, List<RGroupList> groups) = await GroupListService.GetMemberByListids(_coreAPIHttpService, client, _dingDing, listids, $"{schoolId}", ps,time:time);
|
|
|
|
|
|
+ (List<RMember> members, List<RGroupList> groups) = await GroupListService.GetMemberByListids(_coreAPIHttpService, client, _dingDing, listids, $"{schoolId}", ps, time: time);
|
|
return Ok(new { groups, members });
|
|
return Ok(new { groups, members });
|
|
}
|
|
}
|
|
else
|
|
else
|
|
@@ -964,7 +965,7 @@ namespace TEAMModelOS.Controllers
|
|
(List<RMember> members, List<RGroupList> groups) = await GroupListService.GetMemberByListids(_coreAPIHttpService, client, _dingDing, listids, $"{schoolId}", ps);
|
|
(List<RMember> members, List<RGroupList> groups) = await GroupListService.GetMemberByListids(_coreAPIHttpService, client, _dingDing, listids, $"{schoolId}", ps);
|
|
return Ok(new { groups, members });
|
|
return Ok(new { groups, members });
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 根据任意名单id获取名单摘要信息。
|
|
/// 根据任意名单id获取名单摘要信息。
|
|
@@ -982,9 +983,9 @@ namespace TEAMModelOS.Controllers
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
if (!json.TryGetProperty("ids", out JsonElement ids)) return BadRequest();
|
|
if (!json.TryGetProperty("ids", out JsonElement ids)) return BadRequest();
|
|
json.TryGetProperty("schoolId", out JsonElement schoolId);
|
|
json.TryGetProperty("schoolId", out JsonElement schoolId);
|
|
- List<string> listids = ids.ToObject<HashSet<string>>().ToList() ;
|
|
|
|
|
|
+ List<string> listids = ids.ToObject<HashSet<string>>().ToList();
|
|
List<GroupListDto> groups = null;
|
|
List<GroupListDto> groups = null;
|
|
- if (json.TryGetProperty("time", out JsonElement _time) && long.TryParse($"{_time}", out long time) && time>0)
|
|
|
|
|
|
+ if (json.TryGetProperty("time", out JsonElement _time) && long.TryParse($"{_time}", out long time) && time > 0)
|
|
{
|
|
{
|
|
groups = await GroupListService.GetGroupListByListids(client, _dingDing, listids, $"{schoolId}", SummarySql, time: time);
|
|
groups = await GroupListService.GetGroupListByListids(client, _dingDing, listids, $"{schoolId}", SummarySql, time: time);
|
|
}
|
|
}
|
|
@@ -992,7 +993,7 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
groups = await GroupListService.GetGroupListByListids(client, _dingDing, listids, $"{schoolId}", SummarySql);
|
|
groups = await GroupListService.GetGroupListByListids(client, _dingDing, listids, $"{schoolId}", SummarySql);
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
return Ok(new { groups });
|
|
return Ok(new { groups });
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -1015,18 +1016,18 @@ namespace TEAMModelOS.Controllers
|
|
if (!json.TryGetProperty("type", out JsonElement type)) return BadRequest();
|
|
if (!json.TryGetProperty("type", out JsonElement type)) return BadRequest();
|
|
json.TryGetProperty("periodId", out JsonElement periodId);
|
|
json.TryGetProperty("periodId", out JsonElement periodId);
|
|
json.TryGetProperty("no", out JsonElement no);
|
|
json.TryGetProperty("no", out JsonElement no);
|
|
-
|
|
|
|
|
|
+
|
|
List<RGroupList> groups = new List<RGroupList>();
|
|
List<RGroupList> groups = new List<RGroupList>();
|
|
|
|
|
|
string sqlSemester = "";
|
|
string sqlSemester = "";
|
|
- if (json.TryGetProperty("time", out JsonElement _time) && long.TryParse($"{_time}", out long time) && time>0)
|
|
|
|
|
|
+ if (json.TryGetProperty("time", out JsonElement _time) && long.TryParse($"{_time}", out long time) && time > 0)
|
|
{
|
|
{
|
|
var groupListSemester = await GetGroupListSemester(client, null, $"{_schoolId}", $"{type}", $"{periodId}", $"{no}", time);
|
|
var groupListSemester = await GetGroupListSemester(client, null, $"{_schoolId}", $"{type}", $"{periodId}", $"{no}", time);
|
|
if (groupListSemester.groupListDtos.IsNotEmpty())
|
|
if (groupListSemester.groupListDtos.IsNotEmpty())
|
|
{
|
|
{
|
|
groups.AddRange(groupListSemester.rgroupList);
|
|
groups.AddRange(groupListSemester.rgroupList);
|
|
//排除掉已有的数据
|
|
//排除掉已有的数据
|
|
- sqlSemester =$" and c.id not in ({string.Join(",", groupListSemester.groupListDtos.Select(z => $"'{z.id}'"))})";
|
|
|
|
|
|
+ sqlSemester = $" and c.id not in ({string.Join(",", groupListSemester.groupListDtos.Select(z => $"'{z.id}'"))})";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
StringBuilder sql = new StringBuilder($"SELECT distinct value(c) FROM c where c.type='{type}'");
|
|
StringBuilder sql = new StringBuilder($"SELECT distinct value(c) FROM c where c.type='{type}'");
|
|
@@ -1049,12 +1050,31 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
sql.Append($" and c.creatorId='{_tmdid}'");
|
|
sql.Append($" and c.creatorId='{_tmdid}'");
|
|
}
|
|
}
|
|
|
|
+ StringBuilder groupIds = new StringBuilder();
|
|
|
|
+
|
|
await foreach (var item in client.GetContainer(Constant.TEAMModelOS, tbname).GetItemQueryIteratorSql<RGroupList>(queryText: sql.ToString(),
|
|
await foreach (var item in client.GetContainer(Constant.TEAMModelOS, tbname).GetItemQueryIteratorSql<RGroupList>(queryText: sql.ToString(),
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey(code) }))
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey(code) }))
|
|
{
|
|
{
|
|
groups.Add(item);
|
|
groups.Add(item);
|
|
|
|
+ // 取出該老師還有連結課程的名單id
|
|
|
|
+ groupIds.Append($"'{item.id}',");
|
|
}
|
|
}
|
|
- (List<RGroupList> groupsData, List<RMember> members) = await GroupListService.GetGroupListMemberInfo(_coreAPIHttpService, client, $"{type}", groups, tbname, _dingDing, $"{_schoolId}");
|
|
|
|
|
|
+ List<RGroupList> haveTaskGroups = new List<RGroupList>();
|
|
|
|
+ if (groupIds.Length > 0)
|
|
|
|
+ {
|
|
|
|
+ groupIds = groupIds.Remove(groupIds.Length - 1, 1);
|
|
|
|
+ string courseTasksql = $"SELECT distinct b.groupId from c join b in c.schedules where b.groupId in ( {groupIds} )";
|
|
|
|
+
|
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, tbname).GetItemQueryIteratorSql<GroupId>(queryText: courseTasksql.ToString(),
|
|
|
|
+ requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey("CourseTask") }))
|
|
|
|
+ {
|
|
|
|
+ var groupItem = groups.Find(z => z.id == item.groupId);
|
|
|
|
+ // 篩選出有效的名單
|
|
|
|
+ haveTaskGroups.Add(groupItem);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ (List<RGroupList> groupsData, List<RMember> members) = await GroupListService.GetGroupListMemberInfo(_coreAPIHttpService, client, $"{type}", haveTaskGroups, tbname, _dingDing, $"{_schoolId}");
|
|
return Ok(new { groups = groupsData, members });
|
|
return Ok(new { groups = groupsData, members });
|
|
}
|
|
}
|
|
catch (CosmosException ex)
|
|
catch (CosmosException ex)
|
|
@@ -1067,6 +1087,13 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
return Ok();
|
|
return Ok();
|
|
}
|
|
}
|
|
|
|
+ public class GroupId
|
|
|
|
+ {
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 分组id
|
|
|
|
+ /// </summary>
|
|
|
|
+ public string groupId { get; set; }
|
|
|
|
+ }
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 获取名单列表
|
|
/// 获取名单列表
|
|
/// </summary>
|
|
/// </summary>
|