fix: package-based compliance audit — feature DIFF, remove hardcoded fallbacks
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m12s

- ActivateClubMembership: replace GetAllFeatureIds with PackageFeature DIFF (Q20)
- ActivateClubMembership: fix re-activation early return — check current cycle
- AcceptClubMembershipContract: same feature DIFF logic
- VerifyPackagePurchase: remove ?? 2.0m fallback, throw if package null
- PackageService: remove ?? 2.0m fallback for DiscountMultiplier
- UserOrderService: remove ?? 1B fallback for MagicWalletMaxDeposit
- SystemConstants: remove 9 dead [Obsolete] constants (per-package values)
This commit is contained in:
masoodafar-web
2026-02-27 02:35:41 +03:30
parent dcd11351a3
commit 1ac23667e2
6 changed files with 147 additions and 143 deletions
@@ -20,42 +20,6 @@ public static class SystemConstants
#endregion
#region Club Settings
/// <summary>
/// مبلغ هدیه حق عضویت باشگاه (ریال) - این مبلغ از کیف پول کم نمی‌شود
/// [DEPRECATED] از Package.Price استفاده کنید
/// </summary>
[Obsolete("Moved to Package entity. Use package.Price or package.ActivationFee instead.")]
public const long ClubMembershipGiftValue = 25_200_000;
/// <summary>
/// هزینه فعال‌سازی عضویت باشگاه (ریال)
/// [DEPRECATED] از Package.ActivationFee استفاده کنید
/// </summary>
[Obsolete("Moved to Package.ActivationFee. Read from Package entity instead.")]
public const long ClubActivationFee = 25_200_000;
#endregion
#region Package Settings
/// <summary>
/// مبلغ پکیج پایه (ریال)
/// [DEPRECATED] از Package.Price استفاده کنید
/// </summary>
[Obsolete("Moved to Package.Price. Read from Package entity instead.")]
public const long BasePackageAmount = 56_000_000;
/// <summary>
/// مبلغ وام دایا (ریال)
/// [DEPRECATED] از Package.Price استفاده کنید
/// </summary>
[Obsolete("Moved to Package.Price. Read from Package entity with SupportsDayaPurchase=true.")]
public const long DayaLoanAmount = 56_000_000;
#endregion
#region Commission Settings
/// <summary>
@@ -68,20 +32,6 @@ public static class SystemConstants
/// </summary>
public const long CommissionMinWithdrawalAmount = 1_000_000;
/// <summary>
/// سقف تعادل هفتگی برای هر دست (چپ یا راست) - حداکثر کل = 600
/// [DEPRECATED] از Package.MaxBalancesPerLeg استفاده کنید
/// </summary>
[Obsolete("Moved to Package.MaxBalancesPerLeg. Read from Package entity instead.")]
public const int CommissionMaxWeeklyBalancesPerLeg = 300;
/// <summary>
/// حداکثر عمق شبکه برای محاسبه کمیسیون (تعداد لول زیرمجموعه)
/// [DEPRECATED] از Package.MaxNetworkLevel استفاده کنید
/// </summary>
[Obsolete("Moved to Package.MaxNetworkLevel. Read from Package entity instead.")]
public const int CommissionMaxNetworkLevel = 15;
/// <summary>
/// روش محاسبه (ORM یا SP)
/// </summary>
@@ -105,26 +55,8 @@ public static class SystemConstants
#region Magic Wallet Settings
/// <summary>
/// ضریب شارژ کیف‌پول جادویی — واریز × 2.5 = اعتبار
/// [DEPRECATED] از Package.MagicWalletMultiplier استفاده کنید
/// </summary>
[Obsolete("Moved to Package.MagicWalletMultiplier. Read from Package entity instead.")]
public const decimal MagicWalletMultiplier = 2.5m;
/// <summary>
/// سقف واریز در هر دور جادویی (ریال) — 100M تومان
/// [DEPRECATED] از Package.MagicWalletMaxDeposit استفاده کنید
/// </summary>
[Obsolete("Moved to Package.MagicWalletMaxDeposit. Read from Package entity instead.")]
public const long MagicWalletMaxDeposit = 1_000_000_000;
/// <summary>
/// سقف اعتبار در هر دور جادویی (ریال) — 250M تومان
/// [DEPRECATED] از Package.MagicWalletMaxCredit استفاده کنید
/// </summary>
[Obsolete("Moved to Package.MagicWalletMaxCredit. Read from Package entity instead.")]
public const long MagicWalletMaxCredit = 2_500_000_000;
// Per-package magic wallet settings are now in Package entity:
// Package.MagicWalletMultiplier, Package.MagicWalletMaxDeposit, Package.MagicWalletMaxCredit
#endregion