feat: Enhance club membership activation and commission pool validation
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m9s

- Updated AcceptClubMembershipContractCommandHandler to set PackagePurchasedAt to the contract-signing time, ensuring accurate pool charging.
- Modified ActivateClubMembershipCommand to allow specifying a PackageId for forced activation, defaulting to the base package if not provided.
- Improved ActivateClubMembershipCommandHandler to handle new and existing memberships differently regarding pool charging.
- Added validation logic in GetWeeklyCommissionPoolQueryHandler to compare TotalPoolAmount against actual activations.
- Introduced validation fields in WeeklyCommissionPoolDto for tracking discrepancies and expected amounts.
- Updated stored procedures to ensure accurate calculations based on package purchases and to handle empty pools.
- Enhanced protobuf definitions to include validation fields for commission pools and network tree nodes.
- Added mapping for new fields in CommissionProfile and NetworkMembershipProfile.
- Created DiscountProductProfile for mapping discount product requests and responses.
This commit is contained in:
masoodafar-web
2026-05-01 00:07:05 +03:30
parent 789aa0b870
commit 8518c7b3ec
18 changed files with 423 additions and 115 deletions
@@ -51,7 +51,11 @@ public class CommissionProfile : IRegister
: null)
.Map(dest => dest.Created, src => Timestamp.FromDateTimeOffset(src.Created))
.Map(dest => dest.PackageId, src => src.PackageId)
.Map(dest => dest.PackageTitle, src => src.PackageTitle);
.Map(dest => dest.PackageTitle, src => src.PackageTitle)
.Map(dest => dest.ValidationIsValid, src => src.ValidationIsValid)
.Map(dest => dest.ValidationExpectedAmount, src => src.ValidationExpectedAmount)
.Map(dest => dest.ValidationDiscrepancy, src => src.ValidationDiscrepancy)
.Map(dest => dest.ValidationActivationCount, src => src.ValidationActivationCount);
// GetAvailableWeeks Response Mapping
config.NewConfig<GetAvailableWeeksResponseDto, GetAvailableWeeksResponse>()