package com.crm.manager.service;

import com.crm.rely.backend.core.dto.base.BaseResultWithPagerDto;
import com.crm.rely.backend.core.dto.sales.SalesPerformanceConfigDto;
import com.crm.rely.backend.core.dto.sales.SalesPerformanceSalesDto;
import com.crm.rely.backend.core.entity.custom.info.InfoEntity;
import com.crm.rely.backend.core.entity.sales.SalesPerformanceConfigAddEntity;
import com.crm.rely.backend.core.entity.sales.SalesPerformanceConfigSearchEntity;
import com.crm.rely.backend.core.entity.sales.SalesPerformanceConfigUpdateEntity;
import com.crm.rely.backend.exception.ServiceException;

import java.util.List;

public interface SalesPerformanceConfigService {

    void saveByEntity(SalesPerformanceConfigAddEntity entity, InfoEntity infoEntity) throws ServiceException;

    void modifyByEntity(SalesPerformanceConfigUpdateEntity entity, InfoEntity infoEntity) throws ServiceException;

    void removeById(Long id, InfoEntity infoEntity) throws ServiceException;

    SalesPerformanceConfigDto searchById(Long id, InfoEntity infoEntity) throws ServiceException;

    BaseResultWithPagerDto<List<SalesPerformanceConfigDto>> searchList(SalesPerformanceConfigSearchEntity entity) throws ServiceException;

    List<SalesPerformanceSalesDto> getSalesDropdown(InfoEntity infoEntity) throws ServiceException;

}
