用户类型统一

This commit is contained in:
马梓彭 2026-03-20 02:00:34 +08:00
parent 72aab6fe8d
commit a3cec717c7
13 changed files with 166 additions and 230 deletions

View File

@ -39,7 +39,7 @@ public class AppUserService : BaseService<AppUserEntity>, ITransient
public async Task<PageResult<AppUserOutput>> Page([FromQuery] AppUserPageInput input)
{
var query = _appUserRep.AsQueryable()
.Where(u => u.PersonType == 0) // 仅查询普通用户
.Where(u => u.PersonType == PersonType.User) // 仅查询普通用户
.WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name))
.WhereIF(input.Gender.HasValue, u => u.Gender == input.Gender)
.WhereIF(!string.IsNullOrWhiteSpace(input.Mobile), u => u.Mobile.Contains(input.Mobile))
@ -107,8 +107,8 @@ public class AppUserService : BaseService<AppUserEntity>, ITransient
.WhereIF(input.Gender.HasValue, x => x.Gender == input.Gender)
.WhereIF(!string.IsNullOrWhiteSpace(input.Phone), x => x.Mobile.Contains(input.Phone))
.WhereIF(!string.IsNullOrWhiteSpace(input.IdCardNumber), u => u.IdCardNumber.Contains(input.IdCardNumber))
.WhereIF(input.PersonType == 2 && !string.IsNullOrWhiteSpace(input.SkillLevel), x => x.SkillLevel == input.SkillLevel)
.WhereIF(input.PersonType == 2 && input.CertificationStatus.HasValue, x => x.CertificationStatus == input.CertificationStatus)
.WhereIF(input.PersonType == PersonType.Coach && !string.IsNullOrWhiteSpace(input.SkillLevel), x => x.SkillLevel == input.SkillLevel)
.WhereIF(input.PersonType == PersonType.Coach && input.CertificationStatus.HasValue, x => x.CertificationStatus == input.CertificationStatus)
.WhereIF(input.StartTime.HasValue, u => u.CreatedTime >= input.StartTime)
.WhereIF(input.EndTime.HasValue, u => u.CreatedTime <= input.EndTime)
.OrderByDescending(x => x.CreatedTime);
@ -165,12 +165,12 @@ public class AppUserService : BaseService<AppUserEntity>, ITransient
}
// 只有领队和教练强校验手机号
if (input.PersonType == 1 || input.PersonType == 2)
if (input.PersonType == PersonType.Leader || input.PersonType == PersonType.Coach)
{
if (await queryPhone.AnyAsync()) throw Oops.Bah($"该手机号的成员已存在");
}
// 运动员强校验身份证
if (input.PersonType == 3)
if (input.PersonType == PersonType.Athlete)
{
if (await queryIdCard.AnyAsync()) throw Oops.Bah($"该身份证号的成员已存在");
}
@ -221,7 +221,7 @@ public class AppUserService : BaseService<AppUserEntity>, ITransient
entity.Age = input.Age;
}
if (input.PersonType == 2)
if (input.PersonType == PersonType.Coach)
{
entity.SkillLevel = input.SkillLevel;
entity.CertificationStatus = input.CertificationStatus;

View File

@ -45,10 +45,11 @@ public class AppUserPageInput : Pagination
public class MemberQueryInput : Pagination
{
/// <summary>
/// 人员类型:1-领队,2-教练,3-运动员
/// 人员类型:1-运动员,2-教练,3-领队
/// </summary>
[Required(ErrorMessage = "人员类型不能为空")]
public int PersonType { get; set; }
[EnumDataType(typeof(PersonType), ErrorMessage = "不支持的人员类型")]
public PersonType PersonType { get; set; }
/// <summary>
/// 姓名
@ -97,9 +98,9 @@ public class MemberQueryInput : Pagination
public class MemberOutput : AppUserOutput
{
/// <summary>
/// 人员类型:1-领队,2-教练,3-运动员
/// 人员类型:1-运动员,2-教练,3-领队
/// </summary>
public int PersonType { get; set; }
public PersonType PersonType { get; set; }
/// <summary>
/// 年龄
@ -123,10 +124,11 @@ public class MemberOutput : AppUserOutput
public class CreateOrUpdateMemberInput
{
/// <summary>
/// 人员类型:1-领队,2-教练,3-运动员
/// 人员类型:1-运动员,2-教练,3-领队
/// </summary>
[Required(ErrorMessage = "人员类型不能为空")]
public int PersonType { get; set; }
[EnumDataType(typeof(PersonType), ErrorMessage = "不支持的人员类型")]
public PersonType PersonType { get; set; }
/// <summary>
/// ID (更新时必填)
@ -153,8 +155,8 @@ public class CreateOrUpdateMemberInput
/// <summary>
/// 身份证号
/// </summary>
[Required(ErrorMessage = "身份证号不能为空")]
[RegularExpression(@"(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)", ErrorMessage = "身份证号格式不正确")]
//[Required(ErrorMessage = "身份证号不能为空")]
//[RegularExpression(@"(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)", ErrorMessage = "身份证号格式不正确")]
public string IdCard { get; set; }
/// <summary>

View File

@ -356,7 +356,7 @@ public class EventClientController : IDynamicApiController
RegistrationId = registrationId,
RegistrationItemId = regItemId,
ProjectId = item.ProjectId,
PersonType = 1, // 运动员
PersonType = PersonType.Athlete, // 运动员
Name = pInput.Name,
Gender = pInput.Gender,
IdCard = pInput.IdCard,

View File

@ -165,7 +165,7 @@ public class OAuthController : IDynamicApiController
NickName = wxUser.NickName,
Avatar = wxUser.AvatarUrl,
Gender = (Gender)wxUser.Gender,
PersonType = 0, // 普通用户
PersonType = PersonType.User, // 普通用户
Status = AvailabilityStatus.Enable,
AuditStatus = AuditStatus.Pass,
CreatedTime = DateTime.Now,

View File

@ -94,7 +94,7 @@ public class CoachLeaderQueryInput : Pagination
/// <summary>
/// 人员类型 (2-教练, 3-领队)
/// </summary>
public int PersonType { get; set; }
public PersonType PersonType { get; set; }
/// <summary>
/// 姓名

View File

@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using YD_Event.Application.Event.Dtos;
using YD_Event.Core.Entities;
using YD_Event.Core.Enum;
using MiniExcelLibs;
using SqlSugar;
@ -42,7 +43,7 @@ public class EventScoreService : BaseService<EventResult>, ITransient
.LeftJoin<EventRegistration>((p, r) => p.RegistrationId == r.Id)
.LeftJoin<EventResult>((p, r, res) => p.Id == res.RegistrationPersonId)
.LeftJoin<EventCertificate>((p, r, res, c) => res.Id == c.ResultId)
.Where((p, r, res, c) => r.EventId == input.EventId && (p.PersonType == 1 || p.PersonType == 0))
.Where((p, r, res, c) => r.EventId == input.EventId && (p.PersonType == PersonType.Athlete || p.PersonType == PersonType.User))
.WhereIF(input.ProjectId.HasValue, p => p.ProjectId == input.ProjectId)
.WhereIF(!string.IsNullOrWhiteSpace(input.GroupName), p => p.GroupName == input.GroupName)
.WhereIF(!string.IsNullOrWhiteSpace(input.Name), p => p.Name.Contains(input.Name))
@ -143,7 +144,7 @@ public class EventScoreService : BaseService<EventResult>, ITransient
var person = await _personRepository.GetByIdAsync(personId);
if (person == null) continue;
if (person.PersonType == 1 || person.PersonType == 0)
if (person.PersonType == PersonType.Athlete || person.PersonType == PersonType.User)
{
var result = await _resultRepository.GetFirstAsync(x => x.RegistrationPersonId == person.Id);
if (result == null) continue;

View File

@ -333,7 +333,7 @@ public class UserCompetitionService : IDynamicApiController, ITransient
Phone = member.Mobile,
Age = member.Age,
BirthDate = member.BirthDate ?? DateTime.MinValue,
PersonType = 1,
PersonType = PersonType.Athlete,
CreatedUserId = userId,
CreatedTime = DateTime.Now
};
@ -697,7 +697,7 @@ public class UserCompetitionService : IDynamicApiController, ITransient
RealName = p.Name,
Phone = p.Phone,
Email = "", // 暂无
Role = p.PersonType == 3 ? "队长" : "队员", // 假设
Role = p.PersonType == PersonType.Leader ? "队长" : "队员", // 假设
InviteStatus = "已加入",
JoinTime = p.CreatedTime
}).ToList();
@ -720,8 +720,8 @@ public class UserCompetitionService : IDynamicApiController, ITransient
var person = await _registrationPersonRepository.GetFirstAsync(x => x.RegistrationId == registrationId && x.Id == userId);
if (person == null) throw Oops.Bah("队员不存在");
// 被替换人 role ≠ 队长 (假设 PersonType=3 是队长)
if (person.PersonType == 3) throw Oops.Bah("不能替换队长");
// 被替换人 role ≠ 队长 (假设 PersonType=Leader 是队长)
if (person.PersonType == PersonType.Leader) throw Oops.Bah("不能替换队长");
// 检查新队员
var newUser = await _userRepository.GetByIdAsync(input.NewUserId);

View File

@ -72,46 +72,16 @@
<param name="input"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.GetMemberPage(YD_Event.Application.AppUser.Dtos.TeamMemberQueryInput,System.Int32)">
<member name="M:YD_Event.Application.AppUser.AppUserService.MemberPage(YD_Event.Application.AppUser.Dtos.MemberQueryInput)">
<summary>
领队/教练列表查询
</summary>
<param name="input"></param>
<param name="personType">1-领队,2-教练</param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.LeaderPage(YD_Event.Application.AppUser.Dtos.TeamMemberQueryInput)">
<summary>
领队列表查询
统一分页查询成员
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.CoachPage(YD_Event.Application.AppUser.Dtos.TeamMemberQueryInput)">
<member name="M:YD_Event.Application.AppUser.AppUserService.SaveUnifiedMember(YD_Event.Application.AppUser.Dtos.CreateOrUpdateMemberInput)">
<summary>
教练列表查询
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.SaveMember(YD_Event.Application.AppUser.Dtos.CreateOrUpdateMemberInput,System.Int32)">
<summary>
新增/更新成员
</summary>
<param name="input"></param>
<param name="personType">1-领队,2-教练</param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.SaveLeader(YD_Event.Application.AppUser.Dtos.CreateOrUpdateMemberInput)">
<summary>
新增/编辑领队
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.SaveCoach(YD_Event.Application.AppUser.Dtos.CreateOrUpdateMemberInput)">
<summary>
新增/编辑教练
统一新增/编辑成员
</summary>
<param name="input"></param>
<returns></returns>
@ -123,6 +93,13 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.BatchDeleteMember(System.Collections.Generic.List{System.Int64})">
<summary>
批量删除成员
</summary>
<param name="ids"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.ChangeMemberStatus(YD_Event.Application.AppUser.Dtos.ChangeMemberStatusInput)">
<summary>
变更成员状态
@ -130,27 +107,6 @@
<param name="input"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.Page(YD_Event.Application.AppUser.Dtos.AthleteQueryInput)">
<summary>
分页查询运动员
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.Add(YD_Event.Application.AppUser.Dtos.AddAthleteInput)">
<summary>
新增运动员
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.Update(YD_Event.Application.AppUser.Dtos.UpdateAthleteInput)">
<summary>
修改运动员
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.RecognizeIdCard(YD_Event.Application.AppUser.Dtos.AthleteOcrInput)">
<summary>
识别身份证信息
@ -158,13 +114,6 @@
<param name="input"></param>
<returns></returns>
</member>
<member name="M:YD_Event.Application.AppUser.AppUserService.BatchDelete(System.Collections.Generic.List{System.Int64})">
<summary>
批量删除运动员
</summary>
<param name="ids"></param>
<returns></returns>
</member>
<member name="T:YD_Event.Application.AppUser.Dtos.AppUserPageInput">
<summary>
普通用户分页查询输入
@ -200,41 +149,91 @@
结束时间
</summary>
</member>
<member name="T:YD_Event.Application.AppUser.Dtos.TeamMemberQueryInput">
<member name="T:YD_Event.Application.AppUser.Dtos.MemberQueryInput">
<summary>
领队/教练查询输入
成员统一查询输入(合并领队、教练、运动员)
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.TeamMemberQueryInput.Name">
<member name="P:YD_Event.Application.AppUser.Dtos.MemberQueryInput.PersonType">
<summary>
人员类型:1-运动员,2-教练,3-领队
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.MemberQueryInput.Name">
<summary>
姓名
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.TeamMemberQueryInput.Gender">
<member name="P:YD_Event.Application.AppUser.Dtos.MemberQueryInput.Gender">
<summary>
性别
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.TeamMemberQueryInput.Phone">
<member name="P:YD_Event.Application.AppUser.Dtos.MemberQueryInput.Phone">
<summary>
联系电话
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.TeamMemberQueryInput.SkillLevel">
<member name="P:YD_Event.Application.AppUser.Dtos.MemberQueryInput.IdCardNumber">
<summary>
身份证号 (运动员常用)
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.MemberQueryInput.SkillLevel">
<summary>
技能等级(仅教练)
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.TeamMemberQueryInput.CertificationStatus">
<member name="P:YD_Event.Application.AppUser.Dtos.MemberQueryInput.CertificationStatus">
<summary>
认证状态(仅教练)
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.MemberQueryInput.StartTime">
<summary>
开始注册时间
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.MemberQueryInput.EndTime">
<summary>
结束注册时间
</summary>
</member>
<member name="T:YD_Event.Application.AppUser.Dtos.MemberOutput">
<summary>
统一成员输出
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.MemberOutput.PersonType">
<summary>
人员类型:1-运动员,2-教练,3-领队
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.MemberOutput.Age">
<summary>
年龄
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.MemberOutput.SkillLevel">
<summary>
技能等级(教练)
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.MemberOutput.CertificationStatus">
<summary>
认证状态(教练)
</summary>
</member>
<member name="T:YD_Event.Application.AppUser.Dtos.CreateOrUpdateMemberInput">
<summary>
创建/更新成员输入
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.CreateOrUpdateMemberInput.PersonType">
<summary>
人员类型:1-运动员,2-教练,3-领队
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.CreateOrUpdateMemberInput.Id">
<summary>
ID (更新时必填)
@ -265,6 +264,11 @@
身份证图片URL
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.CreateOrUpdateMemberInput.BirthDate">
<summary>
出生日期 (运动员等)
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.CreateOrUpdateMemberInput.Phone">
<summary>
联系电话
@ -375,136 +379,6 @@
审核备注
</summary>
</member>
<member name="T:YD_Event.Application.AppUser.Dtos.AthleteQueryInput">
<summary>
运动员查询输入
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteQueryInput.Name">
<summary>
姓名
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteQueryInput.IdCardNumber">
<summary>
身份证号
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteQueryInput.StartTime">
<summary>
开始注册时间
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteQueryInput.EndTime">
<summary>
结束注册时间
</summary>
</member>
<member name="T:YD_Event.Application.AppUser.Dtos.AddAthleteInput">
<summary>
新增运动员输入
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AddAthleteInput.Name">
<summary>
姓名
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AddAthleteInput.Gender">
<summary>
性别
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AddAthleteInput.BirthDate">
<summary>
出生日期
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AddAthleteInput.IdCardNumber">
<summary>
身份证号
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AddAthleteInput.IdCardImageUrl">
<summary>
身份证图片URL
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AddAthleteInput.Mobile">
<summary>
联系电话
</summary>
</member>
<member name="T:YD_Event.Application.AppUser.Dtos.UpdateAthleteInput">
<summary>
修改运动员输入
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.UpdateAthleteInput.Id">
<summary>
主键Id
</summary>
</member>
<member name="T:YD_Event.Application.AppUser.Dtos.AthleteOutput">
<summary>
运动员信息输出
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.Id">
<summary>
主键Id
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.Name">
<summary>
姓名
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.Gender">
<summary>
性别
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.GenderName">
<summary>
性别描述
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.Age">
<summary>
年龄
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.BirthDate">
<summary>
出生日期
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.IdCardNumber">
<summary>
身份证号
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.IdCardImageUrl">
<summary>
身份证图片URL
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.Mobile">
<summary>
联系电话
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.Status">
<summary>
状态
</summary>
</member>
<member name="P:YD_Event.Application.AppUser.Dtos.AthleteOutput.CreatedTime">
<summary>
注册时间
</summary>
</member>
<member name="T:YD_Event.Application.AppUser.Dtos.AthleteOcrInput">
<summary>
OCR识别输入

View File

@ -21,9 +21,9 @@ public class AppUser : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime,
public long? MerchantId { get; set; }
/// <summary>
/// 人员类型:0-普通用户,1-领队,2-教练,3-运动员
/// 人员类型:0-普通用户,1-运动员,2-教练,3-领队
/// </summary>
public int PersonType { get; set; }
public PersonType PersonType { get; set; }
/// <summary>
/// 技能等级(教练特有)

View File

@ -24,9 +24,9 @@ public class EventRegistrationPerson : Entity<long>, ISoftDelete, ICreatedUserId
public long ProjectId { get; set; }
/// <summary>
/// 人员类型:1-运动员,2-教练员,3-领队
/// 人员类型:1-运动员,2-教练,3-领队
/// </summary>
public int PersonType { get; set; }
public PersonType PersonType { get; set; }
/// <summary>
/// 姓名

View File

@ -0,0 +1,33 @@
using System.ComponentModel;
namespace YD_Event.Core.Enum;
/// <summary>
/// 人员角色类型
/// </summary>
public enum PersonType
{
/// <summary>
/// 普通用户
/// </summary>
[Description("普通用户")]
User = 0,
/// <summary>
/// 运动员
/// </summary>
[Description("运动员")]
Athlete = 1,
/// <summary>
/// 教练
/// </summary>
[Description("教练")]
Coach = 2,
/// <summary>
/// 领队
/// </summary>
[Description("领队")]
Leader = 3
}

View File

@ -1,9 +1,10 @@
using System;
using System.ComponentModel;
namespace YD_Event.Core.Enum;
/// <summary>
/// 团队角色
/// 团队角色 (请统一使用 PersonType: 1=运动员, 2=教练, 3=领队)
/// </summary>
public enum TeamRole
{

View File

@ -461,7 +461,7 @@
</member>
<member name="P:YD_Event.Core.Entities.AppUser.PersonType">
<summary>
人员类型:0-普通用户,1-领队,2-教练,3-运动员
人员类型:0-普通用户,1-运动员,2-教练,3-领队
</summary>
</member>
<member name="P:YD_Event.Core.Entities.AppUser.SkillLevel">
@ -1981,7 +1981,7 @@
</member>
<member name="P:YD_Event.Core.Entities.EventRegistrationPerson.PersonType">
<summary>
人员类型:1-运动员,2-教练员,3-领队
人员类型:1-运动员,2-教练,3-领队
</summary>
</member>
<member name="P:YD_Event.Core.Entities.EventRegistrationPerson.Name">
@ -4225,6 +4225,31 @@
已完成
</summary>
</member>
<member name="T:YD_Event.Core.Enum.PersonType">
<summary>
人员角色类型
</summary>
</member>
<member name="F:YD_Event.Core.Enum.PersonType.User">
<summary>
普通用户
</summary>
</member>
<member name="F:YD_Event.Core.Enum.PersonType.Athlete">
<summary>
运动员
</summary>
</member>
<member name="F:YD_Event.Core.Enum.PersonType.Coach">
<summary>
教练
</summary>
</member>
<member name="F:YD_Event.Core.Enum.PersonType.Leader">
<summary>
领队
</summary>
</member>
<member name="T:YD_Event.Core.Enum.PointsOperationType">
<summary>
积分操作类型
@ -4292,7 +4317,7 @@
</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">