package com.crm.custom.service;

import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
import com.crm.rely.backend.core.exception.ServiceException;
import com.crm.rely.backend.model.dto.custom.login.CustomLoginConditionDto;
import com.crm.rely.backend.model.dto.custom.login.CustomLoginFirmOfferDto;
import com.crm.rely.backend.model.dto.custom.login.CustomLoginFirmOfferRollDto;
import com.crm.rely.backend.model.entity.custom.info.CustomInfoUpdateAgentEntity;
import com.crm.rely.backend.model.entity.custom.login.CustomLoginCheckByLoginEntity;
import com.crm.rely.backend.model.entity.custom.login.firm.offer.CustomLoginFirmOfferApproveEntity;
import com.crm.rely.backend.model.entity.custom.login.firm.offer.CustomLoginFirmOfferSearchListEntity;
import com.crm.rely.backend.model.entity.custom.login.firm.offer.CustomLoginFirmOfferUpdateCheckByLoginEntity;
import com.crm.rely.backend.model.pojo.table.CustomLoginFirmOfferTable;

import java.util.List;

public interface CustomLoginFirmOfferService {

    boolean existFirmOfferStatus(Long customId) throws ServiceException;

    void update(Long login, Integer valid) throws ServiceException;

    void applyCheck(CustomLoginFirmOfferUpdateCheckByLoginEntity entity) throws ServiceException;

    CustomLoginFirmOfferTable approve(CustomLoginFirmOfferApproveEntity entity) throws ServiceException;

    ResultWithPagerDto<CustomLoginFirmOfferDto> searchPageList(CustomLoginFirmOfferSearchListEntity entity) throws ServiceException;

    CustomLoginConditionDto conditionFirmOffer(CustomLoginCheckByLoginEntity entity) throws Exception;

    void studyFirmOffer(CustomLoginCheckByLoginEntity entity) throws Exception;

    CustomLoginFirmOfferTable getByLogin(Long login) throws ServiceException;

    void updateAgentId(CustomInfoUpdateAgentEntity entity) throws ServiceException;

    List<CustomLoginFirmOfferRollDto> rollList() throws ServiceException;
}
