using Abp;
using Abp.Notifications;
using VberZero.BaseSystem.Users;
using VberZero.DomainService.Notifications.Data;
namespace VberZero.DomainService.Notifications;
public interface IAppNotifier
{
///
/// 发送欢迎消息
///
///
Task WelcomeToSystemAsync(User user);
///
/// 发送给指定用户消息(info)
///
///
///
///
Task SendMsgAsync(User user, string message);
///
/// 发送给指定用户消息
///
///
///
///
///
Task SendMsgAsync(User user, string message, NotificationSeverity severity);
///
/// 发送某种消息给订阅用户(Info)
///
/// 消息唯一名称
///
///
Task SendMsgAsync(string msgName, string message);
///
/// 发送某种消息给订阅用户
///
/// 消息唯一名称
///
///
///
Task SendMsgAsync(string msgName, string message, NotificationSeverity severity);
Task SendMessageAsync(UserIdentifier user, string message, NotificationSeverity severity = NotificationSeverity.Info);
///
/// 发送某种消息给指定用户(带发送人)
///
///
///
///
///
///
Task SendMessageAsync(User user, string msgName, SendMsgNotificationData data, NotificationSeverity severity);
///
/// 发送某种消息给订阅用户(带发送人)
///
///
///
///
///
Task SendMessageAsync(string msgName, SendMsgNotificationData data, NotificationSeverity severity);
Task SubscriptionNotifications(User user);
///
/// 发送日程消息指定用户
///
///
///
///
///
Task SendCalendarNotifyAsync(User user, CalendarNotificationData data,
NotificationSeverity severity = NotificationSeverity.Info);
///
/// 发送流程审批通知
///
///
///
///
///
Task SendWorkflowAuditNotifyAsync(User user, WorkflowAuditNotificationData data,
NotificationSeverity severity = NotificationSeverity.Info);
///
/// 发送流程审批通知
///
///
///
///
///
///
Task SendWorkflowAuditNotifyAsync(long userId, int? tenantId, WorkflowAuditNotificationData data,
NotificationSeverity severity = NotificationSeverity.Info);
}