报名平台功能完善
This commit is contained in:
parent
fa5d0537d0
commit
3be70127b5
@ -13,18 +13,27 @@ public class RefereeController : IDynamicApiController
|
||||
private readonly ISqlSugarRepository<YD_Event.Core.Entities.AppUser> _userRepository;
|
||||
private readonly ISqlSugarRepository<EventInfo> _eventRepository;
|
||||
private readonly ISqlSugarRepository<RefereeApplication> _applicationRepository;
|
||||
private readonly ISqlSugarRepository<YD_Event.Core.Entities.Referee> _refereeRepository;
|
||||
private readonly ISqlSugarRepository<EventReferee> _eventRefereeRepository;
|
||||
private readonly AuthManager _authManager;
|
||||
private readonly IIdGenerator _idGenerator;
|
||||
|
||||
public RefereeController(
|
||||
ISqlSugarRepository<YD_Event.Core.Entities.AppUser> userRepository,
|
||||
ISqlSugarRepository<EventInfo> eventRepository,
|
||||
ISqlSugarRepository<RefereeApplication> applicationRepository,
|
||||
AuthManager authManager)
|
||||
ISqlSugarRepository<YD_Event.Core.Entities.Referee> refereeRepository,
|
||||
ISqlSugarRepository<EventReferee> eventRefereeRepository,
|
||||
AuthManager authManager,
|
||||
IIdGenerator idGenerator)
|
||||
{
|
||||
_userRepository = userRepository;
|
||||
_eventRepository = eventRepository;
|
||||
_applicationRepository = applicationRepository;
|
||||
_refereeRepository = refereeRepository;
|
||||
_eventRefereeRepository = eventRefereeRepository;
|
||||
_authManager = authManager;
|
||||
_idGenerator = idGenerator;
|
||||
}
|
||||
|
||||
[HttpGet("applications")]
|
||||
@ -80,15 +89,36 @@ public class RefereeController : IDynamicApiController
|
||||
x.EventId == input.EventId && x.RefereeUserId == userId && x.ApplicationStatus != 4);
|
||||
if (exists) throw Oops.Bah("已报名执裁当前赛事");
|
||||
|
||||
await _applicationRepository.InsertAsync(new RefereeApplication
|
||||
var referee = await _refereeRepository.GetFirstAsync(x => x.AppUserId == userId);
|
||||
if (referee == null) throw Oops.Bah("裁判档案不存在,请先完善裁判资料");
|
||||
|
||||
var application = new RefereeApplication
|
||||
{
|
||||
Id = _idGenerator.NextId(),
|
||||
EventId = input.EventId,
|
||||
RefereeUserId = userId,
|
||||
ApplicationStatus = 1,
|
||||
// 小程序报名无需后台审批,提交成功即成为赛事裁判。
|
||||
ApplicationStatus = 2,
|
||||
Status = AvailabilityStatus.Enable,
|
||||
CreatedUserId = userId,
|
||||
CreatedTime = DateTime.Now
|
||||
});
|
||||
};
|
||||
await _applicationRepository.InsertAsync(application);
|
||||
|
||||
if (!await _eventRefereeRepository.IsAnyAsync(x => x.EventId == input.EventId && x.RefereeId == referee.Id))
|
||||
{
|
||||
await _eventRefereeRepository.InsertAsync(new EventReferee
|
||||
{
|
||||
Id = _idGenerator.NextId(),
|
||||
EventId = input.EventId,
|
||||
RefereeId = referee.Id,
|
||||
RefereeApplicationId = application.Id,
|
||||
SourceType = 2,
|
||||
Status = AvailabilityStatus.Enable,
|
||||
CreatedUserId = userId,
|
||||
CreatedTime = DateTime.Now
|
||||
});
|
||||
}
|
||||
|
||||
return new { success = true };
|
||||
}
|
||||
@ -104,9 +134,9 @@ public class RefereeController : IDynamicApiController
|
||||
|
||||
private static string ApplicationStatusText(int status) => status switch
|
||||
{
|
||||
2 => "已确认执裁",
|
||||
2 => "报名成功",
|
||||
3 => "报名未通过",
|
||||
4 => "已取消",
|
||||
_ => "已报名执裁"
|
||||
_ => "待审批"
|
||||
};
|
||||
}
|
||||
|
||||
@ -12,6 +12,16 @@ public class RefereeApplicationOutput
|
||||
public int Roles { get; set; }
|
||||
public List<string> RoleNames { get; set; } = new();
|
||||
public DateTime CreatedTime { get; set; }
|
||||
public int ApplicationStatus { get; set; }
|
||||
public string ApplicationStatusName { get; set; } = null!;
|
||||
public string? Remark { get; set; }
|
||||
}
|
||||
|
||||
public class EventRefereeOutput : RefereeApplicationOutput
|
||||
{
|
||||
public long EventRefereeId { get; set; }
|
||||
public int SourceType { get; set; }
|
||||
public string SourceTypeName { get; set; } = null!;
|
||||
}
|
||||
|
||||
public class JudgeAssignmentBoardOutput
|
||||
@ -41,6 +51,7 @@ public class JudgeAssignmentSessionOutput
|
||||
|
||||
public class JudgeAssignmentItemOutput
|
||||
{
|
||||
public long EventRefereeId { get; set; }
|
||||
public string JudgeRole { get; set; } = null!;
|
||||
public string JudgeRoleName { get; set; } = null!;
|
||||
public long RefereeId { get; set; }
|
||||
@ -58,6 +69,7 @@ public class SaveJudgeAssignmentsInput
|
||||
public class SaveJudgeAssignmentItem
|
||||
{
|
||||
public string JudgeRole { get; set; } = null!;
|
||||
public long EventRefereeId { get; set; }
|
||||
public long RefereeId { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@ -6,9 +6,8 @@ namespace YD_Event.Application.Event;
|
||||
/// <summary>赛事裁判报名与分配。</summary>
|
||||
public class JudgeAssignmentService : IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly ISqlSugarRepository<RefereeApplication> _applicationRepository;
|
||||
private readonly ISqlSugarRepository<EventReferee> _eventRefereeRepository;
|
||||
private readonly ISqlSugarRepository<YD_Event.Core.Entities.Referee> _refereeRepository;
|
||||
private readonly ISqlSugarRepository<YD_Event.Core.Entities.AppUser> _appUserRepository;
|
||||
private readonly ISqlSugarRepository<EventSession> _sessionRepository;
|
||||
private readonly ISqlSugarRepository<EventVenue> _venueRepository;
|
||||
private readonly ISqlSugarRepository<EventProject> _eventProjectRepository;
|
||||
@ -19,48 +18,33 @@ public class JudgeAssignmentService : IDynamicApiController, ITransient
|
||||
private readonly IIdGenerator _idGenerator;
|
||||
private readonly AuthManager _authManager;
|
||||
|
||||
public JudgeAssignmentService(ISqlSugarRepository<RefereeApplication> applicationRepository,
|
||||
public JudgeAssignmentService(ISqlSugarRepository<EventReferee> eventRefereeRepository,
|
||||
ISqlSugarRepository<YD_Event.Core.Entities.Referee> refereeRepository,
|
||||
ISqlSugarRepository<YD_Event.Core.Entities.AppUser> appUserRepository,
|
||||
ISqlSugarRepository<EventSession> sessionRepository, ISqlSugarRepository<EventVenue> venueRepository,
|
||||
ISqlSugarRepository<EventProject> eventProjectRepository, ISqlSugarRepository<YD_Event.Core.Entities.Project> projectRepository,
|
||||
ISqlSugarRepository<YD_Event.Core.Entities.ScoreRule> ruleRepository, ISqlSugarRepository<EventJudgeAssignment> assignmentRepository,
|
||||
ISqlSugarRepository<EventInfo> eventRepository, IIdGenerator idGenerator, AuthManager authManager)
|
||||
{
|
||||
_applicationRepository = applicationRepository; _refereeRepository = refereeRepository; _appUserRepository = appUserRepository;
|
||||
_eventRefereeRepository = eventRefereeRepository;
|
||||
_refereeRepository = refereeRepository;
|
||||
_sessionRepository = sessionRepository; _venueRepository = venueRepository; _eventProjectRepository = eventProjectRepository;
|
||||
_projectRepository = projectRepository; _ruleRepository = ruleRepository; _assignmentRepository = assignmentRepository;
|
||||
_eventRepository = eventRepository;
|
||||
_idGenerator = idGenerator; _authManager = authManager;
|
||||
}
|
||||
|
||||
[HttpGet("applications/{eventId}"), DisplayName("赛事裁判报名列表")]
|
||||
public async Task<List<RefereeApplicationOutput>> GetApplications(long eventId)
|
||||
[HttpGet("event-referees/{eventId}"), DisplayName("获取赛事裁判列表")]
|
||||
public async Task<List<EventRefereeOutput>> GetEventReferees(long eventId)
|
||||
{
|
||||
var applications = await _applicationRepository.AsQueryable()
|
||||
.Where(x => x.EventId == eventId && (x.ApplicationStatus == 1 || x.ApplicationStatus == 2))
|
||||
var relations = await _eventRefereeRepository.AsQueryable()
|
||||
// 赛事裁判目前没有“禁用”业务,是否有效统一由软删除标记控制。
|
||||
// 同时兼容早期迁移中被错误写成 Status=1 的存量记录。
|
||||
.Where(x => x.EventId == eventId)
|
||||
.OrderByDescending(x => x.CreatedTime).ToListAsync();
|
||||
var users = await _appUserRepository.AsQueryable().Where(x => applications.Select(a => a.RefereeUserId).Contains(x.Id)).ToListAsync();
|
||||
var mobiles = users.Select(x => x.Mobile).Distinct().ToList();
|
||||
var referees = await _refereeRepository.AsQueryable().Where(x => mobiles.Contains(x.Mobile) && x.AuditStatus == AuditStatus.Pass).ToListAsync();
|
||||
return (from app in applications join user in users on app.RefereeUserId equals user.Id join referee in referees on user.Mobile equals referee.Mobile
|
||||
select new RefereeApplicationOutput { ApplicationId = app.Id, RefereeId = referee.Id, Name = referee.Name,
|
||||
RegionName = $"{referee.ProvinceName}/{referee.CityName}/{referee.DistrictName}", LevelName = referee.Level.Description(),
|
||||
CertificateUrl = referee.CertificateUrl, Mobile = referee.Mobile, Roles = (int)referee.Roles,
|
||||
RoleNames = Enum.GetValues<RefereeRole>().Where(r => r != RefereeRole.None && referee.Roles.HasFlag(r)).Select(r => r.Description()).ToList(), CreatedTime = app.CreatedTime }).ToList();
|
||||
}
|
||||
|
||||
[HttpDelete("applications"), DisplayName("移除裁判报名"), UnitOfWork]
|
||||
public async Task DeleteApplication([FromBody] KeyDto input)
|
||||
{
|
||||
var app = await _applicationRepository.GetByIdAsync(input.Id);
|
||||
if (app == null) throw Oops.Bah("裁判报名不存在");
|
||||
var user = await _appUserRepository.GetByIdAsync(app.RefereeUserId);
|
||||
var referee = user == null ? null : await _refereeRepository.GetFirstAsync(x => x.Mobile == user.Mobile && x.AuditStatus == AuditStatus.Pass);
|
||||
if (referee != null && await _assignmentRepository.IsAnyAsync(x => x.EventId == app.EventId && x.RefereeId == referee.Id && x.AssignmentStatus < 9))
|
||||
throw Oops.Bah("该裁判已存在分配记录,不能移除报名");
|
||||
app.ApplicationStatus = 4; app.UpdatedUserId = _authManager.UserId; app.UpdatedTime = DateTime.Now;
|
||||
await _applicationRepository.UpdateAsync(app);
|
||||
var referees = await _refereeRepository.AsQueryable()
|
||||
.Where(x => relations.Select(r => r.RefereeId).Contains(x.Id)).ToListAsync();
|
||||
return relations.Select(relation => ToEventRefereeOutput(relation,
|
||||
referees.FirstOrDefault(x => x.Id == relation.RefereeId))).ToList();
|
||||
}
|
||||
|
||||
[HttpGet("board/{eventId}"), DisplayName("获取裁判分配看板")]
|
||||
@ -82,7 +66,7 @@ public class JudgeAssignmentService : IDynamicApiController, ITransient
|
||||
var group = new JudgeAssignmentProjectOutput { EventProjectId = ep.Id, ProjectName = project.Name, RuleName = rule?.RuleName ?? "未配置计分规则", JudgeRoleSchemaJson = rule?.JudgeRoleSchemaJson ?? "[]" };
|
||||
foreach (var session in sessions.Where(x => x.EventProjectId == ep.Id).OrderBy(x => venueMap.GetValueOrDefault(x.VenueId)?.Sort))
|
||||
{
|
||||
var items = assignments.Where(x => x.SessionId == session.Id).Select(x => { var referee = referees.FirstOrDefault(r => r.Id == x.RefereeId); return new JudgeAssignmentItemOutput { JudgeRole = x.JudgeRole, JudgeRoleName = x.JudgeRole, RefereeId = x.RefereeId, RefereeName = referee?.Name ?? "-", Mobile = referee?.Mobile ?? "" }; }).ToList();
|
||||
var items = assignments.Where(x => x.SessionId == session.Id).Select(x => { var referee = referees.FirstOrDefault(r => r.Id == x.RefereeId); return new JudgeAssignmentItemOutput { EventRefereeId = x.EventRefereeId, JudgeRole = x.JudgeRole, JudgeRoleName = x.JudgeRole, RefereeId = x.RefereeId, RefereeName = referee?.Name ?? "-", Mobile = referee?.Mobile ?? "" }; }).ToList();
|
||||
group.Sessions.Add(new JudgeAssignmentSessionOutput { SessionId = session.Id, SessionName = session.SessionName ?? session.SessionNo,
|
||||
VenueName = venueMap.GetValueOrDefault(session.VenueId)?.VenueName ?? "-", Assigned = items.Count > 0, Assignments = items });
|
||||
}
|
||||
@ -92,10 +76,10 @@ public class JudgeAssignmentService : IDynamicApiController, ITransient
|
||||
}
|
||||
|
||||
[HttpGet("candidates/{eventId}/{sessionId}"), DisplayName("获取可分配裁判")]
|
||||
public async Task<List<RefereeApplicationOutput>> GetCandidates(long eventId, long sessionId)
|
||||
public async Task<List<EventRefereeOutput>> GetCandidates(long eventId, long sessionId)
|
||||
{
|
||||
if (!await _sessionRepository.IsAnyAsync(x => x.Id == sessionId && x.EventId == eventId)) throw Oops.Bah("场次不存在");
|
||||
return await GetApplications(eventId);
|
||||
return await GetEventReferees(eventId);
|
||||
}
|
||||
|
||||
[HttpPost("save"), DisplayName("保存裁判分配"), UnitOfWork]
|
||||
@ -105,25 +89,36 @@ public class JudgeAssignmentService : IDynamicApiController, ITransient
|
||||
if (session == null || session.SessionStatus == 90) throw Oops.Bah("场次不存在或已取消");
|
||||
if (await _assignmentRepository.IsAnyAsync(x => x.SessionId == input.SessionId && x.AssignmentStatus == 1))
|
||||
throw Oops.Bah("裁判分配已提交,不能再次修改");
|
||||
if (input.Assignments.Any(x => string.IsNullOrWhiteSpace(x.JudgeRole) || x.RefereeId <= 0)) throw Oops.Bah("裁判岗位未完整分配");
|
||||
if (input.Assignments.Any(x => string.IsNullOrWhiteSpace(x.JudgeRole) || (x.EventRefereeId <= 0 && x.RefereeId <= 0)))
|
||||
throw Oops.Bah("裁判岗位未完整分配");
|
||||
var rule = await _ruleRepository.GetByIdAsync(session.ScoreRuleId);
|
||||
var requiredRoles = JArray.Parse(rule?.JudgeRoleSchemaJson ?? "[]").SelectMany(x => x["slots"] ?? new JArray()).Select(x => x["code"]?.ToString()).Where(x => !string.IsNullOrWhiteSpace(x)).ToList();
|
||||
if (requiredRoles.Count == 0 || requiredRoles.Except(input.Assignments.Select(x => x.JudgeRole)).Any() || input.Assignments.Any(x => !requiredRoles.Contains(x.JudgeRole)))
|
||||
throw Oops.Bah("请完成计分规则要求的全部裁判岗位分配");
|
||||
if (input.Assignments.GroupBy(x => x.JudgeRole).Any(x => x.Count() > 1)) throw Oops.Bah("同一岗位只能分配一名裁判");
|
||||
if (input.Assignments.GroupBy(x => x.RefereeId).Any(x => x.Count() > 1)) throw Oops.Bah("同一场次一名裁判只能分配一个岗位");
|
||||
var candidates = await GetApplications(input.EventId);
|
||||
if (input.Assignments.GroupBy(x => x.EventRefereeId > 0 ? x.EventRefereeId : x.RefereeId).Any(x => x.Count() > 1))
|
||||
throw Oops.Bah("同一场次一名裁判只能分配一个岗位");
|
||||
var candidates = await GetEventReferees(input.EventId);
|
||||
foreach (var item in input.Assignments)
|
||||
{
|
||||
var candidate = candidates.FirstOrDefault(x => x.RefereeId == item.RefereeId);
|
||||
if (candidate == null) throw Oops.Bah("存在未报名或未审核通过的裁判");
|
||||
var candidate = item.EventRefereeId > 0
|
||||
? candidates.FirstOrDefault(x => x.EventRefereeId == item.EventRefereeId)
|
||||
: candidates.FirstOrDefault(x => x.RefereeId == item.RefereeId);
|
||||
if (candidate == null) throw Oops.Bah("存在尚未关联到当前赛事的裁判");
|
||||
item.EventRefereeId = candidate.EventRefereeId;
|
||||
item.RefereeId = candidate.RefereeId;
|
||||
var requiredFlag = RoleFlag(item.JudgeRole);
|
||||
if (requiredFlag != 0 && (candidate.Roles & requiredFlag) == 0) throw Oops.Bah($"裁判{candidate.Name}不具备岗位{item.JudgeRole}资格");
|
||||
}
|
||||
await _assignmentRepository.SoftDeleteAsync(x => x.SessionId == input.SessionId && x.AssignmentStatus == 0);
|
||||
var now = DateTime.Now;
|
||||
var refereeIds = input.Assignments.Select(x => x.RefereeId).Distinct().ToList();
|
||||
var refereeUsers = (await _refereeRepository.AsQueryable()
|
||||
.Where(x => refereeIds.Contains(x.Id)).ToListAsync())
|
||||
.ToDictionary(x => x.Id, x => x.AppUserId);
|
||||
await _assignmentRepository.InsertRangeAsync(input.Assignments.Select(x => new EventJudgeAssignment { Id = _idGenerator.NextId(), EventId = input.EventId,
|
||||
SessionId = input.SessionId, RefereeId = x.RefereeId, JudgeRole = x.JudgeRole, AssignmentStatus = 0,
|
||||
SessionId = input.SessionId, EventRefereeId = x.EventRefereeId, RefereeId = x.RefereeId,
|
||||
JudgeUserId = refereeUsers.GetValueOrDefault(x.RefereeId), JudgeRole = x.JudgeRole, AssignmentStatus = 0,
|
||||
Status = AvailabilityStatus.Enable, CreatedUserId = _authManager.UserId, CreatedTime = now }).ToList());
|
||||
}
|
||||
|
||||
@ -139,13 +134,6 @@ public class JudgeAssignmentService : IDynamicApiController, ITransient
|
||||
sessions.ForEach(x => { x.SessionStatus = 10; x.Version++; x.UpdatedUserId = _authManager.UserId; x.UpdatedTime = DateTime.Now; });
|
||||
await _sessionRepository.UpdateRangeAsync(sessions);
|
||||
|
||||
var assignedRefereeIds = assignments.Select(x => x.RefereeId).Distinct().ToList();
|
||||
var assignedMobiles = await _refereeRepository.AsQueryable().Where(x => assignedRefereeIds.Contains(x.Id)).Select(x => x.Mobile).ToListAsync();
|
||||
var assignedUserIds = await _appUserRepository.AsQueryable().Where(x => assignedMobiles.Contains(x.Mobile)).Select(x => x.Id).ToListAsync();
|
||||
var applications = await _applicationRepository.AsQueryable()
|
||||
.Where(x => x.EventId == input.EventId && assignedUserIds.Contains(x.RefereeUserId) && x.ApplicationStatus == 1).ToListAsync();
|
||||
applications.ForEach(x => { x.ApplicationStatus = 2; x.UpdatedUserId = _authManager.UserId; x.UpdatedTime = DateTime.Now; });
|
||||
if (applications.Count > 0) await _applicationRepository.UpdateRangeAsync(applications);
|
||||
}
|
||||
|
||||
[HttpPost("registration-code/{eventId}"), DisplayName("生成裁判报名码")]
|
||||
@ -162,6 +150,32 @@ public class JudgeAssignmentService : IDynamicApiController, ITransient
|
||||
return entity.RefereeRegistrationCode;
|
||||
}
|
||||
|
||||
private static EventRefereeOutput ToEventRefereeOutput(EventReferee? relation,
|
||||
YD_Event.Core.Entities.Referee? referee)
|
||||
{
|
||||
var roles = referee?.Roles ?? RefereeRole.None;
|
||||
return new EventRefereeOutput
|
||||
{
|
||||
EventRefereeId = relation?.Id ?? 0,
|
||||
ApplicationId = relation?.RefereeApplicationId ?? 0,
|
||||
RefereeId = referee?.Id ?? relation?.RefereeId ?? 0,
|
||||
Name = referee?.Name ?? "-",
|
||||
RegionName = referee == null ? "-" : $"{referee.ProvinceName}/{referee.CityName}/{referee.DistrictName}",
|
||||
LevelName = referee?.Level.Description() ?? "-",
|
||||
CertificateUrl = referee?.CertificateUrl ?? string.Empty,
|
||||
Mobile = referee?.Mobile ?? string.Empty,
|
||||
Roles = (int)roles,
|
||||
RoleNames = Enum.GetValues<RefereeRole>()
|
||||
.Where(role => role != RefereeRole.None && roles.HasFlag(role))
|
||||
.Select(role => role.Description()).ToList(),
|
||||
CreatedTime = relation?.CreatedTime ?? referee?.CreatedTime ?? DateTime.MinValue,
|
||||
ApplicationStatus = 2,
|
||||
ApplicationStatusName = "已通过",
|
||||
SourceType = relation?.SourceType ?? 1,
|
||||
SourceTypeName = relation?.SourceType == 2 ? "小程序报名" : "后台添加"
|
||||
};
|
||||
}
|
||||
|
||||
private static int RoleFlag(string role) => role switch
|
||||
{
|
||||
"T" => (int)RefereeRole.Chief,
|
||||
|
||||
@ -53,6 +53,7 @@ public class UpdateRefereeInput : SaveRefereeInput
|
||||
public class RefereeOutput
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public long? AppUserId { get; set; }
|
||||
public string Name { get; set; } = null!;
|
||||
public string Mobile { get; set; } = null!;
|
||||
public string ProvinceCode { get; set; } = null!;
|
||||
|
||||
@ -27,6 +27,7 @@ public class RefereeService : BaseService<YD_Event.Core.Entities.Referee>, ITran
|
||||
}
|
||||
|
||||
[DisplayName("裁判分页查询")]
|
||||
[HttpGet("page")]
|
||||
public async Task<PageResult<RefereeOutput>> Page([FromQuery] RefereeQueryInput input)
|
||||
{
|
||||
var query = _repository.AsQueryable()
|
||||
@ -48,13 +49,17 @@ public class RefereeService : BaseService<YD_Event.Core.Entities.Referee>, ITran
|
||||
}
|
||||
|
||||
[DisplayName("新增裁判")]
|
||||
[HttpPost("add")]
|
||||
public async Task Add([FromBody] SaveRefereeInput input)
|
||||
{
|
||||
await EnsureMobileAvailable(input.Mobile, null);
|
||||
await VerifyCode(input.Mobile, input.VerificationCode);
|
||||
var appUser = await FindAppUserAsync(input.Mobile);
|
||||
var entity = input.Adapt<YD_Event.Core.Entities.Referee>();
|
||||
entity.Id = _idGenerator.NextId();
|
||||
entity.AuditStatus = AuditStatus.PendingAudit;
|
||||
entity.AppUserId = appUser?.Id;
|
||||
// 后台管理员直接维护的裁判档案无需再次审批。
|
||||
entity.AuditStatus = AuditStatus.Pass;
|
||||
entity.Status = AvailabilityStatus.Enable;
|
||||
entity.CreatedUserId = _authManager.UserId;
|
||||
entity.CreatedTime = DateTime.Now;
|
||||
@ -63,6 +68,7 @@ public class RefereeService : BaseService<YD_Event.Core.Entities.Referee>, ITran
|
||||
}
|
||||
|
||||
[DisplayName("修改裁判")]
|
||||
[HttpPut("update")]
|
||||
public async Task Update([FromBody] UpdateRefereeInput input)
|
||||
{
|
||||
var entity = await _repository.GetByIdAsync(input.Id);
|
||||
@ -73,7 +79,9 @@ public class RefereeService : BaseService<YD_Event.Core.Entities.Referee>, ITran
|
||||
await VerifyCode(input.Mobile, input.VerificationCode);
|
||||
await _cache.RemoveAsync($"sms:code:{input.Mobile}");
|
||||
}
|
||||
var appUser = await FindAppUserAsync(input.Mobile);
|
||||
input.Adapt(entity);
|
||||
entity.AppUserId = appUser?.Id;
|
||||
entity.UpdatedUserId = _authManager.UserId;
|
||||
entity.UpdatedTime = DateTime.Now;
|
||||
await _repository.UpdateAsync(entity);
|
||||
@ -95,10 +103,21 @@ public class RefereeService : BaseService<YD_Event.Core.Entities.Referee>, ITran
|
||||
|
||||
private async Task EnsureMobileAvailable(string mobile, long? exceptId)
|
||||
{
|
||||
if (await _repository.IsAnyAsync(x => x.Mobile == mobile && (!exceptId.HasValue || x.Id != exceptId.Value)))
|
||||
// 不要把 Nullable.HasValue 分支写进 SqlSugar 表达式;空值时会生成 “<>” 附近的非法 SQL。
|
||||
var refereeQuery = _repository.AsQueryable().Where(x => x.Mobile == mobile);
|
||||
if (exceptId.HasValue)
|
||||
refereeQuery = refereeQuery.Where(x => x.Id != exceptId.Value);
|
||||
|
||||
if (await refereeQuery.AnyAsync())
|
||||
throw Oops.Bah("该手机号已存在于裁判库");
|
||||
if (await _userRepository.IsAnyAsync(x => x.Mobile == mobile))
|
||||
throw Oops.Bah("该手机号已绑定现有账号");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 手机号已注册小程序账号时自动建立关联,未注册时允许裁判档案独立存在。
|
||||
/// </summary>
|
||||
private Task<YD_Event.Core.Entities.AppUser?> FindAppUserAsync(string mobile)
|
||||
{
|
||||
return _userRepository.AsQueryable().Where(x => x.Mobile == mobile).FirstAsync();
|
||||
}
|
||||
|
||||
private async Task VerifyCode(string mobile, string? code)
|
||||
@ -110,7 +129,7 @@ public class RefereeService : BaseService<YD_Event.Core.Entities.Referee>, ITran
|
||||
|
||||
private static RefereeOutput ToOutput(YD_Event.Core.Entities.Referee x) => new()
|
||||
{
|
||||
Id = x.Id, Name = x.Name, Mobile = x.Mobile,
|
||||
Id = x.Id, AppUserId = x.AppUserId, Name = x.Name, Mobile = x.Mobile,
|
||||
ProvinceCode = x.ProvinceCode, ProvinceName = x.ProvinceName,
|
||||
CityCode = x.CityCode, CityName = x.CityName,
|
||||
DistrictCode = x.DistrictCode, DistrictName = x.DistrictName,
|
||||
|
||||
@ -6,7 +6,7 @@ namespace YD_Event.Application.Unit.Dtos;
|
||||
public class UnitAccountQueryInput : Pagination
|
||||
{
|
||||
/// <summary>
|
||||
/// 所属平台(0-报名平台 1-打分系统)
|
||||
/// 所属平台(1-报名平台 2-打分系统)
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "请选择所属平台")]
|
||||
public UnitAccountPlatform Platform { get; set; }
|
||||
@ -38,7 +38,7 @@ public class UnitAccountQueryInput : Pagination
|
||||
public class AddUnitAccountInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 所属平台(0-报名平台 1-打分系统)
|
||||
/// 所属平台(1-报名平台 2-打分系统)
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "请选择所属平台")]
|
||||
public UnitAccountPlatform Platform { get; set; }
|
||||
@ -154,7 +154,7 @@ public class UnitAccountOutput
|
||||
/// <summary>
|
||||
/// 所属平台
|
||||
/// </summary>
|
||||
public UnitAccountPlatform? Platform { get; set; }
|
||||
public UnitAccountPlatform Platform { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态(0-启用 1-禁用)
|
||||
|
||||
@ -35,6 +35,7 @@ public class UnitAccountService : BaseService<SysUser>, ITransient
|
||||
[HttpGet("page")]
|
||||
public async Task<PageResult<UnitAccountOutput>> Page([FromQuery] UnitAccountQueryInput input)
|
||||
{
|
||||
EnsureUnitPlatform(input.Platform);
|
||||
return await _repository.AsQueryable()
|
||||
.Where(x => x.UnitPlatform == input.Platform)
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(input.UnitName), x => x.UnitName.Contains(input.UnitName))
|
||||
@ -85,6 +86,7 @@ public class UnitAccountService : BaseService<SysUser>, ITransient
|
||||
[UnitOfWork]
|
||||
public async Task Add(AddUnitAccountInput input)
|
||||
{
|
||||
EnsureUnitPlatform(input.Platform);
|
||||
// 账号是全局登录标识,需在整张 SysUser 表内查重
|
||||
if (await _repository.IsAnyAsync(x => x.Account == input.Account))
|
||||
{
|
||||
@ -191,10 +193,16 @@ public class UnitAccountService : BaseService<SysUser>, ITransient
|
||||
{
|
||||
var user = await _repository.GetByIdAsync(id);
|
||||
if (user == null) throw Oops.Bah("单位账号不存在");
|
||||
if (user.UnitPlatform == null) throw Oops.Bah("该账号不是单位账号,请在系统用户中管理");
|
||||
if (user.UnitPlatform == UnitAccountPlatform.EventSystem) throw Oops.Bah("该账号不是单位账号,请在系统用户中管理");
|
||||
return user;
|
||||
}
|
||||
|
||||
private static void EnsureUnitPlatform(UnitAccountPlatform platform)
|
||||
{
|
||||
if (platform is not UnitAccountPlatform.Registration and not UnitAccountPlatform.Scoring)
|
||||
throw Oops.Bah("所属平台只能选择报名平台或打分系统");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 平台对应的角色
|
||||
/// </summary>
|
||||
|
||||
@ -12476,6 +12476,11 @@
|
||||
<member name="T:YD_Event.Application.Referee.RefereeService">
|
||||
<summary>裁判库管理。</summary>
|
||||
</member>
|
||||
<member name="M:YD_Event.Application.Referee.RefereeService.FindAppUserAsync(System.String)">
|
||||
<summary>
|
||||
手机号已注册小程序账号时自动建立关联,未注册时允许裁判档案独立存在。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Application.Refund.Dtos.RefundConfigDto">
|
||||
<summary>
|
||||
退款配置DTO
|
||||
@ -13135,7 +13140,7 @@
|
||||
</member>
|
||||
<member name="P:YD_Event.Application.Unit.Dtos.UnitAccountQueryInput.Platform">
|
||||
<summary>
|
||||
所属平台(0-报名平台 1-打分系统)
|
||||
所属平台(1-报名平台 2-打分系统)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Application.Unit.Dtos.UnitAccountQueryInput.UnitName">
|
||||
@ -13165,7 +13170,7 @@
|
||||
</member>
|
||||
<member name="P:YD_Event.Application.Unit.Dtos.AddUnitAccountInput.Platform">
|
||||
<summary>
|
||||
所属平台(0-报名平台 1-打分系统)
|
||||
所属平台(1-报名平台 2-打分系统)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Application.Unit.Dtos.AddUnitAccountInput.UnitName">
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
namespace YD_Event.Core.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 检录人员状态记录表(每个秩序册列在单次检录中的检录状态)
|
||||
/// 检录人员状态记录表
|
||||
/// </summary>
|
||||
[SugarTable("CheckinRecord")]
|
||||
public class CheckinRecord : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime
|
||||
|
||||
@ -4,8 +4,6 @@ namespace YD_Event.Core.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 赛事检录任务表
|
||||
/// 一个检录员对应一条任务,记录总检录次数以及当前检录轮次、组别;
|
||||
/// Current 系列字段为现场进度快照,切换检次或重新绑定检录员时会被重置
|
||||
/// </summary>
|
||||
[SugarTable("CheckinTask")]
|
||||
public class CheckinTask : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
|
||||
|
||||
@ -3,7 +3,7 @@ using YD_Event.Core.Enum;
|
||||
namespace YD_Event.Core.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 赛事裁判分配表(按场次分配裁判席位)
|
||||
/// 赛事裁判分配表
|
||||
/// </summary>
|
||||
[SugarTable("EventJudgeAssignment")]
|
||||
public class EventJudgeAssignment : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
|
||||
@ -19,7 +19,12 @@ public class EventJudgeAssignment : Entity<long>, ISoftDelete, ICreatedUserId, I
|
||||
public long SessionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的裁判档案ID
|
||||
/// 关联的赛事裁判记录ID
|
||||
/// </summary>
|
||||
public long EventRefereeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的裁判档案ID(兼容历史查询的冗余字段)
|
||||
/// </summary>
|
||||
public long RefereeId { get; set; }
|
||||
|
||||
|
||||
63
YD_Event.Core/Entities/EventReferee.cs
Normal file
63
YD_Event.Core/Entities/EventReferee.cs
Normal file
@ -0,0 +1,63 @@
|
||||
using YD_Event.Core.Enum;
|
||||
|
||||
namespace YD_Event.Core.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 赛事裁判表
|
||||
/// </summary>
|
||||
[SugarTable("EventReferee")]
|
||||
public class EventReferee : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
|
||||
{
|
||||
/// <summary>
|
||||
/// 关联的赛事ID
|
||||
/// </summary>
|
||||
public long EventId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的裁判档案ID
|
||||
/// </summary>
|
||||
public long RefereeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的裁判报名记录ID(非小程序报名时为空)
|
||||
/// </summary>
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public long? RefereeApplicationId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联来源:1-后台添加,2-小程序报名
|
||||
/// </summary>
|
||||
public int SourceType { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 可用状态
|
||||
/// </summary>
|
||||
public AvailabilityStatus Status { get; set; } = AvailabilityStatus.Enable;
|
||||
|
||||
/// <summary>
|
||||
/// 标记删除
|
||||
/// </summary>
|
||||
public bool DeleteMark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
/// </summary>
|
||||
public long CreatedUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreatedTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新人
|
||||
/// </summary>
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public long? UpdatedUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public DateTime? UpdatedTime { get; set; }
|
||||
}
|
||||
@ -3,7 +3,7 @@ using YD_Event.Core.Enum;
|
||||
namespace YD_Event.Core.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 赛事比赛场次表(编排确认后生成的正式场次)
|
||||
/// 赛事比赛场次表
|
||||
/// </summary>
|
||||
[SugarTable("EventSession")]
|
||||
public class EventSession : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
|
||||
|
||||
@ -3,7 +3,7 @@ using YD_Event.Core.Enum;
|
||||
namespace YD_Event.Core.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 赛事场次出场记录表(场次内每个参赛单元的出场信息)
|
||||
/// 赛事场次出场记录表
|
||||
/// </summary>
|
||||
[SugarTable("EventSessionEntry")]
|
||||
public class EventSessionEntry : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
|
||||
|
||||
@ -15,11 +15,17 @@ public class Referee : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime,
|
||||
public string Name { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 联系电话(未删除数据中唯一,作为裁判与小程序账号的关联依据)
|
||||
/// 联系电话(未删除数据中唯一)
|
||||
/// </summary>
|
||||
[SugarColumn(Length = 16)]
|
||||
public string Mobile { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 关联的小程序用户ID(未关联小程序账号时为空)
|
||||
/// </summary>
|
||||
[SugarColumn(IsNullable = true, ColumnDescription = "关联的小程序用户ID")]
|
||||
public long? AppUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属省份编码
|
||||
/// </summary>
|
||||
|
||||
@ -19,7 +19,7 @@ public class RefereeApplication : Entity<long>, ISoftDelete, ICreatedUserId, ICr
|
||||
public long RefereeUserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 报名状态:1-已报名执裁,2-已确认执裁,3-报名未通过,4-已取消
|
||||
/// 报名状态:1-处理中(历史数据),2-报名成功,3-报名失败,4-已取消
|
||||
/// </summary>
|
||||
public int ApplicationStatus { get; set; } = 1;
|
||||
|
||||
|
||||
@ -97,15 +97,16 @@ public class SysUser : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime,
|
||||
public DateTime? LockExpired { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位名称(单位账号专用)
|
||||
/// 单位名称
|
||||
/// </summary>
|
||||
[SugarColumn(Length = 128)]
|
||||
public string? UnitName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属平台(null 表示普通系统用户,非单位管理创建的账号)
|
||||
/// 所属平台
|
||||
/// </summary>
|
||||
public UnitAccountPlatform? UnitPlatform { get; set; }
|
||||
[SugarColumn(ColumnDescription = "所属平台")]
|
||||
public UnitAccountPlatform UnitPlatform { get; set; } = UnitAccountPlatform.EventSystem;
|
||||
|
||||
/// <summary>
|
||||
/// 标记删除
|
||||
@ -131,4 +132,4 @@ public class SysUser : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime,
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
public DateTime? UpdatedTime { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,14 +1,17 @@
|
||||
namespace YD_Event.Core.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// 系统用户角色关联表
|
||||
/// </summary>
|
||||
public class SysUserRole : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户id
|
||||
/// 关联的系统用户ID
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 角色id
|
||||
/// 关联的系统角色ID
|
||||
/// </summary>
|
||||
public long RoleId { get; set; }
|
||||
|
||||
@ -36,4 +39,4 @@ public class SysUserRole : Entity<long>, ISoftDelete, ICreatedUserId, ICreatedTi
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
public DateTime? UpdatedTime { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,19 +3,25 @@ using System.ComponentModel;
|
||||
namespace YD_Event.Core.Enum;
|
||||
|
||||
/// <summary>
|
||||
/// 单位账号所属平台
|
||||
/// 用户所属平台
|
||||
/// </summary>
|
||||
public enum UnitAccountPlatform
|
||||
{
|
||||
/// <summary>
|
||||
/// 赛事系统用户
|
||||
/// </summary>
|
||||
[Description("赛事系统用户")]
|
||||
EventSystem = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 报名平台
|
||||
/// </summary>
|
||||
[Description("报名平台")]
|
||||
Registration = 0,
|
||||
Registration = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 打分系统
|
||||
/// </summary>
|
||||
[Description("打分系统")]
|
||||
Scoring = 1
|
||||
Scoring = 2
|
||||
}
|
||||
|
||||
@ -1000,19 +1000,203 @@
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.CheckinRecord">
|
||||
<summary>
|
||||
单次检录人员状态记录。
|
||||
检录人员状态记录表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.TaskId">
|
||||
<summary>
|
||||
关联的检录任务ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.Round">
|
||||
<summary>
|
||||
检次(与检录任务的 CheckinNo 一致)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.SessionKey">
|
||||
<summary>
|
||||
秩序册列标识
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.SessionOrder">
|
||||
<summary>
|
||||
秩序册列的出场顺序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.GroupId">
|
||||
<summary>
|
||||
参赛组别ID(不限定组别时为空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.RegistrationPersonId">
|
||||
<summary>
|
||||
关联的报名人员ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.CheckerUserId">
|
||||
<summary>
|
||||
执行检录的检录员用户ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.Checked">
|
||||
<summary>
|
||||
是否已检录
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.CheckedTime">
|
||||
<summary>
|
||||
检录时间(取消检录时置空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinRecord.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.CheckinTask">
|
||||
<summary>
|
||||
赛事检录任务,记录总检录次数以及当前检录轮次、组别。
|
||||
赛事检录任务表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.EventId">
|
||||
<summary>
|
||||
关联的赛事ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CheckinNo">
|
||||
<summary>该检录员负责的检次:1-一检,2-二检,3-三检。</summary>
|
||||
<summary>
|
||||
该检录员负责的检次:1-一检,2-二检,3-三检
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CheckerUserId">
|
||||
<summary>
|
||||
关联的检录员用户ID(尚未绑定检录员时为空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.TotalRounds">
|
||||
<summary>
|
||||
赛事的检录总次数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CurrentRound">
|
||||
<summary>
|
||||
当前检录轮次(与 CheckinNo 保持一致)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CurrentSessionKey">
|
||||
<summary>
|
||||
当前秩序册列标识
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CurrentSessionOrder">
|
||||
<summary>
|
||||
当前秩序册列的出场顺序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CurrentSessionName">
|
||||
<summary>
|
||||
当前秩序册列名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CurrentEventProjectId">
|
||||
<summary>
|
||||
当前检录的赛事项目ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CurrentSessionVenue">
|
||||
<summary>
|
||||
当前秩序册列所在场地
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.RoundName">
|
||||
<summary>
|
||||
检次名称(由 CheckinNo 转换而来,如一检、二检)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CurrentGroupId">
|
||||
<summary>
|
||||
当前检录的参赛组别ID(不限定组别时为空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CurrentGroupName">
|
||||
<summary>
|
||||
当前检录的参赛组别名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.GroupOrder">
|
||||
<summary>
|
||||
当前组别的顺序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.TotalGroups">
|
||||
<summary>
|
||||
本次检录的组别总数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.NextGroupName">
|
||||
<summary>
|
||||
下一个待检录组别名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.Venue">
|
||||
<summary>
|
||||
检录场地
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.TaskStatus">
|
||||
<summary>0-未开始,1-进行中,2-已结束。</summary>
|
||||
<summary>
|
||||
任务状态:0-未开始,1-进行中,2-已结束
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.Status">
|
||||
<summary>
|
||||
可用状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.CheckinTask.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.Coupon">
|
||||
<summary>
|
||||
@ -1330,7 +1514,9 @@
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventInfo.RefereeRegistrationCode">
|
||||
<summary>裁判报名邀请码。</summary>
|
||||
<summary>
|
||||
裁判报名邀请码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventInfo.CoverImage">
|
||||
<summary>
|
||||
@ -1512,8 +1698,85 @@
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.EventJudgeAssignment">
|
||||
<summary>
|
||||
赛事裁判分配表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.EventId">
|
||||
<summary>
|
||||
关联的赛事ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.SessionId">
|
||||
<summary>
|
||||
关联的比赛场次ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.EventRefereeId">
|
||||
<summary>
|
||||
关联的赛事裁判记录ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.RefereeId">
|
||||
<summary>
|
||||
关联的裁判档案ID(兼容历史查询的冗余字段)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.JudgeUserId">
|
||||
<summary>
|
||||
关联的小程序用户ID(裁判尚未注册小程序账号时为空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.JudgeRole">
|
||||
<summary>
|
||||
裁判席位编码(取自计分规则的裁判席位配置,如 T、DP1、P)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.AssignmentStatus">
|
||||
<summary>0草稿,1已提交,2已替换,9停用。</summary>
|
||||
<summary>
|
||||
分配状态:0-草稿,1-已提交,2-已替换,9-已停用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.SubmittedTime">
|
||||
<summary>
|
||||
提交时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.Remark">
|
||||
<summary>
|
||||
备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.Status">
|
||||
<summary>
|
||||
可用状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventJudgeAssignment.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.EventParticipationRecord">
|
||||
<summary>
|
||||
@ -1780,6 +2043,61 @@
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.EventReferee">
|
||||
<summary>
|
||||
赛事裁判表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.EventId">
|
||||
<summary>
|
||||
关联的赛事ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.RefereeId">
|
||||
<summary>
|
||||
关联的裁判档案ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.RefereeApplicationId">
|
||||
<summary>
|
||||
关联的裁判报名记录ID(非小程序报名时为空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.SourceType">
|
||||
<summary>
|
||||
关联来源:1-后台添加,2-小程序报名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.Status">
|
||||
<summary>
|
||||
可用状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventReferee.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.EventRegistration">
|
||||
<summary>
|
||||
赛事报名表
|
||||
@ -2485,8 +2803,180 @@
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.EventSession">
|
||||
<summary>
|
||||
赛事比赛场次表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.EventId">
|
||||
<summary>
|
||||
关联的赛事ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.EventProjectId">
|
||||
<summary>
|
||||
关联的赛事项目ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.EventProjectGroupId">
|
||||
<summary>
|
||||
关联的赛事项目组别ID(本场次为多个组别混合时为空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.VenueId">
|
||||
<summary>
|
||||
关联的比赛场地ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.ScoreRuleId">
|
||||
<summary>
|
||||
关联的计分规则ID(取自项目配置的计分规则)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.SessionNo">
|
||||
<summary>
|
||||
场次编号(同一赛事内未删除数据中唯一)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.SessionName">
|
||||
<summary>
|
||||
场次名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.StartTime">
|
||||
<summary>
|
||||
场次开始时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.EndTime">
|
||||
<summary>
|
||||
场次结束时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.SessionStatus">
|
||||
<summary>0草稿,10就绪,30进行中,60结束,90取消。</summary>
|
||||
<summary>
|
||||
场次状态:0-草稿,10-就绪,30-进行中,60-已结束,90-已取消
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.Version">
|
||||
<summary>
|
||||
版本号(场次内容变更时递增)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.Status">
|
||||
<summary>
|
||||
可用状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSession.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.EventSessionEntry">
|
||||
<summary>
|
||||
赛事场次出场记录表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.SessionId">
|
||||
<summary>
|
||||
关联的比赛场次ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.ParticipationRecordId">
|
||||
<summary>
|
||||
关联的赛事参赛记录ID(未匹配到参赛记录时为空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.RegistrationItemId">
|
||||
<summary>
|
||||
关联的报名项目明细ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.EntryNo">
|
||||
<summary>
|
||||
出场编号(项目序号+场地序号+出场顺序)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.PlayOrder">
|
||||
<summary>
|
||||
出场顺序(同一场次内未删除数据中唯一)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.EntryStatus">
|
||||
<summary>
|
||||
出场状态:0-待出场(其余状态由打分系统流转时写入)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.ParticipantName">
|
||||
<summary>
|
||||
参赛人员姓名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.TeamName">
|
||||
<summary>
|
||||
参赛队伍名称(个人项目时为空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.GroupName">
|
||||
<summary>
|
||||
参赛组别名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.Version">
|
||||
<summary>
|
||||
版本号(出场信息变更时递增)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.Status">
|
||||
<summary>
|
||||
可用状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventSessionEntry.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.EventUnit">
|
||||
<summary>
|
||||
@ -2548,6 +3038,61 @@
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.EventVenue">
|
||||
<summary>
|
||||
赛事比赛场地表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.EventId">
|
||||
<summary>
|
||||
关联的赛事ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.VenueCode">
|
||||
<summary>
|
||||
场地编码(同一赛事内未删除数据中唯一,如 V01)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.VenueName">
|
||||
<summary>
|
||||
场地名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.Status">
|
||||
<summary>
|
||||
可用状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.Sort">
|
||||
<summary>
|
||||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.EventVenue.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.IAvailability">
|
||||
<summary>
|
||||
可用状态
|
||||
@ -3130,7 +3675,9 @@
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Project.ScoreRuleId">
|
||||
<summary>计分规则。</summary>
|
||||
<summary>
|
||||
计分规则ID(未配置计分规则时为空,赛事编排确认前必须配置)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Project.Remark">
|
||||
<summary>
|
||||
@ -3238,15 +3785,164 @@
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.Referee">
|
||||
<summary>裁判档案。</summary>
|
||||
<summary>
|
||||
裁判档案表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.Name">
|
||||
<summary>
|
||||
裁判姓名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.Mobile">
|
||||
<summary>
|
||||
联系电话(未删除数据中唯一)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.AppUserId">
|
||||
<summary>
|
||||
关联的小程序用户ID(未关联小程序账号时为空)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.ProvinceCode">
|
||||
<summary>
|
||||
所属省份编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.ProvinceName">
|
||||
<summary>
|
||||
所属省份名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.CityCode">
|
||||
<summary>
|
||||
所属城市编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.CityName">
|
||||
<summary>
|
||||
所属城市名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.DistrictCode">
|
||||
<summary>
|
||||
所属区县编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.DistrictName">
|
||||
<summary>
|
||||
所属区县名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.Level">
|
||||
<summary>
|
||||
裁判等级:1-国际级,2-国家级,3-一级,4-二级,5-三级
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.CertificateUrl">
|
||||
<summary>
|
||||
裁判证书图片URL
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.Roles">
|
||||
<summary>
|
||||
可执裁角色(位标记,可多选)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.AuditStatus">
|
||||
<summary>
|
||||
审核状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.AuditRemark">
|
||||
<summary>
|
||||
审核备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.Status">
|
||||
<summary>
|
||||
可用状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.Referee.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.RefereeApplication">
|
||||
<summary>
|
||||
裁判报名执裁记录。
|
||||
裁判报名执裁记录表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.EventId">
|
||||
<summary>
|
||||
关联的赛事ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.RefereeUserId">
|
||||
<summary>
|
||||
报名执裁的小程序用户ID(对应 AppUser.Id,账户角色为裁判)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.ApplicationStatus">
|
||||
<summary>1-已报名,2-已确认,3-已拒绝,4-已取消。</summary>
|
||||
<summary>
|
||||
报名状态:1-处理中(历史数据),2-报名成功,3-报名失败,4-已取消
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.Remark">
|
||||
<summary>
|
||||
备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.Status">
|
||||
<summary>
|
||||
可用状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.RefereeApplication.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.RefundConfig">
|
||||
<summary>
|
||||
@ -3429,7 +4125,64 @@
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.ScoreRule">
|
||||
<summary>项目计分规则。</summary>
|
||||
<summary>
|
||||
项目计分规则表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.RuleCode">
|
||||
<summary>
|
||||
规则编码(未删除数据中唯一,如 ROPE_PRESCRIBED、FREESTYLE_SINGLE)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.RuleName">
|
||||
<summary>
|
||||
规则名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.JudgeRoleSchemaJson">
|
||||
<summary>
|
||||
裁判席位配置(JSON格式,按裁判组描述该规则需要的裁判角色席位)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.RuleConfigJson">
|
||||
<summary>
|
||||
计分参数配置(JSON格式,规则的扣分项、权重等扩展参数)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.Status">
|
||||
<summary>
|
||||
可用状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.Sort">
|
||||
<summary>
|
||||
排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.DeleteMark">
|
||||
<summary>
|
||||
标记删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.CreatedUserId">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.UpdatedUserId">
|
||||
<summary>
|
||||
更新人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.ScoreRule.UpdatedTime">
|
||||
<summary>
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.SysCity">
|
||||
<summary>
|
||||
@ -4128,12 +4881,12 @@
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.SysUser.UnitName">
|
||||
<summary>
|
||||
单位名称(单位账号专用)
|
||||
单位名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.SysUser.UnitPlatform">
|
||||
<summary>
|
||||
所属平台(null 表示普通系统用户,非单位管理创建的账号)
|
||||
所属平台
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.SysUser.DeleteMark">
|
||||
@ -4161,14 +4914,19 @@
|
||||
更新时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Entities.SysUserRole">
|
||||
<summary>
|
||||
系统用户角色关联表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.SysUserRole.UserId">
|
||||
<summary>
|
||||
用户id
|
||||
关联的系统用户ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.SysUserRole.RoleId">
|
||||
<summary>
|
||||
角色id
|
||||
关联的系统角色ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:YD_Event.Core.Entities.SysUserRole.DeleteMark">
|
||||
@ -4720,7 +5478,23 @@
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Enum.MiniProgramRole">
|
||||
<summary>
|
||||
小程序账户角色。与参赛人员的 PersonType 分离,避免混淆业务身份。
|
||||
小程序账户角色
|
||||
与报名人员类型 PersonType 相互独立,避免混淆业务身份
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.MiniProgramRole.Participant">
|
||||
<summary>
|
||||
参赛者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.MiniProgramRole.Referee">
|
||||
<summary>
|
||||
裁判
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.MiniProgramRole.Checker">
|
||||
<summary>
|
||||
检录员
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Enum.OrderStatus">
|
||||
@ -4908,6 +5682,72 @@
|
||||
团队花样
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Enum.RefereeLevel">
|
||||
<summary>
|
||||
裁判等级
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeLevel.International">
|
||||
<summary>
|
||||
国际级裁判员
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeLevel.National">
|
||||
<summary>
|
||||
国家级裁判员
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeLevel.LevelOne">
|
||||
<summary>
|
||||
一级裁判员
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeLevel.LevelTwo">
|
||||
<summary>
|
||||
二级裁判员
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeLevel.LevelThree">
|
||||
<summary>
|
||||
三级裁判员
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Enum.RefereeRole">
|
||||
<summary>
|
||||
裁判可执裁的角色
|
||||
位标记枚举,一名裁判可同时具备多个执裁角色,按位组合存储
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeRole.None">
|
||||
<summary>
|
||||
无(未选择任何执裁角色)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeRole.Chief">
|
||||
<summary>
|
||||
主裁
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeRole.Performance">
|
||||
<summary>
|
||||
表现裁判
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeRole.Difficulty">
|
||||
<summary>
|
||||
难度裁判
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeRole.Choreography">
|
||||
<summary>
|
||||
创意编排裁判(仅规定赛使用)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.RefereeRole.CompletionQuality">
|
||||
<summary>
|
||||
完成质量裁判(仅规定赛使用)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Enum.RegistrationType">
|
||||
<summary>
|
||||
报名方式
|
||||
@ -4930,7 +5770,12 @@
|
||||
</member>
|
||||
<member name="T:YD_Event.Core.Enum.UnitAccountPlatform">
|
||||
<summary>
|
||||
单位账号所属平台
|
||||
用户所属平台
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.UnitAccountPlatform.EventSystem">
|
||||
<summary>
|
||||
赛事系统用户
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:YD_Event.Core.Enum.UnitAccountPlatform.Registration">
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user