package com.ruoyi.cms.service;

import java.util.List;

import com.ruoyi.cms.domain.ESJobDocument;
import com.ruoyi.cms.domain.Job;
import com.ruoyi.cms.domain.query.ESJobSearch;
import com.ruoyi.cms.domain.vo.CandidateVO;
import com.ruoyi.common.core.domain.entity.AppUser;
import org.dromara.easyes.core.biz.EsPageInfo;

import javax.servlet.http.HttpServletRequest;

/**
 * 岗位Service接口
 * 
 * @author lishundong
 * @date 2024-09-03
 */
public interface IJobService 
{
    /**
     * 查询岗位
     * 
     * @param jobId 岗位主键
     * @return 岗位
     */
    public Job selectJobByJobId(Long jobId);

    /**
     * 查询岗位列表
     * 
     * @param job 岗位
     * @return 岗位集合
     */
    public List<Job> selectJobList(Job job);


    /**
     * 浏览量+1
     */
    int view(Long jobId);

    /**
     * 新增岗位
     *
     * @param job 岗位
     * @return 结果
     */
    public int insertJob(Job job);

    /**
     * 修改岗位
     *
     * @param job 岗位
     * @return 结果
     */
    public int updateJob(Job job);

    /**
     * 批量删除岗位
     *
     * @param jobIds 需要删除的岗位主键集合
     * @return 结果
     */
    public int deleteJobByJobIds(Long[] jobIds);


    EsPageInfo<ESJobDocument> appList(ESJobSearch job);

    void importData();

    List<ESJobDocument> recommend(ESJobSearch esJobSearch);

    EsPageInfo<ESJobDocument> countyJobList(ESJobSearch job);

    EsPageInfo<ESJobDocument> subway(ESJobSearch jobQuery);

    EsPageInfo<ESJobDocument> commercialArea(ESJobSearch jobQuery);

    Job selectJobByJobIdApp(Long jobId);

    Job selectHttpJobByJobIdApp(Long jobId,HttpServletRequest request);

    void importRow(String path);

    List<CandidateVO> candidates(Long jobId);

    void updateLon();

    List<ESJobDocument> littleVideo(ESJobSearch esJobSearch);

    List<ESJobDocument> littleVideoRandom(String uuid, Integer count,String jobTitle);

    void publishJob(Job job);

    List<AppUser> selectApplyJobUserList(Long jobId);

    List<ESJobDocument> sysRecommend(ESJobSearch esJobSearch);

    List<Job> selectAllJob();

    public Job selectHttpJobByJobId(Long jobId, HttpServletRequest request);

    public List<Job> selectHttpJobList(Job job,HttpServletRequest request);

    /**
     * 获取微信抓取的重复数据条数
     * @param job
     * @return
     */
    public Integer getTotals(Job job);
}
