package com.ruoyi.cms.service;

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

import java.util.List;

/**
 * 检索Service
 * 
 * @author ruoyi
 */
public interface IESJobSearchService
{

    /**
     * 新增全文检索数据
     */
     Integer addESJobDocument(ESJobDocument ESJobDocument);

    /**
     * 修改全文检索数据
     */
     Integer updateESJobDocument(ESJobDocument ESJobDocument);

    /**
     * 根据ID查询全文检索数据
     */
     ESJobDocument getESJobDocument(Long noticeId);

    /**
     * 根据ID删除全文检索数据
     */
     void deleteESJobDocument(String ids);

    /**
     * 重置全文检索数据
     */
     void resetTextCache();

    List<ESJobDocument> selectTextListExceptJobId(ESJobSearch esJobSearch, List<Long> jobIds);

    EsPageInfo<ESJobDocument> nearJob(ESJobSearch jobQuery);

    EsPageInfo<ESJobDocument> countyJobList(ESJobSearch job);

    EsPageInfo<ESJobDocument> subway(ESJobSearch jobQuery);

    EsPageInfo<ESJobDocument> commercialArea(ESJobSearch jobQuery);

    EsPageInfo<ESJobDocument> appList(ESJobSearch jobQuery);

    void checkEsAndFix();

    List<ESJobDocument> littleVideo(ESJobSearch esJobSearch);

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

    void updateEs();

    ESJobDocument selectById(Long jobId);

    void fix();

    void updateJob(Long jobId);

    void deleteJob(Long jobId);

    List<ESJobDocument> selectByIds(Long[] jobIds);

    List<ESJobDocument> selectSysTextListExceptJobId(ESJobSearch esJobSearch, List<Long> jobIds, AppUser appUser);
}
