11
This commit is contained in:
parent
50d25d85cd
commit
0137cc07bc
@ -25,154 +25,12 @@ using static
|
|||||||
using Manganese.Array;
|
using Manganese.Array;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using Flurl.Http;
|
using Flurl.Http;
|
||||||
using System.Security.Claims;
|
|
||||||
|
|
||||||
namespace asg_form.Controllers
|
namespace asg_form.Controllers
|
||||||
{
|
{
|
||||||
|
|
||||||
public class form_cs : ControllerBase
|
|
||||||
{
|
|
||||||
[Route("api/v3/form/all")]
|
|
||||||
[HttpGet]
|
|
||||||
public async Task<ActionResult<object>> GetFormById(short page, short limit, int sort, int eventId)
|
|
||||||
{
|
|
||||||
using (var db = new TestDbContext())
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var query = db.Forms.Where(f => f.events.Id == eventId);
|
|
||||||
query = sort switch
|
|
||||||
{
|
|
||||||
0 => query.OrderByDescending(m => m.piaoshu).ThenByDescending(m => m.time),
|
|
||||||
1 => query.OrderBy(m => m.piaoshu),
|
|
||||||
2 => query.OrderByDescending(m => m.piaoshu),
|
|
||||||
3 => query.OrderBy(m => m.time),
|
|
||||||
4 => query.OrderByDescending(m => m.time),
|
|
||||||
_ => query
|
|
||||||
};
|
|
||||||
if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "nbadmin") || this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var results = await query
|
|
||||||
.Skip((page - 1) * limit)
|
|
||||||
.Take(limit)
|
|
||||||
.Select(f => new AdminTeamFind
|
|
||||||
{
|
|
||||||
form = f,
|
|
||||||
roles = findRolesByFormId(f.Id, 0)
|
|
||||||
})
|
|
||||||
.ToListAsync();
|
|
||||||
int total = await query.CountAsync();
|
|
||||||
|
|
||||||
return Ok(new { code = 200, message = "成功", data = results, total });
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
return Ok(new { code = 500, message = "服务器错误", error = ex.Message });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var results = await query
|
|
||||||
.Skip((page - 1) * limit)
|
|
||||||
.Take(limit)
|
|
||||||
.Select(f => new AdminTeamFind
|
|
||||||
{
|
|
||||||
form = new form
|
|
||||||
{
|
|
||||||
Id = f.Id,
|
|
||||||
team_name = f.team_name,
|
|
||||||
piaoshu = f.piaoshu,
|
|
||||||
},
|
|
||||||
roles = findRolesByFormId(f.Id, 1)
|
|
||||||
})
|
|
||||||
.ToListAsync();
|
|
||||||
int total = await query.CountAsync();
|
|
||||||
return Ok(new { code = 200, message = "成功", data = results, total });
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
return Ok(new { code = 500, message = "服务器错误", ex = ex.Message });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class tmpRole
|
|
||||||
{
|
|
||||||
public string? roleName { get; set; }
|
|
||||||
public int? roleRank { get; set; }
|
|
||||||
public string? commonRoles { get; set; }
|
|
||||||
public string? roleLin { get; set; }
|
|
||||||
public string? roleId { get; set; }
|
|
||||||
public string? gameName { get; set; }
|
|
||||||
public string? idCard { get; set; }
|
|
||||||
public string? phoneNumber { get; set; }
|
|
||||||
public string? idCardName { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
public class TeamFind
|
|
||||||
{
|
|
||||||
|
|
||||||
public long formId { get; set; }
|
|
||||||
public string teamName { get; set; }
|
|
||||||
public int voteOfLikes { get; set; }
|
|
||||||
public List<tmpRole> roles { get; set; } = new List<tmpRole>();
|
|
||||||
|
|
||||||
}
|
|
||||||
public class AdminTeamFind
|
|
||||||
{
|
|
||||||
public form? form { get; set; }
|
|
||||||
public List<tmpRole>? roles { get; set; } = new List<tmpRole>();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static List<tmpRole> findRolesByFormId(long formId, int y)
|
|
||||||
{
|
|
||||||
var roles = new List<tmpRole>();
|
|
||||||
var db = new TestDbContext();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var query = db.Roles.Where(x => x.form.Id == formId);
|
|
||||||
if (y == 1)
|
|
||||||
{
|
|
||||||
roles = query
|
|
||||||
.Select(f => new tmpRole
|
|
||||||
{
|
|
||||||
roleName = f.role_name,
|
|
||||||
roleRank = f.Historical_Ranks,
|
|
||||||
commonRoles = f.Common_Roles,
|
|
||||||
roleLin = f.role_lin
|
|
||||||
})
|
|
||||||
.ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
roles = query
|
|
||||||
.Select(f => new tmpRole
|
|
||||||
{
|
|
||||||
roleName = f.role_name,
|
|
||||||
roleRank = f.Historical_Ranks,
|
|
||||||
commonRoles = f.Common_Roles,
|
|
||||||
roleLin = f.role_lin,
|
|
||||||
roleId = f.role_id,
|
|
||||||
gameName = f.Game_Name,
|
|
||||||
idCard = f.Id_Card,
|
|
||||||
phoneNumber = f.Phone_Number,
|
|
||||||
idCardName = f.Id_Card_Name
|
|
||||||
})
|
|
||||||
.ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Console.WriteLine($"Error in BuildTree: {ex.Message}");
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
return roles;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Route("[controller]")]
|
[Route("[controller]")]
|
||||||
@ -423,7 +281,7 @@ namespace asg_form.Controllers
|
|||||||
if (imageFile == null || imageFile.Length == 0)
|
if (imageFile == null || imageFile.Length == 0)
|
||||||
return BadRequest("Invalid image file.");
|
return BadRequest("Invalid image file.");
|
||||||
// ½«Îļþ±£´æµ½´ÅÅÌ
|
// ½«Îļþ±£´æµ½´ÅÅÌ
|
||||||
var filePath = Path.Combine(Directory.GetCurrentDirectory(), $"loge/{for1.events_name}/", $"{imageFile.FileName}");
|
var filePath = Path.Combine(Directory.GetCurrentDirectory(), $"loge/{for1.events_name}/{for1.events_name}/", $"{imageFile.FileName}");
|
||||||
using (var stream = new FileStream(filePath, FileMode.Create))
|
using (var stream = new FileStream(filePath, FileMode.Create))
|
||||||
{
|
{
|
||||||
await imageFile.CopyToAsync(stream);
|
await imageFile.CopyToAsync(stream);
|
||||||
@ -639,8 +497,8 @@ namespace asg_form.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class role
|
public class role
|
||||||
{
|
{
|
||||||
@ -675,7 +533,7 @@ namespace asg_form.Controllers
|
|||||||
{
|
{
|
||||||
public long Id { get; set; }
|
public long Id { get; set; }
|
||||||
public int piaoshu { get; set; }
|
public int piaoshu { get; set; }
|
||||||
public DateTime time { get; set; } = DateTime.Now;
|
public DateTime time { get; set; } = DateTime.UtcNow;
|
||||||
public string team_name { get; set; }
|
public string team_name { get; set; }
|
||||||
public string team_password { get; set; }
|
public string team_password { get; set; }
|
||||||
public string team_tel { get; set; }
|
public string team_tel { get; set; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user