package com.ruoyi.cms.service.rc;

import com.ruoyi.cms.domain.rc.*;

import java.util.List;

/**
 * 公共招聘会Service接口
 */
public interface IPublicJobFairService {

    /**
     * 分页查询招聘会列表（APP端）
     */
    PublicJobFairResponse getJobFairPage(PublicJobFairQuery query);

    /**
     * 获取招聘会详情（APP端）
     */
    PublicJobFairDetail getJobFairDetail(String jobFairId);

    /**
     * 获取招聘会企业及岗位列表
     */
    List<PublicJobFairCompanyVO> getEnterprisesWithJobs(String jobFairId);

    // ========== CMS后台管理接口 ==========

    /**
     * 查询招聘会列表（CMS）
     */
    List<PublicJobFair> selectList(PublicJobFairQuery query);

    /**
     * 根据ID查询招聘会
     */
    PublicJobFair selectById(String jobFairId);

    /**
     * 新增招聘会
     */
    int insert(PublicJobFair publicJobFair);

    /**
     * 修改招聘会
     */
    int update(PublicJobFair publicJobFair);

    /**
     * 批量删除招聘会
     */
    int deleteByIds(String[] jobFairIds);

    /**
     * 添加企业到招聘会
     */
    int addCompany(PublicJobFairCompany company);

    /**
     * 批量添加企业到招聘会
     */
    int addCompanyBatch(List<PublicJobFairCompany> companies);

    /**
     * 移除招聘会企业
     */
    int removeCompany(String id);

    /**
     * 添加岗位到招聘会
     */
    int addJob(PublicJobFairJob job);

    /**
     * 批量添加岗位到招聘会
     */
    int addJobBatch(List<PublicJobFairJob> jobs);

    /**
     * 移除招聘会岗位
     */
    int removeJob(String id);

    /**
     * 查询招聘会报名列表
     */
    List<JobFairSignUpVO> selectSignUpList(String jobFairId);
}
