From efabdebbd2e1dd6aec4b16f42ccf76de1b7f3019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E6=A2=93=E5=BD=AD?= Date: Tue, 7 Apr 2026 14:14:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=A2=E9=98=9F=E6=96=B0=E5=A2=9E=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YD_Event.Application/Team/Dtos/TeamDtos.cs | 12 ++++++-- YD_Event.Application/Team/TeamService.cs | 35 ++++++---------------- 2 files changed, 18 insertions(+), 29 deletions(-) diff --git a/YD_Event.Application/Team/Dtos/TeamDtos.cs b/YD_Event.Application/Team/Dtos/TeamDtos.cs index 77e4da5..db1b191 100644 --- a/YD_Event.Application/Team/Dtos/TeamDtos.cs +++ b/YD_Event.Application/Team/Dtos/TeamDtos.cs @@ -46,17 +46,23 @@ public class AddTeamInput /// /// 领队ID集合 /// - public List? LeaderIds { get; set; } + [Required(ErrorMessage = "请选择领队")] + [MinLength(1, ErrorMessage = "至少需要选择一名领队")] + public List LeaderIds { get; set; } = null!; /// /// 教练ID集合 /// - public List? CoachIds { get; set; } + [Required(ErrorMessage = "请选择教练")] + [MinLength(1, ErrorMessage = "至少需要选择一名教练")] + public List CoachIds { get; set; } = null!; /// /// 队员ID集合 /// - public List? MemberIds { get; set; } + [Required(ErrorMessage = "请选择队员")] + [MinLength(1, ErrorMessage = "至少需要选择一名队员")] + public List MemberIds { get; set; } = null!; } /// diff --git a/YD_Event.Application/Team/TeamService.cs b/YD_Event.Application/Team/TeamService.cs index c92a2e0..ab1b008 100644 --- a/YD_Event.Application/Team/TeamService.cs +++ b/YD_Event.Application/Team/TeamService.cs @@ -123,20 +123,12 @@ public class TeamService : BaseService, IDynamicApiControlle var newTeam = await _teamRep.InsertReturnEntityAsync(team); var members = new List(); - if (input.LeaderIds != null) - members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now })); - - if (input.CoachIds != null) - members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now })); - - if (input.MemberIds != null) - members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Athlete, JoinTime = DateTime.Now })); + members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now })); + members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now })); + members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Athlete, JoinTime = DateTime.Now })); - if (members.Any()) - { - // 去重,防止同一个人在同一个团队有多个角色(如果业务允许则不需要去重,这里假设允许) - await _memberRep.InsertRangeAsync(members); - } + // 去重,防止同一个人在同一个团队有多个角色(如果业务允许则不需要去重,这里假设允许) + await _memberRep.InsertRangeAsync(members); }); } @@ -203,19 +195,10 @@ public class TeamService : BaseService, IDynamicApiControlle await _memberRep.DeleteAsync(m => m.TeamId == input.Id); var members = new List(); - if (input.LeaderIds != null) - members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now })); - - if (input.CoachIds != null) - members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now })); - - if (input.MemberIds != null) - members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Athlete, JoinTime = DateTime.Now })); - - if (members.Any()) - { - await _memberRep.InsertRangeAsync(members); - } + members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now })); + members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now })); + members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Athlete, JoinTime = DateTime.Now })); + await _memberRep.InsertRangeAsync(members); }); } }