package com.crm.manager.service;

import com.crm.rely.backend.core.dto.base.BaseResultDto;
import com.crm.rely.backend.core.dto.base.BaseResultWithPagerDto;
import com.crm.rely.backend.core.dto.custom.group.CustomGroupDto;
import com.crm.rely.backend.core.dto.custom.group.CustomGroupStaticDto;
import com.crm.rely.backend.core.entity.custom.group.CustomGroupAddEntity;
import com.crm.rely.backend.core.entity.custom.group.CustomGroupListEntity;
import com.crm.rely.backend.core.entity.custom.group.CustomGroupPlatformListEntity;
import com.crm.rely.backend.core.entity.custom.group.CustomGroupUpdateEntity;

import java.util.List;

/**
 * Created by max on 2020/7/8.
 */
public interface CustomGroupService {

    void add(CustomGroupAddEntity entity) throws Exception;

    void updateById(CustomGroupUpdateEntity entity) throws Exception;

    void deleteById(Long id) throws Exception;

    CustomGroupDto getById(Long id) throws Exception;

    BaseResultWithPagerDto<List<CustomGroupDto>> getList(CustomGroupListEntity entity) throws Exception;

    BaseResultDto<List<String>> getList(CustomGroupPlatformListEntity customGroupPlatformListEntity) throws Exception;

    CustomGroupStaticDto getStaticData() throws Exception;

    List<String> searchGroupList(String platform) throws Exception;


    List<String> searchGroupList(String platform,List<Long> types) throws Exception;
}
