feat: Implement Club Membership features including activation and retrieval of membership status
- Added command and handler for activating club membership with optional activation code and duration. - Created response DTO for club membership activation. - Implemented query and handler to retrieve current user's club membership status. - Added necessary Protobuf service calls for club membership operations. - Introduced new queries for retrieving network statistics and network tree structure. - Enhanced commission queries to fetch user commission payouts and weekly balances. - Updated application contract context to include new services for club and network memberships.
This commit is contained in:
38
src/FrontOffice.BFF.WebApi/Services/ClubMembershipService.cs
Normal file
38
src/FrontOffice.BFF.WebApi/Services/ClubMembershipService.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
using FrontOffice.BFF.WebApi.Common.Services;
|
||||
using FrontOffice.BFF.Application.ClubMembershipCQ.Queries.GetMyClubMembership;
|
||||
using FrontOffice.BFF.Application.ClubMembershipCQ.Commands.ActivateMyClubMembership;
|
||||
|
||||
namespace FrontOffice.BFF.WebApi.Services;
|
||||
|
||||
/// <summary>
|
||||
/// سرویس باشگاه مشتریان - مختص کاربر جاری
|
||||
/// این سرویس فعلاً از REST API استفاده میکند تا proto فایل برایش ایجاد شود
|
||||
/// TODO: ایجاد proto فایل و تبدیل به gRPC service
|
||||
/// </summary>
|
||||
public class ClubMembershipService
|
||||
{
|
||||
private readonly IDispatchRequestToCQRS _dispatchRequestToCQRS;
|
||||
|
||||
public ClubMembershipService(IDispatchRequestToCQRS dispatchRequestToCQRS)
|
||||
{
|
||||
_dispatchRequestToCQRS = dispatchRequestToCQRS;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// دریافت وضعیت عضویت باشگاه کاربر جاری
|
||||
/// </summary>
|
||||
public async Task<GetMyClubMembershipResponseDto> GetMyClubMembership(Empty request, ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<GetMyClubMembershipQuery, GetMyClubMembershipResponseDto>(context);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// فعالسازی عضویت باشگاه (پرداخت 56M)
|
||||
/// </summary>
|
||||
public async Task<ActivateMyClubMembershipResponseDto> ActivateMyClubMembership(
|
||||
ActivateMyClubMembershipCommand request,
|
||||
ServerCallContext context)
|
||||
{
|
||||
return await _dispatchRequestToCQRS.Handle<ActivateMyClubMembershipCommand, ActivateMyClubMembershipResponseDto>(request, context);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user