package com.simuwang.manage.service;

import com.simuwang.base.common.support.MybatisPage;
import com.simuwang.base.pojo.dos.MailboxInfoDO;
import com.simuwang.base.pojo.dto.query.EmailPageQuery;
import com.simuwang.base.pojo.vo.MailboxInfoTableVO;
import com.simuwang.base.pojo.vo.MailboxInfoVO;
import com.simuwang.base.pojo.vo.OpenStatusVO;
import com.simuwang.base.pojo.vo.ParseParamVO;
import com.smppw.common.pojo.ResultVo;

import java.util.List;

/**
 * FileName: EmailConfigService
 * Author:   chenjianhua
 * Date:     2024/9/9 13:40
 * Description: ${DESCRIPTION}
 */
public interface EmailConfigService {
    MybatisPage<MailboxInfoTableVO> searchEmailConfigList(EmailPageQuery emailPageQuery);

    void saveEmailConfig(MailboxInfoVO mailboxInfoVO);

    ResultVo connectTest(MailboxInfoVO mailboxInfoVO);

    void deleteEmailConfig(Integer id);

    boolean checkEmailUnique(String email);

    MailboxInfoVO searchEmailConfigById(Integer id);

    void controlEmailConfig(OpenStatusVO openStatusVO);

    List<MailboxInfoDO> getAll();

    MailboxInfoDO selectEmailConfigByEmail(String email);

    void runOnce(Integer id);

    void parseEmail(ParseParamVO parseParamVO);
}
