package com.viettel.campaign.service;

import com.viettel.campaign.web.dto.CampaignCustomerDTO;
import com.viettel.campaign.web.dto.ContactCustResultDTO;
import com.viettel.campaign.web.dto.ReceiveCustLogDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface CampaignExecuteService {
    //<editor-fold: hungtt>
    ResultDTO getComboBoxStatus(String companySiteId, String completeType);

    ResultDTO getComboCampaignType(String companySiteId);

    ResultDTO searchInteractiveResult(CampaignRequestDTO dto);

    XSSFWorkbook exportInteractiveResult(CampaignRequestDTO dto);

    List<ContactCustResultDTO> getContactCustById(CampaignRequestDTO dto);
    //</editor-fold>

    ResultDTO searchCampaignExecute(CampaignRequestDTO requestDto, String xAuthToken);

    ResultDTO getExecuteCampaign(CampaignRequestDTO requestDto);

    ResultDTO getCall(CampaignCustomerDTO dto);

    ResultDTO getCallLog(ReceiveCustLogDTO dto);

    ResultDTO getAgentLogout(CampaignRequestDTO dto);

    ResultDTO callCustomer(ContactCustResultDTO dto);

    ResultDTO countRecallCustomer(Long companySiteId, Long agentId);

    ResultDTO getCustomerRecall(Long campaignId, Long customerId);
}
