Phase 1: Package-Based Domain Infrastructure
ENTITIES: - Package: +11 fields (SortOrder, IsActive, IsBasePackage, SupportsDaya/Direct, ActivationFee, DiscountMultiplier, MagicWalletMultiplier, MaxBalancesPerLeg, MaxNetworkLevel, MagicWalletMaxDeposit/Credit) + nav props - PackageFeature: NEW junction entity (Package × ClubFeature) for feature DIFF - ClubMembership: +4 fields (FirstActivationDate/PackageId, LastActivation/PackageId) ActivatedAt kept as [Obsolete] for backward compat - ClubMembershipCycle: +PackageId FK (tracks which package per cycle) - WeeklyCommissionPool: +PackageId FK (separate pool per package) - UserCommissionPayout: +PackageId FK (payout per package) - NetworkWeeklyBalance: +PackageId FK (balance per package) - UserWalletChangeLog: +PackageId? FK (optional package tracking) EF CONFIGS: - PackageConfiguration: 11 new field configs + indexes - PackageFeatureConfiguration: NEW (unique PackageId+ClubFeatureId) - ClubMembershipConfiguration: First/Last Package FKs + LastActivationDate index - ClubMembershipCycleConfiguration: Package FK - WeeklyCommissionPoolConfiguration: Package FK + unique(WeekDef,Package) - UserCommissionPayoutConfiguration: Package FK + unique(User,WeekDef,Package) - NetworkWeeklyBalanceConfiguration: Package FK + unique(User,WeekDef,Package) - UserWalletChangeLogConfiguration: Package FK (nullable) DBCONTEXT: - DbSet<PackageFeature> added to ApplicationDbContext + IApplicationDbContext SYSTEMCONSTANTS: - 9 constants marked [Obsolete] → moved to Package entity (ClubMembershipGiftValue, ClubActivationFee, BasePackageAmount, DayaLoanAmount, MagicWalletMultiplier, MagicWalletMaxDeposit, MagicWalletMaxCredit, CommissionMaxWeeklyBalancesPerLeg, CommissionMaxNetworkLevel) Build: 0 errors, 610 warnings (40 new = expected Obsolete CS0618)
This commit is contained in:
@@ -24,12 +24,16 @@ public static class SystemConstants
|
||||
|
||||
/// <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
|
||||
@@ -38,13 +42,16 @@ public static class SystemConstants
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ پکیج طلایی / پایه (ریال) - 56 میلیون تومان
|
||||
/// شامل: هدیه باشگاه + هزینه فعالسازی + مزایای دیگر
|
||||
/// [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
|
||||
@@ -63,12 +70,16 @@ public static class SystemConstants
|
||||
|
||||
/// <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>
|
||||
@@ -96,17 +107,23 @@ public static class SystemConstants
|
||||
|
||||
/// <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;
|
||||
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user