package com.willalp.flow.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.willalp.flow.domain.HsFlowTask;
import org.springframework.scheduling.annotation.Async;

import java.util.List;

/**
 * 流程任务Service接口
 *
 * @author willalp
 * @date 2022-10-09
 */
public interface IHsFlowTaskService extends IService<HsFlowTask>
{
    /**
     * 查询流程任务列表
     *
     * @param hsFlowTask 流程任务
     * @return 流程任务集合
     */
    public List<HsFlowTask> selectHsFlowTaskList(HsFlowTask hsFlowTask);

    /**
     * 已读任务
     *
     * @param taskId
     */
    void readTask(String taskId);


    /**
     * 删除已提交但没有选择审批人员的任务
     *
     * @param task
     */
    @Async("threadPoolTaskExecutor")
    void removeWaitTimeOutTask(HsFlowTask task);
}
