package com.erp.notification.service;

import com.erp.notification.dto.NotificationRequest;

/**
 * 通知服务接口
 */
public interface NotificationService {

    /**
     * 发送通知
     *
     * @param request 通知请求
     * @return 是否发送成功
     */
    boolean send(NotificationRequest request);

    /**
     * 发送钉钉通知
     */
    boolean sendDingTalk(String title, String content);

    /**
     * 发送邮件通知
     */
    boolean sendEmail(String to, String subject, String content);

    /**
     * 发送短信通知
     */
    boolean sendSms(String phone, String content);

    /**
     * 发送系统通知（记录到数据库）
     */
    boolean sendSystemNotice(Long tenantId, String title, String content, String bizType, String bizId);

    /**
     * 批量发送通知
     */
    void sendBatch(java.util.List<NotificationRequest> requests);
}
