团队新增验证

This commit is contained in:
马梓彭 2026-04-07 14:14:25 +08:00
parent b2dafc2ad2
commit efabdebbd2
2 changed files with 18 additions and 29 deletions

View File

@ -46,17 +46,23 @@ public class AddTeamInput
/// <summary>
/// 领队ID集合
/// </summary>
public List<long>? LeaderIds { get; set; }
[Required(ErrorMessage = "请选择领队")]
[MinLength(1, ErrorMessage = "至少需要选择一名领队")]
public List<long> LeaderIds { get; set; } = null!;
/// <summary>
/// 教练ID集合
/// </summary>
public List<long>? CoachIds { get; set; }
[Required(ErrorMessage = "请选择教练")]
[MinLength(1, ErrorMessage = "至少需要选择一名教练")]
public List<long> CoachIds { get; set; } = null!;
/// <summary>
/// 队员ID集合
/// </summary>
public List<long>? MemberIds { get; set; }
[Required(ErrorMessage = "请选择队员")]
[MinLength(1, ErrorMessage = "至少需要选择一名队员")]
public List<long> MemberIds { get; set; } = null!;
}
/// <summary>

View File

@ -123,20 +123,12 @@ public class TeamService : BaseService<Core.Entities.Team>, IDynamicApiControlle
var newTeam = await _teamRep.InsertReturnEntityAsync(team);
var members = new List<TeamMember>();
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<Core.Entities.Team>, IDynamicApiControlle
await _memberRep.DeleteAsync(m => m.TeamId == input.Id);
var members = new List<TeamMember>();
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);
});
}
}