feat: Update payment processing and callback mechanisms
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m22s
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m22s
- Refactor ActivateClubMembershipCommandHandler to use UserPackagePurchases instead of UserOrders for package activation. - Modify PlaceOrderCommandHandler to redirect payment callbacks to the front office. - Update ChargeDiscountWalletCommandHandler and ChargeMagicWalletCommandHandler to direct payment callbacks to the front office. - Remove PaymentCallbackController and integrate payment verification directly into DiscountOrderService and UserWalletService. - Add CustomerVerifyDiscountOrderPayment RPC to DiscountOrderService for verifying discount order payments. - Implement VerifyMagicCharge and VerifyDiscountCharge methods in UserWalletService for wallet charge verifications. - Update appsettings.json to use local URLs for development. - Remove appsettings.Development.json as it is no longer needed. - Comment out history tracking methods in ClubMembershipCycle and Package classes. - Update PackageService to automatically activate club membership after successful payment verification. - Adjust UserService to generate JWT tokens with user details.
This commit is contained in:
@@ -7,7 +7,8 @@ namespace CMSMicroservice.Domain.Entities.Club;
|
||||
/// دوره خرید پکیج — هر بار خرید پکیج ۵۶M یک Cycle جدید ایجاد میشود.
|
||||
/// برای حل مشکل overwrite شدن ClubMembership.ActivatedAt در محاسبه کمیسیون.
|
||||
/// </summary>
|
||||
public class ClubMembershipCycle : BaseAuditableEntity, IHasHistory<History.ClubMembershipCycleHistory>
|
||||
public class ClubMembershipCycle : BaseAuditableEntity
|
||||
// , IHasHistory<History.ClubMembershipCycleHistory>
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه کاربر
|
||||
@@ -83,20 +84,20 @@ public class ClubMembershipCycle : BaseAuditableEntity, IHasHistory<History.Club
|
||||
/// مقادیر New* از وضعیت فعلی پر میشوند.
|
||||
/// مقادیر Old* توسط HistoryTrackingSaveChangesInterceptor از OriginalValues پر میشوند.
|
||||
/// </summary>
|
||||
public History.ClubMembershipCycleHistory CreateHistorySnapshot(string action, string? performedBy)
|
||||
{
|
||||
return new History.ClubMembershipCycleHistory
|
||||
{
|
||||
ClubMembershipCycleId = Id,
|
||||
UserId = UserId,
|
||||
CycleNumber = CycleNumber,
|
||||
NewIsCurrentCycle = IsCurrentCycle,
|
||||
NewMagicStartedAt = MagicStartedAt,
|
||||
NewMagicCompletedAt = MagicCompletedAt,
|
||||
Action = Enum.TryParse<ClubMembershipCycleAction>(action, out var a)
|
||||
? a
|
||||
: ClubMembershipCycleAction.ManualFix,
|
||||
PerformedBy = performedBy
|
||||
};
|
||||
}
|
||||
// public History.ClubMembershipCycleHistory CreateHistorySnapshot(string action, string? performedBy)
|
||||
// {
|
||||
// return new History.ClubMembershipCycleHistory
|
||||
// {
|
||||
// ClubMembershipCycleId = Id,
|
||||
// UserId = UserId,
|
||||
// CycleNumber = CycleNumber,
|
||||
// NewIsCurrentCycle = IsCurrentCycle,
|
||||
// NewMagicStartedAt = MagicStartedAt,
|
||||
// NewMagicCompletedAt = MagicCompletedAt,
|
||||
// Action = Enum.TryParse<ClubMembershipCycleAction>(action, out var a)
|
||||
// ? a
|
||||
// : ClubMembershipCycleAction.ManualFix,
|
||||
// PerformedBy = performedBy
|
||||
// };
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -6,7 +6,8 @@ namespace CMSMicroservice.Domain.Entities;
|
||||
/// <summary>
|
||||
/// پکیج — هر پکیج قیمت، ویژگیها و تنظیمات مستقل دارد
|
||||
/// </summary>
|
||||
public class Package : BaseAuditableEntity, IHasHistory<History.PackageHistory>
|
||||
public class Package : BaseAuditableEntity
|
||||
// , IHasHistory<History.PackageHistory>
|
||||
{
|
||||
// === فیلدهای فعلی (حفظ) ===
|
||||
|
||||
@@ -83,19 +84,19 @@ public class Package : BaseAuditableEntity, IHasHistory<History.PackageHistory>
|
||||
/// <summary>
|
||||
/// ساخت snapshot تاریخچه — Q27 auto-tracking
|
||||
/// </summary>
|
||||
public History.PackageHistory CreateHistorySnapshot(string action, string? performedBy)
|
||||
{
|
||||
return new History.PackageHistory
|
||||
{
|
||||
PackageId = Id,
|
||||
NewPrice = Price,
|
||||
NewActivationFee = ActivationFee,
|
||||
NewMagicMultiplier = MagicWalletMultiplier,
|
||||
NewMagicMaxDeposit = MagicWalletMaxDeposit,
|
||||
NewMaxBalancesPerLeg = MaxBalancesPerLeg,
|
||||
NewIsActive = IsActive,
|
||||
Action = Enum.TryParse<PackageAction>(action, out var a) ? a : PackageAction.Updated,
|
||||
PerformedBy = performedBy
|
||||
};
|
||||
}
|
||||
// public History.PackageHistory CreateHistorySnapshot(string action, string? performedBy)
|
||||
// {
|
||||
// return new History.PackageHistory
|
||||
// {
|
||||
// PackageId = Id,
|
||||
// NewPrice = Price,
|
||||
// NewActivationFee = ActivationFee,
|
||||
// NewMagicMultiplier = MagicWalletMultiplier,
|
||||
// NewMagicMaxDeposit = MagicWalletMaxDeposit,
|
||||
// NewMaxBalancesPerLeg = MaxBalancesPerLeg,
|
||||
// NewIsActive = IsActive,
|
||||
// Action = Enum.TryParse<PackageAction>(action, out var a) ? a : PackageAction.Updated,
|
||||
// PerformedBy = performedBy
|
||||
// };
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user