package com.njcn.msgpush.module.push.client.sender;

import com.njcn.msgpush.module.push.dal.dataobject.message.MessageRecordDO;

import java.util.List;

/**
 * 短信发送器。
 * 统一返回 SendResult，由主流程决定状态流转和是否重试。
 */
public interface SmsSender {

    /**
     * 发送单条短信。
     */
    SendResult sendSms(MessageRecordDO message);

    /**
     * 批量发送短信。
     */
    List<SendResult> sendBatchSms(List<MessageRecordDO> messageList);

    /**
     * 查询短信模板。
     */
    void queryTemplate(String templateIdentifier);
}
