package com.ruoyi.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.Task;
import com.ruoyi.domain.TaskSampleRelation;
import com.ruoyi.domain.TaskUserRelation;
import com.ruoyi.web.request.TaskFindFinishRequest;
import com.ruoyi.web.request.TaskFindPendingRequest;
import com.ruoyi.web.request.TaskFindRequest;
import com.ruoyi.web.request.TaskListRequest;
import com.ruoyi.web.response.TaskFindResponse;
import com.ruoyi.web.response.TaskGetInfoResponse;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface TaskMapper extends BaseMapper<Task> {

    List<Task> findList(TaskListRequest request);

    List<TaskFindResponse> findPending(@Param("request")TaskFindPendingRequest request,@Param("userId")Long userId);

    List<Task> findFinish(TaskFindFinishRequest request);

    List<Task> findUserFinish (@Param("request") TaskFindFinishRequest request,@Param("userId")Long userId);

    List<TaskFindResponse> findByUserId(@Param("request") TaskFindRequest request,@Param("userId")Long userId);

    Long findByCarReviewTaskId(@Param("carReviewId") Long carReviewId);

    Long findBySystemReviewTaskId(@Param("systemReviewId") Long systemReviewId);

    Task getByUserIdTemporary(@Param("userId") Long userId);

    Task getBySubtaskId(@Param("subId") Long subId);
}