团队管理接口枚举统一
This commit is contained in:
parent
a3cec717c7
commit
321124eca0
@ -137,11 +137,6 @@ public class MyTeamDto
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 成立日期
|
|
||||||
/// </summary>
|
|
||||||
public DateTime EstablishedDate { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 队员数量
|
/// 队员数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -177,7 +177,6 @@ public class MyController : IDynamicApiController
|
|||||||
{
|
{
|
||||||
Id = t.Id,
|
Id = t.Id,
|
||||||
Name = t.Name,
|
Name = t.Name,
|
||||||
EstablishedDate = t.EstablishedDate,
|
|
||||||
IsLeader = true,
|
IsLeader = true,
|
||||||
MemberCount = 0 // 暂无 Member 表关联,置为 0 或需扩展
|
MemberCount = 0 // 暂无 Member 表关联,置为 0 或需扩展
|
||||||
});
|
});
|
||||||
|
|||||||
@ -43,18 +43,6 @@ public class AddTeamInput
|
|||||||
[Required(ErrorMessage = "团队名称不能为空"), MaxLength(64)]
|
[Required(ErrorMessage = "团队名称不能为空"), MaxLength(64)]
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 团队简介
|
|
||||||
/// </summary>
|
|
||||||
[MaxLength(512)]
|
|
||||||
public string? Introduction { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 成立时间
|
|
||||||
/// </summary>
|
|
||||||
[Required(ErrorMessage = "成立时间不能为空")]
|
|
||||||
public DateTime EstablishedDate { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 领队ID集合
|
/// 领队ID集合
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -98,16 +86,6 @@ public class TeamOutput
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 团队简介
|
|
||||||
/// </summary>
|
|
||||||
public string? Introduction { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 成立时间
|
|
||||||
/// </summary>
|
|
||||||
public DateTime EstablishedDate { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 状态
|
/// 状态
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -156,14 +134,14 @@ public class TeamMemberOutput
|
|||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色
|
/// 角色 (PersonType)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public TeamRole Role { get; set; }
|
public PersonType PersonType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 角色描述
|
/// 角色描述
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string RoleName => Role.Description();
|
public string RoleName => PersonType.Description();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 联系电话
|
/// 联系电话
|
||||||
|
|||||||
@ -56,14 +56,14 @@ public class TeamService : BaseService<Core.Entities.Team>, IDynamicApiControlle
|
|||||||
var teamIds = result.Rows.Select(x => x.Id).ToList();
|
var teamIds = result.Rows.Select(x => x.Id).ToList();
|
||||||
var members = await _memberRep.AsQueryable()
|
var members = await _memberRep.AsQueryable()
|
||||||
.LeftJoin<Core.Entities.AppUser>((m, u) => m.UserId == u.Id)
|
.LeftJoin<Core.Entities.AppUser>((m, u) => m.UserId == u.Id)
|
||||||
.Where(m => teamIds.Contains(m.TeamId) && (m.Role == TeamRole.Leader || m.Role == TeamRole.Coach))
|
.Where(m => teamIds.Contains(m.TeamId) && (m.PersonType == PersonType.Leader || m.PersonType == PersonType.Coach))
|
||||||
.Select((m, u) => new { m.TeamId, m.Role, u.Name })
|
.Select((m, u) => new { m.TeamId, m.PersonType, u.Name })
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
foreach (var item in result.Rows)
|
foreach (var item in result.Rows)
|
||||||
{
|
{
|
||||||
item.LeaderNames = string.Join(", ", members.Where(m => m.TeamId == item.Id && m.Role == TeamRole.Leader).Select(m => m.Name));
|
item.LeaderNames = string.Join(", ", members.Where(m => m.TeamId == item.Id && m.PersonType == PersonType.Leader).Select(m => m.Name));
|
||||||
item.CoachNames = string.Join(", ", members.Where(m => m.TeamId == item.Id && m.Role == TeamRole.Coach).Select(m => m.Name));
|
item.CoachNames = string.Join(", ", members.Where(m => m.TeamId == item.Id && m.PersonType == PersonType.Coach).Select(m => m.Name));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ public class TeamService : BaseService<Core.Entities.Team>, IDynamicApiControlle
|
|||||||
UserId = m.UserId,
|
UserId = m.UserId,
|
||||||
Name = u.Name,
|
Name = u.Name,
|
||||||
Mobile = u.Mobile,
|
Mobile = u.Mobile,
|
||||||
Role = m.Role
|
PersonType = m.PersonType
|
||||||
})
|
})
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
@ -122,13 +122,13 @@ public class TeamService : BaseService<Core.Entities.Team>, IDynamicApiControlle
|
|||||||
var members = new List<TeamMember>();
|
var members = new List<TeamMember>();
|
||||||
|
|
||||||
if (input.LeaderIds != null)
|
if (input.LeaderIds != null)
|
||||||
members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, Role = TeamRole.Leader, JoinTime = DateTime.Now }));
|
members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now }));
|
||||||
|
|
||||||
if (input.CoachIds != null)
|
if (input.CoachIds != null)
|
||||||
members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, Role = TeamRole.Coach, JoinTime = DateTime.Now }));
|
members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now }));
|
||||||
|
|
||||||
if (input.MemberIds != null)
|
if (input.MemberIds != null)
|
||||||
members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = newTeam.Id, UserId = uid, Role = TeamRole.Member, 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())
|
if (members.Any())
|
||||||
{
|
{
|
||||||
@ -202,13 +202,13 @@ public class TeamService : BaseService<Core.Entities.Team>, IDynamicApiControlle
|
|||||||
|
|
||||||
var members = new List<TeamMember>();
|
var members = new List<TeamMember>();
|
||||||
if (input.LeaderIds != null)
|
if (input.LeaderIds != null)
|
||||||
members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, Role = TeamRole.Leader, JoinTime = DateTime.Now }));
|
members.AddRange(input.LeaderIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Leader, JoinTime = DateTime.Now }));
|
||||||
|
|
||||||
if (input.CoachIds != null)
|
if (input.CoachIds != null)
|
||||||
members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, Role = TeamRole.Coach, JoinTime = DateTime.Now }));
|
members.AddRange(input.CoachIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Coach, JoinTime = DateTime.Now }));
|
||||||
|
|
||||||
if (input.MemberIds != null)
|
if (input.MemberIds != null)
|
||||||
members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, Role = TeamRole.Member, JoinTime = DateTime.Now }));
|
members.AddRange(input.MemberIds.Select(uid => new TeamMember { TeamId = team.Id, UserId = uid, PersonType = PersonType.Athlete, JoinTime = DateTime.Now }));
|
||||||
|
|
||||||
if (members.Any())
|
if (members.Any())
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2497,11 +2497,6 @@
|
|||||||
团队名称
|
团队名称
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:YD_Event.Application.Client.Dtos.MyTeamDto.EstablishedDate">
|
|
||||||
<summary>
|
|
||||||
成立日期
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:YD_Event.Application.Client.Dtos.MyTeamDto.MemberCount">
|
<member name="P:YD_Event.Application.Client.Dtos.MyTeamDto.MemberCount">
|
||||||
<summary>
|
<summary>
|
||||||
队员数量
|
队员数量
|
||||||
@ -7919,16 +7914,6 @@
|
|||||||
团队名称
|
团队名称
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:YD_Event.Application.Team.Dtos.AddTeamInput.Introduction">
|
|
||||||
<summary>
|
|
||||||
团队简介
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:YD_Event.Application.Team.Dtos.AddTeamInput.EstablishedDate">
|
|
||||||
<summary>
|
|
||||||
成立时间
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:YD_Event.Application.Team.Dtos.AddTeamInput.LeaderIds">
|
<member name="P:YD_Event.Application.Team.Dtos.AddTeamInput.LeaderIds">
|
||||||
<summary>
|
<summary>
|
||||||
领队ID集合
|
领队ID集合
|
||||||
@ -7969,16 +7954,6 @@
|
|||||||
团队名称
|
团队名称
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:YD_Event.Application.Team.Dtos.TeamOutput.Introduction">
|
|
||||||
<summary>
|
|
||||||
团队简介
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:YD_Event.Application.Team.Dtos.TeamOutput.EstablishedDate">
|
|
||||||
<summary>
|
|
||||||
成立时间
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:YD_Event.Application.Team.Dtos.TeamOutput.Status">
|
<member name="P:YD_Event.Application.Team.Dtos.TeamOutput.Status">
|
||||||
<summary>
|
<summary>
|
||||||
状态
|
状态
|
||||||
@ -8024,9 +7999,9 @@
|
|||||||
姓名
|
姓名
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:YD_Event.Application.Team.Dtos.TeamMemberOutput.Role">
|
<member name="P:YD_Event.Application.Team.Dtos.TeamMemberOutput.PersonType">
|
||||||
<summary>
|
<summary>
|
||||||
角色
|
角色 (PersonType)
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:YD_Event.Application.Team.Dtos.TeamMemberOutput.RoleName">
|
<member name="P:YD_Event.Application.Team.Dtos.TeamMemberOutput.RoleName">
|
||||||
|
|||||||
@ -15,17 +15,6 @@ public class Team : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUp
|
|||||||
[SugarColumn(Length = 64)]
|
[SugarColumn(Length = 64)]
|
||||||
public string Name { get; set; } = null!;
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 团队简介
|
|
||||||
/// </summary>
|
|
||||||
[SugarColumn(Length = 512, IsNullable = true)]
|
|
||||||
public string? Introduction { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 成立时间
|
|
||||||
/// </summary>
|
|
||||||
public DateTime EstablishedDate { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 团队状态
|
/// 团队状态
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -20,9 +20,9 @@ public class TeamMember : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTim
|
|||||||
public long UserId { get; set; }
|
public long UserId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 团队角色
|
/// 团队角色 (PersonType)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public TeamRole Role { get; set; }
|
public PersonType PersonType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 加入时间
|
/// 加入时间
|
||||||
|
|||||||
@ -1,28 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.ComponentModel;
|
|
||||||
|
|
||||||
namespace YD_Event.Core.Enum;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 团队角色 (请统一使用 PersonType: 1=运动员, 2=教练, 3=领队)
|
|
||||||
/// </summary>
|
|
||||||
public enum TeamRole
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 队员
|
|
||||||
/// </summary>
|
|
||||||
[Description("队员")]
|
|
||||||
Member = 0,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 领队
|
|
||||||
/// </summary>
|
|
||||||
[Description("领队")]
|
|
||||||
Leader = 1,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 教练
|
|
||||||
/// </summary>
|
|
||||||
[Description("教练")]
|
|
||||||
Coach = 2
|
|
||||||
}
|
|
||||||
@ -3770,16 +3770,6 @@
|
|||||||
团队名称
|
团队名称
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:YD_Event.Core.Entities.Team.Introduction">
|
|
||||||
<summary>
|
|
||||||
团队简介
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:YD_Event.Core.Entities.Team.EstablishedDate">
|
|
||||||
<summary>
|
|
||||||
成立时间
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:YD_Event.Core.Entities.Team.Status">
|
<member name="P:YD_Event.Core.Entities.Team.Status">
|
||||||
<summary>
|
<summary>
|
||||||
团队状态
|
团队状态
|
||||||
@ -3825,9 +3815,9 @@
|
|||||||
用户ID(关联AppUser)
|
用户ID(关联AppUser)
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:YD_Event.Core.Entities.TeamMember.Role">
|
<member name="P:YD_Event.Core.Entities.TeamMember.PersonType">
|
||||||
<summary>
|
<summary>
|
||||||
团队角色
|
团队角色 (PersonType)
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:YD_Event.Core.Entities.TeamMember.JoinTime">
|
<member name="P:YD_Event.Core.Entities.TeamMember.JoinTime">
|
||||||
@ -4315,26 +4305,6 @@
|
|||||||
两者都有
|
两者都有
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:YD_Event.Core.Enum.TeamRole">
|
|
||||||
<summary>
|
|
||||||
团队角色 (请统一使用 PersonType: 1=运动员, 2=教练, 3=领队)
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:YD_Event.Core.Enum.TeamRole.Member">
|
|
||||||
<summary>
|
|
||||||
队员
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:YD_Event.Core.Enum.TeamRole.Leader">
|
|
||||||
<summary>
|
|
||||||
领队
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="F:YD_Event.Core.Enum.TeamRole.Coach">
|
|
||||||
<summary>
|
|
||||||
教练
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="T:YD_Event.Core.Enum.UnitType">
|
<member name="T:YD_Event.Core.Enum.UnitType">
|
||||||
<summary>
|
<summary>
|
||||||
参与单位类型
|
参与单位类型
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user