feat: ClubMembershipCycle IHasHistory + PackageId in WalletHistory (F1)
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m33s

- ClubMembershipCycle now implements IHasHistory<ClubMembershipCycleHistory>
  - CreateHistorySnapshot: New* fields from current state, Old* auto-filled by interceptor
  - Parses action string to ClubMembershipCycleAction enum

- Add PackageId to 6 UserWalletHistory creation sites (F1 fix):
  - VerifyPackagePurchaseCommandHandler: balanceLog + discountLog (order.PackageId)
  - CheckAndProcessDayaLoansCommandHandler: mainLog + discountLog (package.Id)
  - CreateManualPaymentCommandHandler: walletLog (package.Id)
  - PackageService.CustomerVerifyPackagePurchase: walletLog (purchase.PackageId)
  - Non-package flows (orders, commissions, manual) correctly keep PackageId=null
This commit is contained in:
masoodafar-web
2026-02-27 07:07:30 +03:30
parent 10d2ca20d1
commit e5bc3a952a
5 changed files with 38 additions and 7 deletions
@@ -231,7 +231,8 @@ public class CheckAndProcessDayaLoansCommandHandler : IRequestHandler<CheckAndPr
CurrentNetworkBalance = wallet.NetworkBalance,
ChangeNerworkValue = 0,
IsIncrease = true,
RefrenceId = transaction.Id
RefrenceId = transaction.Id,
PackageId = package.Id
};
await _context.UserWalletHistories.AddAsync(mainLog, cancellationToken);
@@ -249,7 +250,8 @@ public class CheckAndProcessDayaLoansCommandHandler : IRequestHandler<CheckAndPr
CurrentDiscountBalance = 0,
ChangeDiscountValue = discountAmount,
IsIncrease = true,
RefrenceId = transaction.Id
RefrenceId = transaction.Id,
PackageId = package.Id
};
await _context.UserWalletHistories.AddAsync(discountLog, cancellationToken);
@@ -130,7 +130,8 @@ public class CreateManualPaymentCommandHandler : IRequestHandler<CreateManualPay
CurrentDiscountBalance =0,
ChangeDiscountValue = discountBalanceAmount,
IsIncrease = true,
RefrenceId = transaction.Id
RefrenceId = transaction.Id,
PackageId = package.Id
};
await _context.UserWalletHistories.AddAsync(walletLog, cancellationToken);
@@ -139,7 +139,8 @@ public class VerifyPackagePurchaseCommandHandler
CurrentDiscountBalance = wallet.DiscountBalance - discountAmount, // قبل از شارژ DiscountBalance
ChangeDiscountValue = 0,
IsIncrease = true,
RefrenceId = transaction.Id
RefrenceId = transaction.Id,
PackageId = order.PackageId
};
await _context.UserWalletHistories.AddAsync(balanceLog, cancellationToken);
@@ -154,7 +155,8 @@ public class VerifyPackagePurchaseCommandHandler
CurrentDiscountBalance = wallet.DiscountBalance,
ChangeDiscountValue = discountAmount,
IsIncrease = true,
RefrenceId = transaction.Id
RefrenceId = transaction.Id,
PackageId = order.PackageId
};
await _context.UserWalletHistories.AddAsync(discountLog, cancellationToken);