团队新增验证

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> /// <summary>
/// 领队ID集合 /// 领队ID集合
/// </summary> /// </summary>
public List<long>? LeaderIds { get; set; } [Required(ErrorMessage = "请选择领队")]
[MinLength(1, ErrorMessage = "至少需要选择一名领队")]
public List<long> LeaderIds { get; set; } = null!;
/// <summary> /// <summary>
/// 教练ID集合 /// 教练ID集合
/// </summary> /// </summary>
public List<long>? CoachIds { get; set; } [Required(ErrorMessage = "请选择教练")]
[MinLength(1, ErrorMessage = "至少需要选择一名教练")]
public List<long> CoachIds { get; set; } = null!;
/// <summary> /// <summary>
/// 队员ID集合 /// 队员ID集合
/// </summary> /// </summary>
public List<long>? MemberIds { get; set; } [Required(ErrorMessage = "请选择队员")]
[MinLength(1, ErrorMessage = "至少需要选择一名队员")]
public List<long> MemberIds { get; set; } = null!;
} }
/// <summary> /// <summary>

View File

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