package com.ruoyi.service;

import com.ruoyi.domain.CarReviewTask;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.web.request.*;
import com.ruoyi.web.response.CarReviewTaskViewResponse;
import com.ruoyi.web.response.SystemReviewTaskViewResponse;

import java.util.List;

/**
* @author wangfei
* @description 针对表【t_car_review_task(车型审查任务)】的数据库操作Service
* @createDate 2024-01-08 13:14:13
*/
public interface CarReviewTaskService extends IService<CarReviewTask> {

    /**
     * 根据问卷状态查询进行中的任务
     * @param reviewStatus
     * @return
     */
    List<CarReviewTask> findListByReviewStatus(String reviewStatus);


    /**
     * 创建一个车辆审查任务
     */
    void createTask(CarReviewTaskCreateRequest request);

    /**
     * 查看车辆审查任务
     * @param taskId
     * @return
     */
    CarReviewTaskViewResponse viewReviewTask(Long taskId);


    /**
     * 开始一个车辆审查任务中的问卷任务
     */
    void startReviewTask(CarReviewTaskStartRequest request);

    /**
     * 开始一个车辆审查任务中的问卷任务
     */
    void startReviewTask(Long id);

    /**
     * 确认一个车辆审查任务中的问卷任务
     * @param request
     */
    void confirmReviewTask(CarReviewTaskConfirmRequest request);

    /**
     * 提交一个车辆审查任务中的问卷任务
     * @param request
     */
    void submitReviewTask(CarReviewTaskSubmitRequest request);

    /**
     * 根据状态查找车辆审查任务
     * @return
     */
    List<CarReviewTask> findListByStatus(String status);



}