黑名单1.0
This commit is contained in:
		
							parent
							
								
									500202946d
								
							
						
					
					
						commit
						7935019f48
					
				@ -1,6 +1,8 @@
 | 
				
			|||||||
using AsmResolver.PE.DotNet.Cil;
 | 
					using AsmResolver.PE.DotNet.Cil;
 | 
				
			||||||
using Microsoft.AspNetCore.Authorization;
 | 
					using Microsoft.AspNetCore.Authorization;
 | 
				
			||||||
 | 
					using Microsoft.AspNetCore.Identity;
 | 
				
			||||||
using Microsoft.AspNetCore.Mvc;
 | 
					using Microsoft.AspNetCore.Mvc;
 | 
				
			||||||
 | 
					using Microsoft.EntityFrameworkCore;
 | 
				
			||||||
using System.Security.Claims;
 | 
					using System.Security.Claims;
 | 
				
			||||||
using static asg_form.Controllers.AssignmentController;
 | 
					using static asg_form.Controllers.AssignmentController;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -8,19 +10,30 @@ namespace asg_form.Controllers
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    public class BlackDB
 | 
					    public class BlackDB
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public string id { get; set; }
 | 
					        public Guid id { get; set; }
 | 
				
			||||||
        public string record_name { get; set; }
 | 
					        public string record_time { get; set; }
 | 
				
			||||||
        public string violator { get; set; }
 | 
					        public string violator { get; set; }
 | 
				
			||||||
        public string platform_record { get; set; }
 | 
					        public string platform_record { get; set; }
 | 
				
			||||||
        public string offending_details { get; set; }
 | 
					        public string offending_details { get; set; }
 | 
				
			||||||
        public string processing_result { get; set; }
 | 
					        public string processing_result { get; set; }
 | 
				
			||||||
        public string feature_id { get; set; }
 | 
					        public string feature_id { get; set; }
 | 
				
			||||||
 | 
					        public string recorder {  get; set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public class BlackFront
 | 
					    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 violator { get; set; }
 | 
				
			||||||
        public string platformRecord { get; set; }
 | 
					        public string platformRecord { get; set; }
 | 
				
			||||||
        public string offendingDetails { get; set; }
 | 
					        public string offendingDetails { get; set; }
 | 
				
			||||||
@ -31,6 +44,14 @@ namespace asg_form.Controllers
 | 
				
			|||||||
    [ApiController]
 | 
					    [ApiController]
 | 
				
			||||||
    public class BlackController : ControllerBase
 | 
					    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>
 | 
					        /// <returns></returns>
 | 
				
			||||||
        [Route("api/v1/blackTable/Add")]
 | 
					        [Route("api/v1/blackTable/Add")]
 | 
				
			||||||
        [HttpPost]
 | 
					        [HttpPost]
 | 
				
			||||||
 | 
					        [Authorize]
 | 
				
			||||||
        public async Task<ActionResult<object>> blackAdd ([FromBody] BlackFront datas)
 | 
					        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"))
 | 
					            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 = "无权访问" });
 | 
					                return Ok(new error_mb { code = 401, message = "无权访问" });
 | 
				
			||||||
@ -51,13 +75,13 @@ namespace asg_form.Controllers
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    var blackp = new BlackDB
 | 
					                    var blackp = new BlackDB
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        id = Guid.NewGuid().ToString(),
 | 
					                        record_time = datas.recordTime,
 | 
				
			||||||
                        record_name = datas.recordName,
 | 
					 | 
				
			||||||
                        violator = datas.violator,
 | 
					                        violator = datas.violator,
 | 
				
			||||||
                        platform_record = datas.platformRecord,
 | 
					                        platform_record = datas.platformRecord,
 | 
				
			||||||
                        offending_details = datas.offendingDetails,
 | 
					                        offending_details = datas.offendingDetails,
 | 
				
			||||||
                        processing_result = datas.processingResult,
 | 
					                        processing_result = datas.processingResult,
 | 
				
			||||||
                        feature_id = datas.featureId,
 | 
					                        feature_id = datas.featureId,
 | 
				
			||||||
 | 
					                        recorder = user.chinaname,
 | 
				
			||||||
                    };
 | 
					                    };
 | 
				
			||||||
                    try
 | 
					                    try
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
@ -85,15 +109,33 @@ namespace asg_form.Controllers
 | 
				
			|||||||
        /// <returns></returns>
 | 
					        /// <returns></returns>
 | 
				
			||||||
        [Route("api/v1/blackTable/Update")]
 | 
					        [Route("api/v1/blackTable/Update")]
 | 
				
			||||||
        [HttpPost]
 | 
					        [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"))
 | 
					            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 = "无权访问" });
 | 
					                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>
 | 
					        /// <summary>
 | 
				
			||||||
@ -102,16 +144,50 @@ namespace asg_form.Controllers
 | 
				
			|||||||
        /// <param name="idFind"></param>
 | 
					        /// <param name="idFind"></param>
 | 
				
			||||||
        /// <returns></returns>
 | 
					        /// <returns></returns>
 | 
				
			||||||
        [Route("api/v1/blackTable/Del")]
 | 
					        [Route("api/v1/blackTable/Del")]
 | 
				
			||||||
        [HttpGet]
 | 
					        [HttpDelete]
 | 
				
			||||||
 | 
					        [Authorize]
 | 
				
			||||||
        public async Task<ActionResult<object>> blackDel([FromQuery] string idFind)
 | 
					        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"))
 | 
					            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 = "无权访问" });
 | 
					                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 = "为了良好的赛事环境,我们对以下选手进行禁赛处理";
 | 
					                    string msg = "为了良好的赛事环境,我们对以下选手进行禁赛处理";
 | 
				
			||||||
                    foreach (var b in blacks)
 | 
					                    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;
 | 
					                    return msg;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user