package me.zhengjie.modules.company.service;

import java.util.List;
import java.util.Set;

import org.springframework.data.domain.Pageable;

import me.zhengjie.modules.company.domain.Company;
import me.zhengjie.modules.company.service.criteria.CompanyQueryCriteria;
import me.zhengjie.modules.company.service.dto.CompanyDto;
import me.zhengjie.utils.PageResult;

public interface CompanyService {
    /**
     * 新增企业
     * 
     * @param resources /
     */
    void create(Company resources);

    /**
     * 编辑企业
     * 
     * @param resources /
     * @throws Exception /
     */
    void update(Company resources) throws Exception;

    /**
     * 删除企业
     * 
     * @param ids /
     */
    void delete(Set<Long> ids);

    /**
     * 根据企业名称查询
     * 
     * @param companyName /
     * @return /
     */
    CompanyDto findByName(String companyName);

    /**
     * 查询全部
     * 
     * @param criteria 条件
     * @param pageable 分页参数
     * @return /
     */
    PageResult<CompanyDto> queryAll(CompanyQueryCriteria criteria, Pageable pageable);

    /**
     * 查询全部不分页
     * 
     * @param criteria 条件
     * @return /
     */
    List<CompanyDto> queryAll(CompanyQueryCriteria criteria);
}
