From 6ce23b1857e5948aa05dba948e3c00becc28ef8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=82=9C=E7=BF=94?= <2307953404@qq.com> Date: Thu, 10 Oct 2024 16:08:18 +0800 Subject: [PATCH] 1 --- asg_form/Controllers/InviteReferee.cs | 36 +++++++++--- asg_form/Controllers/schedule.cs | 85 +++++++++++++++------------ 2 files changed, 76 insertions(+), 45 deletions(-) diff --git a/asg_form/Controllers/InviteReferee.cs b/asg_form/Controllers/InviteReferee.cs index 03c2a92..98c304e 100644 --- a/asg_form/Controllers/InviteReferee.cs +++ b/asg_form/Controllers/InviteReferee.cs @@ -22,15 +22,21 @@ namespace asg_form.Controllers public class InviteBg { public int id { get; set; } - public int userId { get; set; } - public List myRequest { get; set; } + public int user_id { get; set; } + public List<(int invitor_id, int match_id)>? my_request { get; set; } = new List<(int, int)>(); + } + public class inv + { + public int invitedId { get; set; } + public int matchId { get; set; } + } [Route("api/v1/Invite")] - [HttpGet] + [HttpPost] [Authorize] - public async Task> GetReferee([FromBody] long Inviteeid) + public async Task> GetReferee([FromBody] inv msg) { string Invitorid = this.User.FindFirst(ClaimTypes.NameIdentifier)!.Value; var user = await userManager.FindByIdAsync(Invitorid); @@ -40,16 +46,28 @@ namespace asg_form.Controllers { try { - //var userInvited = await userManager.Users.FirstOrDefaultAsync(x => x.Id == Inviteeid); - //if (userInvited != null) return Ok(new { code = 404, message = "用户未找到" }); - var query = await sb.T_Invitation.FindAsync(Inviteeid); + var userInvited = await userManager.Users.FirstOrDefaultAsync(x => x.Id == msg.invitedId); + if (userInvited != null) return Ok(new { code = 404, message = "用户未找到" }); + var invitationRecord = await sb.T_Invitation.FindAsync(msg.invitedId); - }catch (Exception ex) + if (invitationRecord != null) + { + if (invitationRecord.my_request.Any(req => req.invitor_id == userId && req.match_id == msg.matchId)) + { + return Ok(new { code = 409, message = "邀请已存在" }); + } + } + + + + + } + catch (Exception ex) { return Ok(new { code = 500, message = "服务器错误", details = ex.Message }); } - return Ok(); + return Ok(new { code = 200, message = "邀请成功" }); } } } diff --git a/asg_form/Controllers/schedule.cs b/asg_form/Controllers/schedule.cs index ac4785f..976a989 100644 --- a/asg_form/Controllers/schedule.cs +++ b/asg_form/Controllers/schedule.cs @@ -6,6 +6,7 @@ using System.Security.Claims; using Microsoft.EntityFrameworkCore; using NPOI.OpenXmlFormats.Spreadsheet; using Castle.Components.DictionaryAdapter; +using Flandre.Core.Messaging; namespace asg_form.Controllers { @@ -33,24 +34,29 @@ namespace asg_form.Controllers bool a = await userManager.IsInRoleAsync(user, "admin"); if (a) { - TestDbContext testDb = new TestDbContext(); - - var game = await testDb.team_Games.FirstOrDefaultAsync(a => a.id == gameid); - game.team1_name = req.team1_name; - game.team2_name = req.team2_name; - game.opentime = req.opentime; - game.commentary = req.commentary; - game.bilibiliuri = req.bilibiliuri; - game.referee = req.referee; - game.belong = req.belong; - game.tag=req.tag; - await testDb.SaveChangesAsync(); - return "ok"; - - - + try + { + using (TestDbContext testDb = new TestDbContext()) + { + var game = await testDb.team_Games.FirstOrDefaultAsync(a => a.id == gameid); + game.team1_name = req.team1_name; + game.team2_name = req.team2_name; + game.opentime = req.opentime; + game.commentary = req.commentary; + game.bilibiliuri = req.bilibiliuri; + game.referee = req.referee; + game.belong = req.belong; + game.tag=req.tag; + await testDb.SaveChangesAsync(); + return Ok(new { code = 200, message = "加入成功" }); + } + }catch (Exception ex) + { + return Ok(new { code = 500, message = "服务器错误", details = ex.Message }); + } + } - return BadRequest(new error_mb { code = 400, message = "无权访问" }); + return Ok(new error_mb { code = 401, message = "无权访问" }); } @@ -76,26 +82,33 @@ namespace asg_form.Controllers bool a = await userManager.IsInRoleAsync(user, "admin"); if (a) { - TestDbContext testDb = new TestDbContext(); - testDb.team_Games.Add(new team_game { - team1_name = req.team1_name, - team2_name = req.team2_name, - opentime = req.opentime, - team1_piaoshu = 0, - team2_piaoshu = 0 , - commentary=req.commentary, - referee=req.referee, - belong=req.belong, - tag=req.tag - }); - await testDb.SaveChangesAsync(); - return "ok"; - } - else - { - return BadRequest(new error_mb { code = 400, message = "无权访问" }); - + try + { + using (TestDbContext testDb = new TestDbContext()) + { + testDb.team_Games.Add(new team_game + { + team1_name = req.team1_name, + team2_name = req.team2_name, + opentime = req.opentime, + team1_piaoshu = 0, + team2_piaoshu = 0, + commentary = req.commentary, + referee = req.referee, + belong = req.belong, + tag = req.tag + }); + await testDb.SaveChangesAsync(); + return Ok(new { code = 200, message = "加入成功" }); + } + + }catch (Exception ex) + { + return Ok(new { code = 500, message = "服务器错误", details = ex.Message }); + } + } + return BadRequest(new error_mb { code = 401, message = "无权访问" }); }