package cn.fateverse.workflow.mapper;

import org.apache.ibatis.annotations.MapKey;
import org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl;
import org.flowable.task.service.impl.persistence.entity.TaskEntityImpl;

import java.util.List;
import java.util.Map;

/**
 * @author Clay
 * @date 2022/12/24
 */
public interface ProcessMapper {


    /**
     * 根据list查询ProcessInstance信息
     *
     * @param list 流程节点id
     * @return 结果
     */
    @MapKey("id")
    Map<String, ExecutionEntityImpl> selectProcessInstanceMapByList(List<String> list);

    /**
     * 向用户任务表中插入一条历史记录,用于抄送
     *
     * @param task 任务
     * @return 操作结果
     */
    int insertUserTaskInHistorical(TaskEntityImpl task);

    /**
     * 批量新增
     *
     * @param taskList 任务列表
     * @return 新增结果
     */
    int batchInsertUserTaskInHistorical(List<TaskEntityImpl> taskList);
}
