package com.ruoyi.system.service;
|
|
import com.ruoyi.system.domain.NotifyTask;
|
import com.ruoyi.system.domain.NotifyChannelConfig;
|
import java.util.List;
|
|
/**
|
* 通知分发服务接口
|
* 负责根据配置决定发送渠道并执行分发
|
*
|
* @author ruoyi
|
* @date 2025-12-07
|
*/
|
public interface INotifyDispatchService {
|
|
/**
|
* 获取指定通知类型启用的渠道列表
|
*
|
* @param notifyType 通知类型
|
* @return 启用的渠道配置列表(按优先级排序)
|
*/
|
List<NotifyChannelConfig> getEnabledChannels(String notifyType);
|
|
/**
|
* 检查指定渠道是否启用
|
*
|
* @param notifyType 通知类型
|
* @param channel 渠道
|
* @return true=启用, false=未启用
|
*/
|
boolean isChannelEnabled(String notifyType, String channel);
|
|
/**
|
* 分发通知任务
|
* 根据渠道配置,向各启用的渠道发送通知
|
*
|
* @param notifyTask 通知任务
|
* @return 成功发送的渠道数量
|
*/
|
int dispatchNotify(NotifyTask notifyTask);
|
|
/**
|
* 批量分发通知任务
|
*
|
* @param notifyTasks 通知任务列表
|
* @return 成功分发的任务数量
|
*/
|
int dispatchNotifies(List<NotifyTask> notifyTasks);
|
|
/**
|
* 处理待发送的通知任务(可用于定时任务调用)
|
*
|
* @param limit 每次处理的数量限制
|
* @return 处理的任务数量
|
*/
|
int processPendingNotifies(int limit);
|
|
/**
|
* 发送站内消息
|
*
|
* @param notifyTask 通知任务
|
* @return 是否发送成功
|
*/
|
boolean sendSiteMessage(NotifyTask notifyTask);
|
|
/**
|
* 发送微信订阅消息
|
*
|
* @param notifyTask 通知任务
|
* @return 是否发送成功
|
*/
|
boolean sendWechatMessage(NotifyTask notifyTask);
|
|
/**
|
* 发送短信消息
|
*
|
* @param notifyTask 通知任务
|
* @return 是否发送成功
|
*/
|
boolean sendSmsMessage(NotifyTask notifyTask);
|
|
/**
|
* 发送企业微信消息
|
*
|
* @param notifyTask 通知任务
|
* @return 是否发送成功
|
*/
|
boolean sendQyWechatMessage(NotifyTask notifyTask);
|
}
|