package com.crm.email.service;

import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
import com.crm.rely.backend.core.dto.system.email.unsubscribe.SysEmailUnsubscribeSearchDto;
import com.crm.rely.backend.core.entity.base.SingleLongEntity;
import com.crm.rely.backend.core.entity.system.email.unsubscribe.SysEmailUnsubscribeAddEntity;
import com.crm.rely.backend.core.entity.system.email.unsubscribe.SysEmailUnsubscribeDeleteEntity;
import com.crm.rely.backend.core.entity.system.email.unsubscribe.SysEmailUnsubscribeRequestEntity;
import com.crm.rely.backend.core.entity.system.email.unsubscribe.SysEmailUnsubscribeSearchListEntity;
import com.crm.rely.backend.core.exception.ServiceException;

public interface SysEmailUnsubscribeService {

    void add(SysEmailUnsubscribeAddEntity entity) throws ServiceException;

    void add(SysEmailUnsubscribeRequestEntity entity) throws Exception;

    void delete(SysEmailUnsubscribeDeleteEntity entity) throws ServiceException;

    ResultWithPagerDto<SysEmailUnsubscribeSearchDto> searchPageList(SysEmailUnsubscribeSearchListEntity entity) throws ServiceException;

    SysEmailUnsubscribeSearchDto searchSingle(SingleLongEntity entity) throws ServiceException;

    boolean exist(String fromAccount, String toAccount) throws ServiceException;

    ;

    String getUnsubscribeUrl(String fromAccount, String toAccount) throws Exception;
}
