diff --git a/YD_Event.Application/Event/Dtos/UserCompetitionDtos.cs b/YD_Event.Application/Event/Dtos/UserCompetitionDtos.cs index d33db35..9354807 100644 --- a/YD_Event.Application/Event/Dtos/UserCompetitionDtos.cs +++ b/YD_Event.Application/Event/Dtos/UserCompetitionDtos.cs @@ -81,6 +81,11 @@ public class UserEventListOutput /// 比赛结束时间 /// public DateTime MatchEndTime { get; set; } + + /// + /// 当前用户是否可以报名参与该赛事 + /// + public bool CanRegister { get; set; } } /// diff --git a/YD_Event.Application/Event/UserEventRegistrationService.cs b/YD_Event.Application/Event/UserEventRegistrationService.cs index 8f0f1b6..42ebacc 100644 --- a/YD_Event.Application/Event/UserEventRegistrationService.cs +++ b/YD_Event.Application/Event/UserEventRegistrationService.cs @@ -42,6 +42,7 @@ public class UserEventRegistrationService : IDynamicApiController, ITransient private readonly ISqlSugarRepository _pointsRuleRepository; private readonly ISqlSugarRepository _orderRepository; private readonly ISqlSugarRepository _weChatPayConfigRepository; + private readonly ISqlSugarRepository _merchantRepository; private readonly AuthManager _authManager; private readonly IIdGenerator _idGenerator; private readonly WeChatPayService _weChatPayService; @@ -62,6 +63,7 @@ public class UserEventRegistrationService : IDynamicApiController, ITransient ISqlSugarRepository pointsRuleRepository, ISqlSugarRepository orderRepository, ISqlSugarRepository weChatPayConfigRepository, + ISqlSugarRepository merchantRepository, AuthManager authManager, IIdGenerator idGenerator, WeChatPayService weChatPayService, @@ -81,6 +83,7 @@ public class UserEventRegistrationService : IDynamicApiController, ITransient _pointsRuleRepository = pointsRuleRepository; _orderRepository = orderRepository; _weChatPayConfigRepository = weChatPayConfigRepository; + _merchantRepository = merchantRepository; _authManager = authManager; _idGenerator = idGenerator; _weChatPayService = weChatPayService; @@ -104,7 +107,7 @@ public class UserEventRegistrationService : IDynamicApiController, ITransient .WhereIF(input.EndTime.HasValue, x => x.MatchEndTime <= input.EndTime) .OrderByDescending(x => x.CreatedTime); - return await query.Select(x => new UserEventListOutput + var pageResult = await query.Select(x => new UserEventListOutput { Id = x.Id, Name = x.EventName, @@ -115,6 +118,17 @@ public class UserEventRegistrationService : IDynamicApiController, ITransient MatchStartTime = x.MatchStartTime, MatchEndTime = x.MatchEndTime }).ToPagedListAsync(input); + + var userId = _authManager.UserId; + var merchant = await _merchantRepository.GetFirstAsync(m => m.CreatedUserId == userId); + var canRegister = merchant != null && merchant.AuditStatus == AuditStatus.Pass; + + foreach (var item in pageResult.Rows) + { + item.CanRegister = canRegister; + } + + return pageResult; } /// diff --git a/YD_Event.Application/YD_Event.Application.xml b/YD_Event.Application/YD_Event.Application.xml index 4acf7e4..9d32ddf 100644 --- a/YD_Event.Application/YD_Event.Application.xml +++ b/YD_Event.Application/YD_Event.Application.xml @@ -4379,6 +4379,11 @@ 比赛结束时间 + + + 当前用户是否可以报名参与该赛事 + + 用户端赛事详情输出