package com.fdkankan.ucenter.service;

import com.fdkankan.ucenter.entity.Camera;
import com.fdkankan.ucenter.entity.MailTemplate;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fdkankan.ucenter.entity.ScenePlus;
import com.fdkankan.ucenter.entity.ScenePro;
import com.fdkankan.ucenter.mq.vo.LaserSendMail;

import java.util.HashMap;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 
 * @since 2023-01-10
 */
public interface IMailTemplateService extends IService<MailTemplate> {

    Boolean sendMail(String email, MailTemplate emailTemplate, String file);

    MailTemplate getTemplate(Integer type,String lang);

    /**
     * 发送邮箱验证码
     */
    Boolean sendCodeMail(String email,String code,String lang);

    /**
     * 发送会员权益过期邮件
     */
    Boolean sendPeExMail(String email,String msgType);
    /**
     * 发送会员权益即将过期邮件
     */
    Boolean sendPeNoExMail(String email,Integer day,String msgType);
    /**
     * 发送会员权益今天过期
     */
    Boolean sendPeTodayExMail(String email,String msgType);

    /**
     * 发送协作邮件
     */
    Boolean sendSceneCooperation(List<ScenePro> proList, List<ScenePlus> plusList, String username,String lang);
    Boolean sendSceneCooperation(List<LaserSendMail> vo);

    Boolean sendCameraCooperation(HashMap<Long, Camera> cameraMap, String username, String lang);

    void sendPayErrorMail(String email,String memberLevels);

    void sendSubcriptionCancelledMail(String email,String memberLevels);

    Boolean sendContactUs(String email,String callBackUrl);

    void sendContactUs2(String email,Integer type);
}
