get teams according eventId
This commit is contained in:
parent
9b885f319e
commit
cbfdbd3882
@ -8,6 +8,7 @@ using Microsoft.EntityFrameworkCore;
|
|||||||
using NPOI.OpenXmlFormats.Dml;
|
using NPOI.OpenXmlFormats.Dml;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
using static allteam1;
|
using static allteam1;
|
||||||
|
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
|
||||||
|
|
||||||
namespace asg_form.Controllers.Team
|
namespace asg_form.Controllers.Team
|
||||||
{
|
{
|
||||||
@ -206,24 +207,70 @@ namespace asg_form.Controllers.Team
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class TeamFind
|
||||||
|
{
|
||||||
|
public string teamName { get; set; }
|
||||||
|
public List<string> roleNames { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
[Route("api/v3/form/all")]
|
[Route("api/v3/form/all")]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public async Task<ActionResult<object>> GetformbyId(short page, short limit, int eventId)
|
public async Task<ActionResult<object>> GetFormById(short page, short limit, int sort, int eventId)
|
||||||
{
|
{
|
||||||
using (var db = new TestDbContext())
|
using (var db = new TestDbContext())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var query = await db.Forms.FindAsync(eventId);
|
var query = from m in db.Forms
|
||||||
|
where m.events.Id == eventId
|
||||||
return Ok(new { code = 200, message = "没有完成的接口" });
|
join r in db.Roles on m.Id equals r.form.Id
|
||||||
|
select new
|
||||||
|
{
|
||||||
|
m.team_name,
|
||||||
|
r.role_name,
|
||||||
|
m.piaoshu,
|
||||||
|
m.time
|
||||||
|
};
|
||||||
|
switch (sort)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
query = query.OrderByDescending(m => m.piaoshu).ThenByDescending(m => m.time);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
query = query.OrderBy(m => m.piaoshu);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
query = query.OrderByDescending(m => m.piaoshu);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
query = query.OrderBy(m => m.time);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
query = query.OrderByDescending(m => m.time);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
var results = await query
|
||||||
|
.GroupBy(m => new { m.team_name, m.piaoshu, m.time })
|
||||||
|
.Select(g => new TeamFind
|
||||||
|
{
|
||||||
|
teamName = g.Key.team_name,
|
||||||
|
roleNames = g.Select(x => x.role_name).ToList()
|
||||||
|
})
|
||||||
|
.Skip((page - 1) * limit)
|
||||||
|
.Take(limit)
|
||||||
|
.ToListAsync();
|
||||||
|
int total = results.Count();
|
||||||
|
return Ok(new { code = 200, message = "成功", data = results,total });
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
return Ok(new { code = 500, message = "服务器错误", ex });
|
return Ok(new { code = 500, message = "服务器错误", ex = ex.Message });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user