feat: Magic Wallet Phase 6 + Daya restriction + purchase cycle count
- ActivateClubMembershipCommandHandler: block activation in Magic mode - CheckAndProcessDayaLoansCommandHandler: reject Daya after first cycle - userwallet.proto: add purchase_cycle_count to GetMagicWalletStatusResponse - UserWalletService: query ClubMembershipCycles count for cycle info - EF Migration u21: ClubMembershipCycle table + UserWallet Magic fields
This commit is contained in:
+11
@@ -72,6 +72,17 @@ public class CheckAndProcessDayaLoansCommandHandler : IRequestHandler<CheckAndPr
|
||||
|
||||
result.UserId = user.Id;
|
||||
|
||||
// 2.5. بررسی محدودیت دایا — پس از اولین دور، فقط IPG مجاز است
|
||||
var hasPreviousCycle = await _context.ClubMembershipCycles
|
||||
.AnyAsync(c => c.UserId == user.Id, cancellationToken);
|
||||
|
||||
if (hasPreviousCycle)
|
||||
{
|
||||
result.Message = "کاربرانی که دور اول را تکمیل کردهاند فقط از طریق درگاه بانکی میتوانند پکیج خریداری کنند";
|
||||
results.Add(result);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 3. ذخیره/بهروزرسانی DayaLoanContract
|
||||
var contract = await _context.DayaLoanContracts
|
||||
.FirstOrDefaultAsync(d => d.NationalCode == dayaResult.NationalCode, cancellationToken);
|
||||
|
||||
Reference in New Issue
Block a user