package org.dromara.main.service;

import jakarta.servlet.http.HttpServletResponse;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.main.domain.bo.MainPostCandidateHireBo;
import org.dromara.main.domain.bo.MainPostCandidateQueryBo;
import org.dromara.main.domain.bo.MainPostCandidateStatusBo;
import org.dromara.main.domain.vo.MainPostCandidateVo;

import java.io.IOException;
import java.util.List;

public interface IMainPostCandidateService {

    TableDataInfo<MainPostCandidateVo> queryPageList(MainPostCandidateQueryBo bo, PageQuery pageQuery);

    List<MainPostCandidateVo> queryList(MainPostCandidateQueryBo bo);

    Boolean hireCandidate(MainPostCandidateHireBo bo);

    Boolean updateStatus(MainPostCandidateStatusBo bo);

    /**
     * 下载候选人简历附件
     *
     * @param candidateId 候选人记录ID
     * @param response    HTTP响应
     */
    void downloadResume(Long candidateId, HttpServletResponse response) throws IOException;
}
