feat: add manual membership payment and update commission queries
Build and Deploy / build (push) Successful in 2m29s

This commit is contained in:
masoodafar-web
2025-12-12 10:23:52 +03:30
parent 19a717fc87
commit c6abee2650
18 changed files with 617 additions and 374 deletions
@@ -2,7 +2,9 @@ using BackOffice.BFF.Application.CommissionCQ.Queries.GetWeeklyPool;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetAllWeeklyPools;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetUserWeeklyBalances;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetAvailableWeeks;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetUserPayouts;
using Foursat.BackOffice.BFF.Commission.Protos;
using System.Collections.Generic;
namespace BackOffice.BFF.WebApi.Common.Mappings;
@@ -28,32 +30,34 @@ public class CommissionProfile : IRegister
});
// GetUserPayoutsResponseDto -> GetUserCommissionPayoutsResponse
// config.NewConfig<GetUserPayoutsResponseDto, GetUserCommissionPayoutsResponse>()
// .MapWith(src => new GetUserCommissionPayoutsResponse
// {
// MetaData = new BackOffice.BFF.Protobuf.Common.MetaData
// {
// CurrentPage = src.PageNumber,
// PageSize = src.PageSize,
// TotalCount = src.TotalCount,
// TotalPage = src.TotalPages
// },
// Models = { src.Payouts.Select(m => new UserCommissionPayoutModel
// {
// Id = m.Id,
// UserId = m.UserId,
// UserName = m.UserName ?? string.Empty,
// WeekNumber = m.WeekNumber ?? string.Empty,
// BalanceCount = m.BalanceCount,
// PayoutAmount = m.PayoutAmount,
// Status = m.Status,
// StatusDisplay = m.StatusDisplay ?? string.Empty,
// PayoutDate = m.PayoutDate.HasValue
// ? Timestamp.FromDateTime(DateTime.SpecifyKind(m.PayoutDate.Value, DateTimeKind.Utc))
// : null,
// Created = Timestamp.FromDateTime(DateTime.SpecifyKind(m.Created, DateTimeKind.Utc))
// }) }
// });
config.NewConfig<GetUserPayoutsResponseDto, GetUserCommissionPayoutsResponse>()
.MapWith(src => new GetUserCommissionPayoutsResponse
{
MetaData = new BackOffice.BFF.Protobuf.Common.MetaData
{
CurrentPage = src.MetaData.CurrentPage,
PageSize = src.MetaData.PageSize,
TotalCount = src.MetaData.TotalCount,
TotalPage = src.MetaData.TotalPage
},
Models = { (src.Models ?? new List<GetUserPayoutsResponseModel>()).Select(m => new UserCommissionPayoutModel
{
Id = m.Id,
UserId = m.UserId,
UserName = m.UserName,
WeekNumber = m.WeekNumber,
BalancesEarned = m.BalancesEarned,
ValuePerBalance = m.ValuePerBalance,
TotalAmount = m.TotalAmount,
Status = m.Status,
WithdrawalMethod = m.WithdrawalMethod,
IbanNumber = m.IbanNumber,
Created = Timestamp.FromDateTime(DateTime.SpecifyKind(m.Created, DateTimeKind.Utc)),
LastModified = m.LastModified.HasValue
? Timestamp.FromDateTime(DateTime.SpecifyKind(m.LastModified.Value, DateTimeKind.Utc))
: null
}) }
});
// GetAllWeeklyPoolsResponseDto -> GetAllWeeklyPoolsResponse
config.NewConfig<GetAllWeeklyPoolsResponseDto, GetAllWeeklyPoolsResponse>()