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