package com.jwipc.sys.client;

import cn.hutool.core.lang.Pair;
import com.jwipc.sys.client.dto.EmailSendDTO;
import com.jwipc.sys.client.dto.EmailTmpSingleSendDTO;
import com.jwipc.sys.client.dto.EmailTxtSendDTO;
import com.jwipc.sys.client.dto.EmailTxtSingleSendDTO;

import java.util.Map;

/**
 * <p> </p>
 *
 * @author ZhangJie
 * @version 1.0
 * @since JDK 1.8
 */

public interface EmailSendClient {
    /**
     * 异步发送发送邮件
     *
     * @param emailSendDTO
     */
    public void async(EmailSendDTO emailSendDTO);

    /**
     * 同步单个模板发送
     *
     * @param emailTmpSendDTO
     * @return
     */
    public Pair<Boolean, String> syncSingleTemplateSend(EmailTmpSingleSendDTO emailTmpSendDTO) ;

    /**
     * 同步单个模板发送
     *
     * @param emailTmpSendDTO
     * @return
     */
    public Pair<Boolean, String> syncSingleTxtSend(EmailTxtSingleSendDTO emailTmpSendDTO) ;

    /**
     * 同步多个接收人-发送
     *
     * @param emailTxtSendDTO
     * @return
     */
    public Pair<Boolean, Map<String, String>> syncMultipleTxtSend(EmailTxtSendDTO emailTxtSendDTO);

}
