refactor(mappings): streamline mapping configurations for user package purchases and payment transactions
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 23m14s
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 23m14s
- Updated mapping configurations in UserPackagePurchaseProfile and PaymentTransactionProfile to utilize new Protobuf definitions for improved clarity and consistency. - Simplified filter mappings and removed redundant mapping methods to enhance maintainability. - Ensured alignment of all relevant profiles with the latest filter structures and DTOs.
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
using CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetAllPaymentTransactionByFilter;
|
||||
using CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetPaymentTransactionSummary;
|
||||
using CMSMicroservice.Protobuf.Protos.PaymentTransaction;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
using CMSMicroservice.Domain.Enums;
|
||||
using Mapster;
|
||||
using AppFilter = CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetAllPaymentTransactionByFilter.GetAllPaymentTransactionByFilterFilter;
|
||||
using ProtoFilter = CMSMicroservice.Protobuf.Protos.PaymentTransaction.GetAllPaymentTransactionByFilterFilter;
|
||||
using AppPt = CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetAllPaymentTransactionByFilter;
|
||||
using AppPtSummary = CMSMicroservice.Application.PaymentTransactionCQ.Queries.GetPaymentTransactionSummary;
|
||||
using ProtoPt = CMSMicroservice.Protobuf.Protos.PaymentTransaction;
|
||||
|
||||
namespace CMSMicroservice.WebApi.Common.Mappings;
|
||||
|
||||
@@ -12,93 +11,50 @@ public class PaymentTransactionProfile : IRegister
|
||||
{
|
||||
public void Register(TypeAdapterConfig config)
|
||||
{
|
||||
config.NewConfig<GetAllPaymentTransactionByFilterRequest, GetAllPaymentTransactionByFilterQuery>()
|
||||
.MapWith(MapListQuery);
|
||||
config.NewConfig<ProtoPt.GetAllPaymentTransactionByFilterRequest, AppPt.GetAllPaymentTransactionByFilterQuery>()
|
||||
.Map(dest => dest.PaginationState, src => src.PaginationState)
|
||||
.Map(dest => dest.SortBy, src => src.SortBy)
|
||||
.Map(dest => dest.Filter, src => src.Filter);
|
||||
|
||||
config.NewConfig<GetAllPaymentTransactionByFilterResponseDto, GetAllPaymentTransactionByFilterResponse>()
|
||||
.MapWith(MapListResponse);
|
||||
config.NewConfig<ProtoPt.GetAllPaymentTransactionByFilterFilter, AppPt.GetAllPaymentTransactionByFilterFilter>()
|
||||
.Map(dest => dest.UserId, src => src.UserId)
|
||||
.Map(dest => dest.Mobile, src => src.Mobile)
|
||||
.Map(dest => dest.GatewayProvider, src => src.GatewayProvider)
|
||||
.Map(dest => dest.PaymentStatus, src => src.PaymentStatus)
|
||||
.Map(dest => dest.Authority, src => src.Authority)
|
||||
.Map(dest => dest.RefId, src => src.RefId)
|
||||
.Map(dest => dest.OrderId, src => src.OrderId)
|
||||
.Map(dest => dest.CreatedFrom, src => src.CreatedFrom != null ? src.CreatedFrom.ToDateTime() : (DateTime?)null)
|
||||
.Map(dest => dest.CreatedTo, src => src.CreatedTo != null ? src.CreatedTo.ToDateTime() : (DateTime?)null);
|
||||
|
||||
config.NewConfig<GetPaymentTransactionSummaryRequest, GetPaymentTransactionSummaryQuery>()
|
||||
.MapWith(src => new GetPaymentTransactionSummaryQuery
|
||||
{
|
||||
Filter = MapFilter(src.Filter)
|
||||
});
|
||||
config.NewConfig<AppPt.GetAllPaymentTransactionByFilterResponseDto, ProtoPt.GetAllPaymentTransactionByFilterResponse>()
|
||||
.Map(dest => dest.MetaData, src => src.MetaData)
|
||||
.Map(dest => dest.Models, src => src.Models);
|
||||
|
||||
config.NewConfig<GetPaymentTransactionSummaryResponseDto, GetPaymentTransactionSummaryResponse>()
|
||||
.MapWith(src => new GetPaymentTransactionSummaryResponse
|
||||
{
|
||||
TotalCount = src.TotalCount,
|
||||
TotalAmount = src.TotalAmount,
|
||||
SuccessfulCount = src.SuccessfulCount,
|
||||
PendingCount = src.PendingCount
|
||||
});
|
||||
config.NewConfig<AppPt.GetAllPaymentTransactionByFilterResponseModel, ProtoPt.PaymentTransactionModel>()
|
||||
.Map(dest => dest.Id, src => src.Id)
|
||||
.Map(dest => dest.UserId, src => src.UserId ?? 0)
|
||||
.Map(dest => dest.Mobile, src => src.Mobile ?? string.Empty)
|
||||
.Map(dest => dest.GatewayProvider, src => src.GatewayProvider)
|
||||
.Map(dest => dest.Amount, src => src.Amount)
|
||||
.Map(dest => dest.Authority, src => src.Authority ?? string.Empty)
|
||||
.Map(dest => dest.PaymentStatus, src => src.PaymentStatus)
|
||||
.Map(dest => dest.VerificationStatusCode, src => src.VerificationStatusCode)
|
||||
.Map(dest => dest.VerificationStatusMessage, src => src.VerificationStatusMessage ?? string.Empty)
|
||||
.Map(dest => dest.RefId, src => src.RefId ?? string.Empty)
|
||||
.Map(dest => dest.CardPan, src => src.CardPan ?? string.Empty)
|
||||
.Map(dest => dest.OrderId, src => src.OrderId ?? string.Empty)
|
||||
.Map(dest => dest.TransactionId, src => src.TransactionId)
|
||||
.Map(dest => dest.Description, src => src.Description ?? string.Empty)
|
||||
.Map(dest => dest.CreatedAt, src => Timestamp.FromDateTimeOffset(src.Created));
|
||||
|
||||
config.NewConfig<ProtoPt.GetPaymentTransactionSummaryRequest, AppPtSummary.GetPaymentTransactionSummaryQuery>()
|
||||
.Map(dest => dest.Filter, src => src.Filter);
|
||||
|
||||
config.NewConfig<AppPtSummary.GetPaymentTransactionSummaryResponseDto, ProtoPt.GetPaymentTransactionSummaryResponse>()
|
||||
.Map(dest => dest.TotalCount, src => src.TotalCount)
|
||||
.Map(dest => dest.TotalAmount, src => src.TotalAmount)
|
||||
.Map(dest => dest.SuccessfulCount, src => src.SuccessfulCount)
|
||||
.Map(dest => dest.PendingCount, src => src.PendingCount);
|
||||
}
|
||||
|
||||
private static GetAllPaymentTransactionByFilterQuery MapListQuery(GetAllPaymentTransactionByFilterRequest src) =>
|
||||
new()
|
||||
{
|
||||
PaginationState = MapPagination(src.PaginationState),
|
||||
SortBy = src.HasSortBy ? src.SortBy : null,
|
||||
Filter = MapFilter(src.Filter)
|
||||
};
|
||||
|
||||
private static GetAllPaymentTransactionByFilterResponse MapListResponse(GetAllPaymentTransactionByFilterResponseDto src) =>
|
||||
new()
|
||||
{
|
||||
MetaData = MapMeta(src.MetaData),
|
||||
Models = { src.Models?.Select(MapModel) ?? [] }
|
||||
};
|
||||
|
||||
private static AppFilter? MapFilter(ProtoFilter? src)
|
||||
{
|
||||
if (src == null) return null;
|
||||
return new AppFilter
|
||||
{
|
||||
UserId = src.HasUserId ? src.UserId : null,
|
||||
Mobile = src.HasMobile ? src.Mobile : null,
|
||||
GatewayProvider = src.HasGatewayProvider ? src.GatewayProvider : null,
|
||||
PaymentStatus = src.HasPaymentStatus ? src.PaymentStatus : null,
|
||||
Authority = src.HasAuthority ? src.Authority : null,
|
||||
RefId = src.HasRefId ? src.RefId : null,
|
||||
OrderId = src.HasOrderId ? src.OrderId : null,
|
||||
CreatedFrom = src.CreatedFrom?.ToDateTime(),
|
||||
CreatedTo = src.CreatedTo?.ToDateTime()
|
||||
};
|
||||
}
|
||||
|
||||
private static PaymentTransactionModel MapModel(GetAllPaymentTransactionByFilterResponseModel m) =>
|
||||
new()
|
||||
{
|
||||
Id = m.Id,
|
||||
UserId = m.UserId ?? 0,
|
||||
Mobile = m.Mobile ?? string.Empty,
|
||||
GatewayProvider = m.GatewayProvider,
|
||||
Amount = m.Amount,
|
||||
Authority = m.Authority ?? string.Empty,
|
||||
PaymentStatus = m.PaymentStatus,
|
||||
VerificationStatusCode = m.VerificationStatusCode,
|
||||
VerificationStatusMessage = m.VerificationStatusMessage ?? string.Empty,
|
||||
RefId = m.RefId ?? string.Empty,
|
||||
CardPan = m.CardPan ?? string.Empty,
|
||||
OrderId = m.OrderId ?? string.Empty,
|
||||
TransactionId = m.TransactionId,
|
||||
Description = m.Description ?? string.Empty,
|
||||
CreatedAt = Timestamp.FromDateTimeOffset(m.Created)
|
||||
};
|
||||
|
||||
private static Application.Common.Models.PaginationState? MapPagination(CMSMicroservice.Protobuf.Protos.PaginationState? ps) =>
|
||||
ps == null ? null : new Application.Common.Models.PaginationState
|
||||
{
|
||||
PageNumber = ps.PageNumber > 0 ? ps.PageNumber : 1,
|
||||
PageSize = ps.PageSize > 0 ? ps.PageSize : 20
|
||||
};
|
||||
|
||||
private static CMSMicroservice.Protobuf.Protos.MetaData MapMeta(Application.Common.Models.MetaData meta) =>
|
||||
new()
|
||||
{
|
||||
CurrentPage = meta.CurrentPage,
|
||||
PageSize = meta.PageSize,
|
||||
TotalCount = meta.TotalCount,
|
||||
TotalPage = meta.TotalPage
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user