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); }); } }