package com.ruoyi.cms.service;

import java.util.List;
import com.ruoyi.common.core.domain.entity.Company;
import com.ruoyi.cms.domain.CompanyCard;
import com.ruoyi.cms.domain.query.LabelQuery;

/**
 * 公司Service接口
 * 
 * @author lishundong
 * @date 2024-09-04
 */
public interface ICompanyService 
{
    /**
     * 查询公司
     * 
     * @param companyId 公司主键
     * @return 公司
     */
    public Company selectCompanyByCompanyId(Long companyId);

    /**
     * 查询公司列表
     * 
     * @param company 公司
     * @return 公司集合
     */
    public List<Company> selectCompanyList(Company company);

    /**
     * 新增公司
     * 
     * @param company 公司
     * @return 结果
     */
    public int insertCompany(Company company);

    /**
     * 修改公司
     * 
     * @param company 公司
     * @return 结果
     */
    public int updateCompany(Company company);

    /**
     * 批量删除公司
     * 
     * @param companyIds 需要删除的公司主键集合
     * @return 结果
     */
    public int deleteCompanyByCompanyIds(Long[] companyIds);

    /**
     * 公司招聘的岗位数量
     * @param companyId
     * @return
     */
    Integer count(Long companyId);

    void updateJobCountOfCompany();

    List<Company> label(CompanyCard companyCard,LabelQuery labelQuery);

    void importLabel();

    void importLabelBank();

    void register(Company company);

    Company registerStatus();

    List<Company> approvalList(Company company);

    Company approval(Company company);

    Company queryCodeCompany(String code);

    List<Company> selectLikeCompanyList(Company company);
}
