package com.iailab.module.system.service.mail; import com.iailab.framework.common.pojo.PageResult; import com.iailab.module.system.controller.admin.mail.vo.log.MailLogPageReqVO; import com.iailab.module.system.dal.dataobject.mail.MailAccountDO; import com.iailab.module.system.dal.dataobject.mail.MailLogDO; import com.iailab.module.system.dal.dataobject.mail.MailTemplateDO; import java.util.Map; /** * 邮件日志 Service æŽ¥å£ * * @author wangjingyi * @since 2022-03-21 */ public interface MailLogService { /** * 邮件日志分页 * * @param pageVO åˆ†é¡µå‚æ•° * @return 分页结果 */ PageResult<MailLogDO> getMailLogPage(MailLogPageReqVO pageVO); /** * 获得指定编å·çš„邮件日志 * * @param id æ—¥å¿—ç¼–å· * @return 邮件日志 */ MailLogDO getMailLog(Long id); /** * 创建邮件日志 * * @param userId 用户编ç * @param userType 用户类型 * @param toMail 收件人邮件 * @param account 邮件账å·ä¿¡æ¯ * @param template æ¨¡ç‰ˆä¿¡æ¯ * @param templateContent 模版内容 * @param templateParams æ¨¡ç‰ˆå‚æ•° * @param isSend 是å¦å‘逿ˆåŠŸ * @return æ—¥å¿—ç¼–å· */ Long createMailLog(Long userId, Integer userType, String toMail, MailAccountDO account, MailTemplateDO template , String templateContent, Map<String, Object> templateParams, Boolean isSend); /** * 更新邮件å‘é€ç»“æžœ * * @param logId æ—¥å¿—ç¼–å· * @param messageId å‘é€åŽçš„æ¶ˆæ¯ç¼–å· * @param exception å‘é€å¼‚常 */ void updateMailSendResult(Long logId, String messageId, Exception exception); }