Files
CMS/src/CMSMicroservice.Application/Common/Interfaces/IAlertService.cs
T
masoodafar-web 61b7e4f8f2
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m29s
F2-F7: نوتیفیکیشن‌ها+نام‌پکیج، ستون پکیج در CSV، مقادیر داینامیک کیف‌پول جادویی، ولیدیتور SystemConstants
F2: اضافه شدن packageName به SmsTemplates، IUserNotificationService، UserNotificationService
    - DayaLoan، ClubActivated، CommissionDeposited حالا نام پکیج را نشان می‌دهند
F4: اضافه شدن ستون پکیج به CSV خروجی‌ها
    - commission.proto: package_name در WithdrawalRequestModel
    - manualpayment.proto: package_name در ManualPaymentModel
    - کوئری‌هندلرها UserPackagePurchases لوکاپ اضافه شد
F6: مقادیر داینامیک کیف‌پول جادویی از پکیج
    - userwallet.proto: magic_multiplier + magic_max_credit
    - UserWalletService: پاپیولیت فیلدهای جدید + فالبک به SystemConstants
F7: ولیدیتورها از SystemConstants استفاده می‌کنند
    - WalletMaxSafeAmount (10B ریال) به عنوان حصار ایمنی
    - MagicWalletMinCharge، DiscountWalletMinCharge ثابت‌های مرکزی
    - سقف واقعی per-package در هندلرها اعمال می‌شود
Proto: v0.0.189
2026-02-27 08:47:46 +03:30

58 lines
2.0 KiB
C#

namespace CMSMicroservice.Application.Common.Interfaces;
/// <summary>
/// سرویس ارسال Alert و Notification
/// برای ارسال اعلان‌های مختلف از طریق کانال‌های مختلف (Email, SMS, Slack, etc.)
/// </summary>
public interface IAlertService
{
/// <summary>
/// ارسال Alert برای خطاهای Critical
/// </summary>
Task SendCriticalAlertAsync(string title, string message, Exception? exception = null, CancellationToken cancellationToken = default);
/// <summary>
/// ارسال Alert برای Warning
/// </summary>
Task SendWarningAlertAsync(string title, string message, CancellationToken cancellationToken = default);
/// <summary>
/// ارسال اعلان موفقیت
/// </summary>
Task SendSuccessNotificationAsync(string title, string message, CancellationToken cancellationToken = default);
}
/// <summary>
/// سرویس ارسال Notification به کاربران
/// برای ارسال پیامک، ایمیل و پوش به کاربران سیستم
/// </summary>
public interface IUserNotificationService
{
/// <summary>
/// ارسال اعلان دریافت کمیسیون به کاربر
/// </summary>
Task SendCommissionReceivedNotificationAsync(
long userId,
decimal amount,
int weekNumber,
string? packageName = null,
CancellationToken cancellationToken = default);
/// <summary>
/// ارسال اعلان فعال‌سازی عضویت باشگاه
/// </summary>
Task SendClubActivationNotificationAsync(
long userId,
string? packageName = null,
CancellationToken cancellationToken = default);
/// <summary>
/// ارسال اعلان خطا در پرداخت
/// </summary>
Task SendPayoutErrorNotificationAsync(
long userId,
string errorMessage,
string? packageName = null,
CancellationToken cancellationToken = default);
}