feat(package): update package purchase methods and enhance Protobuf definitions
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m45s
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 6m45s
- Changed package purchase method from DirectPurchase to Manual in multiple command handlers to reflect new business logic. - Added Manual purchase method to PackagePurchaseMethod enum for clarity. - Introduced new RPC method GetCustomerPackagePurchaseRollup in Protobuf for summarizing customer package purchases. - Updated UserPackagePurchaseProfile and UserPackagePurchaseService to support new rollup functionality. - Bumped Protobuf project version to accommodate new features.
This commit is contained in:
@@ -3,6 +3,7 @@ using CMSMicroservice.Domain.Enums;
|
||||
using Mapster;
|
||||
using AppUp = CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetAllUserPackagePurchaseByFilter;
|
||||
using AppUpSummary = CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetUserPackagePurchaseSummary;
|
||||
using AppRollup = CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetCustomerPackagePurchaseRollup;
|
||||
using ProtoUp = CMSMicroservice.Protobuf.Protos.UserPackagePurchase;
|
||||
|
||||
namespace CMSMicroservice.WebApi.Common.Mappings;
|
||||
@@ -49,5 +50,41 @@ public class UserPackagePurchaseProfile : IRegister
|
||||
config.NewConfig<AppUpSummary.GetUserPackagePurchaseSummaryResponseDto, ProtoUp.GetUserPackagePurchaseSummaryResponse>()
|
||||
.Map(dest => dest.TotalCount, src => src.TotalCount)
|
||||
.Map(dest => dest.TotalAmount, src => src.TotalAmount);
|
||||
|
||||
config.NewConfig<ProtoUp.GetCustomerPackagePurchaseRollupRequest, AppRollup.GetCustomerPackagePurchaseRollupQuery>()
|
||||
.Map(dest => dest.PaginationState, src => src.PaginationState)
|
||||
.Map(dest => dest.Filter, src => src.Filter);
|
||||
|
||||
config.NewConfig<ProtoUp.GetCustomerPackagePurchaseRollupFilter, AppRollup.GetCustomerPackagePurchaseRollupFilter>()
|
||||
.Map(dest => dest.UserId, src => src.UserId)
|
||||
.Map(dest => dest.PurchaseMethod, src => src.PurchaseMethod == null ? null : (PackagePurchaseMethod?)src.PurchaseMethod)
|
||||
.Map(dest => dest.PurchasedFrom, src => src.PurchasedFrom != null ? src.PurchasedFrom.ToDateTime() : (DateTime?)null)
|
||||
.Map(dest => dest.PurchasedTo, src => src.PurchasedTo != null ? src.PurchasedTo.ToDateTime() : (DateTime?)null);
|
||||
|
||||
config.NewConfig<AppRollup.GetCustomerPackagePurchaseRollupResponseDto, ProtoUp.GetCustomerPackagePurchaseRollupResponse>()
|
||||
.Map(dest => dest.MetaData, src => src.MetaData)
|
||||
.Map(dest => dest.Models, src => src.Models);
|
||||
|
||||
config.NewConfig<AppRollup.CustomerPackagePurchaseRollupModel, ProtoUp.CustomerPackagePurchaseRollupModel>()
|
||||
.Map(dest => dest.UserId, src => src.UserId)
|
||||
.Map(dest => dest.UserName, src => src.UserName)
|
||||
.Map(dest => dest.UserMobile, src => src.UserMobile)
|
||||
.Map(dest => dest.FirstPackageId, src => src.FirstPackageId)
|
||||
.Map(dest => dest.FirstPackageName, src => src.FirstPackageName)
|
||||
.Map(dest => dest.FirstAmount, src => src.FirstAmount)
|
||||
.Map(dest => dest.FirstPurchasedAt, src => Timestamp.FromDateTime(DateTime.SpecifyKind(src.FirstPurchasedAt, DateTimeKind.Utc)))
|
||||
.Map(dest => dest.LastPackageId, src => src.LastPackageId)
|
||||
.Map(dest => dest.LastPackageName, src => src.LastPackageName)
|
||||
.Map(dest => dest.LastAmount, src => src.LastAmount)
|
||||
.Map(dest => dest.LastPurchasedAt, src => Timestamp.FromDateTime(DateTime.SpecifyKind(src.LastPurchasedAt, DateTimeKind.Utc)))
|
||||
.Map(dest => dest.LastPurchaseMethod, src => (int)src.LastPurchaseMethod)
|
||||
.Map(dest => dest.PurchaseCount, src => src.PurchaseCount)
|
||||
.Map(dest => dest.TotalAmount, src => src.TotalAmount)
|
||||
.Map(dest => dest.DayaCount, src => src.DayaCount)
|
||||
.Map(dest => dest.DayaAmount, src => src.DayaAmount)
|
||||
.Map(dest => dest.ManualCount, src => src.ManualCount)
|
||||
.Map(dest => dest.ManualAmount, src => src.ManualAmount)
|
||||
.Map(dest => dest.GatewayCount, src => src.GatewayCount)
|
||||
.Map(dest => dest.GatewayAmount, src => src.GatewayAmount);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ using CMSMicroservice.Protobuf.Protos.UserPackagePurchase;
|
||||
using CMSMicroservice.WebApi.Common.Services;
|
||||
using CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetAllUserPackagePurchaseByFilter;
|
||||
using CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetUserPackagePurchaseSummary;
|
||||
using CMSMicroservice.Application.UserPackagePurchaseCQ.Queries.GetCustomerPackagePurchaseRollup;
|
||||
|
||||
namespace CMSMicroservice.WebApi.Services;
|
||||
|
||||
@@ -18,4 +19,8 @@ public class UserPackagePurchaseService : UserPackagePurchaseContract.UserPackag
|
||||
public override Task<GetUserPackagePurchaseSummaryResponse> GetUserPackagePurchaseSummary(
|
||||
GetUserPackagePurchaseSummaryRequest request, ServerCallContext context) =>
|
||||
_dispatch.Handle<GetUserPackagePurchaseSummaryRequest, GetUserPackagePurchaseSummaryQuery, GetUserPackagePurchaseSummaryResponse>(request, context);
|
||||
|
||||
public override Task<GetCustomerPackagePurchaseRollupResponse> GetCustomerPackagePurchaseRollup(
|
||||
GetCustomerPackagePurchaseRollupRequest request, ServerCallContext context) =>
|
||||
_dispatch.Handle<GetCustomerPackagePurchaseRollupRequest, GetCustomerPackagePurchaseRollupQuery, GetCustomerPackagePurchaseRollupResponse>(request, context);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user