From d19c569aaea87ae4cd315419c0c8469131a87c87 Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Thu, 26 Feb 2026 01:10:43 +0330 Subject: [PATCH] Phase 6: Deprecation cleanup + ConfigurationService MagicWallet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Mark PurchaseGoldenPackage/VerifyGoldenPackagePurchase RPCs as deprecated - Mark InitiateBasePackagePayment/VerifyBasePackagePayment RPCs as deprecated - Remove deprecated SystemConstants from GetAllAsDict/GetAllWithDescriptions helpers - Add MagicWallet per-package values to ConfigurationService (Multiplier, MaxDeposit, MaxCredit) - All deprecated constants have zero active code usages — safe dead code --- .../Common/SystemConstants.cs | 29 ++++--------------- .../Protos/package.proto | 8 +++-- .../Services/ConfigurationService.cs | 11 +++++++ 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/src/CMSMicroservice.Domain/Common/SystemConstants.cs b/src/CMSMicroservice.Domain/Common/SystemConstants.cs index 2d02837..cc06ffa 100644 --- a/src/CMSMicroservice.Domain/Common/SystemConstants.cs +++ b/src/CMSMicroservice.Domain/Common/SystemConstants.cs @@ -146,6 +146,8 @@ public static class SystemConstants /// /// دریافت مقدار به صورت دیکشنری برای نمایش در Admin Panel + /// Note: Per-package values (Price, MaxBalancesPerLeg, etc.) are now read from Package entity + /// via ConfigurationService — only static/global constants remain here. /// public static Dictionary GetAllAsDict() { @@ -155,26 +157,15 @@ public static class SystemConstants ["Network.AllowOrphanNodes"] = NetworkAllowOrphanNodes, ["Network.MaxChildrenPerLeg"] = NetworkMaxChildrenPerLeg, - // Club - ["Club.MembershipGiftValue"] = ClubMembershipGiftValue, - ["Club.ActivationFee"] = ClubActivationFee, - - // Commission + // Commission (global settings only — per-package limits are in Package entity) ["Commission.CashWithdrawalEnabled"] = CommissionCashWithdrawalEnabled, ["Commission.MinWithdrawalAmount"] = CommissionMinWithdrawalAmount, - ["Commission.MaxWeeklyBalancesPerLeg"] = CommissionMaxWeeklyBalancesPerLeg, - ["Commission.MaxNetworkLevel"] = CommissionMaxNetworkLevel, ["Commission.CalculationStrategy"] = CommissionCalculationStrategy, // System ["System.MaintenanceMode"] = SystemMaintenanceMode, ["System.EnableAuditLog"] = SystemEnableAuditLog, - // Magic Wallet - ["MagicWallet.Multiplier"] = MagicWalletMultiplier, - ["MagicWallet.MaxDeposit"] = MagicWalletMaxDeposit, - ["MagicWallet.MaxCredit"] = MagicWalletMaxCredit, - // Shop ["Shop.VAT"] = ShopVAT, ["Shop.VATEnabled"] = ShopVATEnabled @@ -183,6 +174,7 @@ public static class SystemConstants /// /// دریافت لیست تنظیمات با توضیحات + /// Note: Per-package values are served from Package entity via ConfigurationService. /// public static List<(string Key, object Value, string Description)> GetAllWithDescriptions() { @@ -192,26 +184,15 @@ public static class SystemConstants ("Network.AllowOrphanNodes", NetworkAllowOrphanNodes, "اجازه حذف والدین که فرزند دارند"), ("Network.MaxChildrenPerLeg", NetworkMaxChildrenPerLeg, "حداکثر تعداد فرزند مستقیم در هر پا"), - // Club - ("Club.MembershipGiftValue", ClubMembershipGiftValue, "مبلغ هدیه حق عضویت باشگاه (ریال)"), - ("Club.ActivationFee", ClubActivationFee, "هزینه فعال‌سازی عضویت باشگاه (ریال)"), - - // Commission + // Commission (global settings only) ("Commission.CashWithdrawalEnabled", CommissionCashWithdrawalEnabled, "امکان برداشت نقدی فعال باشد"), ("Commission.MinWithdrawalAmount", CommissionMinWithdrawalAmount, "حداقل مبلغ برداشت (ریال)"), - ("Commission.MaxWeeklyBalancesPerLeg", CommissionMaxWeeklyBalancesPerLeg, "سقف تعادل هفتگی برای هر دست"), - ("Commission.MaxNetworkLevel", CommissionMaxNetworkLevel, "حداکثر عمق شبکه برای محاسبه کمیسیون"), ("Commission.CalculationStrategy", CommissionCalculationStrategy, "روش محاسبه (ORM/SP)"), // System ("System.MaintenanceMode", SystemMaintenanceMode, "حالت تعمیر و نگهداری سیستم"), ("System.EnableAuditLog", SystemEnableAuditLog, "فعال‌سازی لاگ تغییرات"), - // Magic Wallet - ("MagicWallet.Multiplier", MagicWalletMultiplier, "ضریب شارژ کیف‌پول جادویی (×2.5)"), - ("MagicWallet.MaxDeposit", MagicWalletMaxDeposit, "سقف واریز هر دور جادویی (ریال)"), - ("MagicWallet.MaxCredit", MagicWalletMaxCredit, "سقف اعتبار هر دور جادویی (ریال)"), - // Shop ("Shop.VAT", ShopVAT, "مالیات بر ارزش افزوده"), ("Shop.VATEnabled", ShopVATEnabled, "مالیات فعال است؟") diff --git a/src/CMSMicroservice.Protobuf/Protos/package.proto b/src/CMSMicroservice.Protobuf/Protos/package.proto index 588ab77..3e6e731 100644 --- a/src/CMSMicroservice.Protobuf/Protos/package.proto +++ b/src/CMSMicroservice.Protobuf/Protos/package.proto @@ -44,14 +44,16 @@ service PackageContract }; }; - // Package Purchase System + // Package Purchase System (Legacy — use Customer* RPCs instead) rpc PurchaseGoldenPackage(PurchaseGoldenPackageRequest) returns (PurchaseGoldenPackageResponse){ + option deprecated = true; option (google.api.http) = { post: "/PurchaseGoldenPackage" body: "*" }; }; rpc VerifyGoldenPackagePurchase(VerifyGoldenPackagePurchaseRequest) returns (VerifyGoldenPackagePurchaseResponse){ + option deprecated = true; option (google.api.http) = { post: "/VerifyGoldenPackagePurchase" body: "*" @@ -63,14 +65,16 @@ service PackageContract }; }; - // Base Package Payment (56M) + // Base Package Payment (Legacy — migrate to Customer* RPCs, then remove) rpc InitiateBasePackagePayment(InitiateBasePackagePaymentRequest) returns (InitiateBasePackagePaymentResponse){ + option deprecated = true; option (google.api.http) = { post: "/InitiateBasePackagePayment" body: "*" }; }; rpc VerifyBasePackagePayment(VerifyBasePackagePaymentRequest) returns (VerifyBasePackagePaymentResponse){ + option deprecated = true; option (google.api.http) = { post: "/VerifyBasePackagePayment" body: "*" diff --git a/src/CMSMicroservice.WebApi/Services/ConfigurationService.cs b/src/CMSMicroservice.WebApi/Services/ConfigurationService.cs index f6f0856..05eb8dd 100644 --- a/src/CMSMicroservice.WebApi/Services/ConfigurationService.cs +++ b/src/CMSMicroservice.WebApi/Services/ConfigurationService.cs @@ -143,6 +143,11 @@ public class ConfigurationService : ConfigurationContract.ConfigurationContractB response.Models.Add(CreateConfigModel("Package.BasePackageAmount", package.Price.ToString(), "مبلغ پکیج پایه", 0)); response.Models.Add(CreateConfigModel("Package.DayaLoanAmount", package.Price.ToString(), "مبلغ وام دایا", 0)); + // Magic Wallet Settings (از Package) + response.Models.Add(CreateConfigModel("MagicWallet.Multiplier", package.MagicWalletMultiplier.ToString(), "ضریب شارژ کیف‌پول جادویی", 0)); + response.Models.Add(CreateConfigModel("MagicWallet.MaxDeposit", package.MagicWalletMaxDeposit.ToString(), "سقف واریز هر دور جادویی", 0)); + response.Models.Add(CreateConfigModel("MagicWallet.MaxCredit", package.MagicWalletMaxCredit.ToString(), "سقف اعتبار هر دور جادویی", 0)); + // System Settings response.Models.Add(CreateConfigModel("System.MaintenanceMode", SystemConstants.SystemMaintenanceMode.ToString(), "حالت تعمیر و نگهداری", 0)); response.Models.Add(CreateConfigModel("System.EnableAuditLog", SystemConstants.SystemEnableAuditLog.ToString(), "فعال‌سازی لاگ تغییرات", 0)); @@ -197,6 +202,9 @@ public class ConfigurationService : ConfigurationContract.ConfigurationContractB "Network.MaxChildrenPerLeg" => SystemConstants.NetworkMaxChildrenPerLeg.ToString(), "Package.BasePackageAmount" => (package?.Price ?? 0).ToString(), "Package.DayaLoanAmount" => (package?.Price ?? 0).ToString(), + "MagicWallet.Multiplier" => (package?.MagicWalletMultiplier ?? 0).ToString(), + "MagicWallet.MaxDeposit" => (package?.MagicWalletMaxDeposit ?? 0).ToString(), + "MagicWallet.MaxCredit" => (package?.MagicWalletMaxCredit ?? 0).ToString(), "System.MaintenanceMode" => SystemConstants.SystemMaintenanceMode.ToString(), "System.EnableAuditLog" => SystemConstants.SystemEnableAuditLog.ToString(), "Shop.VAT" => SystemConstants.ShopVAT.ToString(), @@ -226,6 +234,9 @@ public class ConfigurationService : ConfigurationContract.ConfigurationContractB "Network.MaxChildrenPerLeg" => "حداکثر تعداد فرزند مستقیم در هر پا", "Package.BasePackageAmount" => "مبلغ پکیج پایه (ریال)", "Package.DayaLoanAmount" => "مبلغ وام دایا (ریال)", + "MagicWallet.Multiplier" => "ضریب شارژ کیف‌پول جادویی", + "MagicWallet.MaxDeposit" => "سقف واریز هر دور جادویی (ریال)", + "MagicWallet.MaxCredit" => "سقف اعتبار هر دور جادویی (ریال)", "System.MaintenanceMode" => "حالت تعمیر و نگهداری سیستم", "System.EnableAuditLog" => "فعال‌سازی لاگ تغییرات", "Shop.VAT" => "مالیات بر ارزش افزوده",