黑名单1.0
This commit is contained in:
parent
500202946d
commit
7935019f48
@ -1,6 +1,8 @@
|
||||
using AsmResolver.PE.DotNet.Cil;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Security.Claims;
|
||||
using static asg_form.Controllers.AssignmentController;
|
||||
|
||||
@ -8,19 +10,30 @@ namespace asg_form.Controllers
|
||||
{
|
||||
public class BlackDB
|
||||
{
|
||||
public string id { get; set; }
|
||||
public string record_name { get; set; }
|
||||
public Guid id { get; set; }
|
||||
public string record_time { get; set; }
|
||||
public string violator { get; set; }
|
||||
public string platform_record { get; set; }
|
||||
public string offending_details { get; set; }
|
||||
public string processing_result { get; set; }
|
||||
public string feature_id { get; set; }
|
||||
|
||||
public string recorder { get; set; }
|
||||
}
|
||||
|
||||
public class BlackFront
|
||||
{
|
||||
public string recordName { get; set; }
|
||||
public string recordTime { get; set; }
|
||||
public string violator { get; set; }
|
||||
public string platformRecord { get; set; }
|
||||
public string offendingDetails { get; set; }
|
||||
public string processingResult { get; set; }
|
||||
public string featureId { get; set; }
|
||||
}
|
||||
|
||||
public class BlackChange
|
||||
{
|
||||
public string id { get; set; }
|
||||
public string recordTime { get; set; }
|
||||
public string violator { get; set; }
|
||||
public string platformRecord { get; set; }
|
||||
public string offendingDetails { get; set; }
|
||||
@ -31,7 +44,15 @@ namespace asg_form.Controllers
|
||||
[ApiController]
|
||||
public class BlackController : ControllerBase
|
||||
{
|
||||
|
||||
private readonly RoleManager<Role> roleManager;
|
||||
private readonly UserManager<User> userManager;
|
||||
public BlackController(
|
||||
RoleManager<Role> roleManager, UserManager<User> userManager)
|
||||
{
|
||||
this.roleManager = roleManager;
|
||||
this.userManager = userManager;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 增加信息
|
||||
/// </summary>
|
||||
@ -39,8 +60,11 @@ namespace asg_form.Controllers
|
||||
/// <returns></returns>
|
||||
[Route("api/v1/blackTable/Add")]
|
||||
[HttpPost]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<object>> blackAdd ([FromBody] BlackFront datas)
|
||||
{
|
||||
string userId = this.User.FindFirst(ClaimTypes.NameIdentifier)!.Value;
|
||||
var user = await userManager.FindByIdAsync(userId);
|
||||
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "nbadmin")||!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
|
||||
{
|
||||
return Ok(new error_mb { code = 401, message = "无权访问" });
|
||||
@ -51,13 +75,13 @@ namespace asg_form.Controllers
|
||||
{
|
||||
var blackp = new BlackDB
|
||||
{
|
||||
id = Guid.NewGuid().ToString(),
|
||||
record_name = datas.recordName,
|
||||
record_time = datas.recordTime,
|
||||
violator = datas.violator,
|
||||
platform_record = datas.platformRecord,
|
||||
offending_details = datas.offendingDetails,
|
||||
processing_result = datas.processingResult,
|
||||
feature_id = datas.featureId,
|
||||
recorder = user.chinaname,
|
||||
};
|
||||
try
|
||||
{
|
||||
@ -85,15 +109,33 @@ namespace asg_form.Controllers
|
||||
/// <returns></returns>
|
||||
[Route("api/v1/blackTable/Update")]
|
||||
[HttpPost]
|
||||
public async Task<ActionResult<object>> blackUpd([FromBody] BlackFront datas)
|
||||
[Authorize]
|
||||
public async Task<ActionResult<object>> blackUpd([FromBody] BlackChange datas)
|
||||
{
|
||||
string userId = this.User.FindFirst(ClaimTypes.NameIdentifier)!.Value;
|
||||
var user = await userManager.FindByIdAsync(userId);
|
||||
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "nbadmin") || !this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
|
||||
{
|
||||
return Ok(new error_mb { code = 401, message = "无权访问" });
|
||||
}
|
||||
TestDbContext sub = new TestDbContext();
|
||||
using (TestDbContext sub = new TestDbContext())
|
||||
{
|
||||
var dataAvb = sub.T_blacks.FirstOrDefault(n => n.id.ToString() == datas.id);
|
||||
if(dataAvb!=null)
|
||||
{
|
||||
dataAvb.record_time = datas.recordTime;
|
||||
dataAvb.violator = datas.violator;
|
||||
dataAvb.platform_record =dataAvb.platform_record;
|
||||
dataAvb.offending_details = dataAvb.offending_details;
|
||||
dataAvb.platform_record = dataAvb.platform_record;
|
||||
dataAvb.recorder = user.chinaname;
|
||||
await sub.SaveChangesAsync();
|
||||
return Ok(new error_mb { code = 200, message = "成功修改" });
|
||||
}
|
||||
return Ok(new { code = 200, message = "记录不存在!" });
|
||||
}
|
||||
|
||||
return Ok(new { code = 200, message = "" });
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -102,16 +144,50 @@ namespace asg_form.Controllers
|
||||
/// <param name="idFind"></param>
|
||||
/// <returns></returns>
|
||||
[Route("api/v1/blackTable/Del")]
|
||||
[HttpGet]
|
||||
[HttpDelete]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<object>> blackDel([FromQuery] string idFind)
|
||||
{
|
||||
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "nbadmin") || !this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
|
||||
{
|
||||
return Ok(new error_mb { code = 401, message = "无权访问" });
|
||||
}
|
||||
TestDbContext sub = new TestDbContext();
|
||||
using (TestDbContext sub = new TestDbContext())
|
||||
{
|
||||
var dataAvb = sub.T_blacks.FirstOrDefault(n => n.id.ToString() == idFind);
|
||||
if (dataAvb != null)
|
||||
{
|
||||
sub.T_blacks.Remove(dataAvb);
|
||||
await sub.SaveChangesAsync();
|
||||
return Ok(new error_mb { code = 200, message = "成功删除" });
|
||||
}
|
||||
return Ok(new { code = 200, message = "没有这个记录!" });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return Ok(new { code = 200, message = "" });
|
||||
[Route("api/v1/admin/FindBlacks")]
|
||||
[HttpGet]
|
||||
public async Task<ActionResult<object>> FindBlacks([FromQuery]string status = null, short page = 1, short limit = 10)
|
||||
{
|
||||
using (TestDbContext sub = new TestDbContext())
|
||||
{
|
||||
var query = sub.T_blacks.AsQueryable();
|
||||
|
||||
var TotalRecords = await query.CountAsync();
|
||||
|
||||
var Tasks = await query
|
||||
.Skip((page - 1) * limit)
|
||||
.Take(limit)
|
||||
.ToListAsync();
|
||||
|
||||
var data = new
|
||||
{
|
||||
rows = Tasks,
|
||||
total = TotalRecords,
|
||||
};
|
||||
return Ok(new { code = 200, message = " ", data });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ namespace asg_form
|
||||
string msg = "为了良好的赛事环境,我们对以下选手进行禁赛处理";
|
||||
foreach (var b in blacks)
|
||||
{
|
||||
msg = $"{msg}\r\n{b.record_name} {b.violator} {b.platform_record} {b.offending_details} {b.processing_result} {b.feature_id}";
|
||||
msg = $"{msg}\r\n{b.record_time} {b.violator} {b.platform_record} {b.offending_details} {b.processing_result} {b.feature_id}";
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user