package com.crm.manager.service;

import com.crm.rely.backend.core.dto.base.BaseResultWithPagerDto;
import com.crm.rely.backend.core.dto.sales.SalesCommissionRuleDropdownDto;
import com.crm.rely.backend.core.dto.sales.SalesCommissionRuleDto;
import com.crm.rely.backend.core.entity.sales.SalesCommissionRuleAddEntity;
import com.crm.rely.backend.core.entity.sales.SalesCommissionRuleSearchEntity;
import com.crm.rely.backend.core.entity.sales.SalesCommissionRuleUpdateEntity;
import com.crm.rely.backend.core.pojo.table.SalesCommissionRuleTable;
import com.crm.rely.backend.exception.ServiceException;

import java.util.List;
import java.util.Map;

public interface SalesCommissionRuleService {

    Map<Long, SalesCommissionRuleDto> mapAllData() throws ServiceException;

    void save(SalesCommissionRuleAddEntity entity) throws ServiceException;

    void updateById(SalesCommissionRuleUpdateEntity entity) throws ServiceException;

    void deleteById(Long id) throws ServiceException;

    SalesCommissionRuleDto getById(Long id) throws ServiceException;

    BaseResultWithPagerDto<List<SalesCommissionRuleDto>> searchList(SalesCommissionRuleSearchEntity searchEntity) throws ServiceException;

    List<SalesCommissionRuleDropdownDto> searchDropdownList() throws ServiceException;

}
