package com.ruoyi.web.work.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.web.work.domain.ResumeDeliver;
import com.ruoyi.web.work.domain.dto.ResumeDeliverDto;
import com.ruoyi.web.work.domain.dto.ResumeInviteDto;
import com.ruoyi.web.work.domain.vo.ReceiveListVo;
import com.ruoyi.web.work.domain.vo.ReceiveVo;

import java.text.ParseException;
import java.util.List;

/**
 * @author lsw
 * @date 2024-06-13
 */
public interface IResumeDeliverService extends IService<ResumeDeliver> {
    List<ResumeDeliver> selectList(ResumeDeliver resumeDeliver);

    /**
     * 投递简历
     *
     * @param id
     * @return
     */
    AjaxResult send(Long id);

    /**
     * 同意或拒绝面试邀请
     *
     * @param dto
     * @return
     */
    AjaxResult agree(ResumeDeliverDto dto);


    /**
     * 企业邀请面试
     *
     * @param dto
     * @return
     */
    AjaxResult invite(ResumeInviteDto dto) throws ParseException;

    /**
     * 面试完成
     * @param id
     * @return
     */
    AjaxResult complete(Long id);


    /**
     * 企业查看简历
     *
     * @param id
     * @return
     */
    AjaxResult detail(Long id);

    /**
     * 删除投递
     *
     * @param id
     * @return
     */
    AjaxResult remove(Long id);

    /**
     * 职位收到简历统计概要
     *
     * @param userId
     * @return
     */
    List<ReceiveVo> receive(Long userId);

    /**
     * 职位收到的简历列表
     *
     * @param resumeDeliver
     * @return
     */
    List<ReceiveListVo> receiveList(ResumeDeliver resumeDeliver);

    /**
     * 发送模板消息
     *
     * @param resumeDeliver
     */
    public void sendMessage(ResumeDeliver resumeDeliver) throws ParseException;
}
