package cn.iocoder.yudao.module.project.service;


import cn.iocoder.yudao.module.project.entity.RepairProject;
import cn.iocoder.yudao.module.project.vo.RepairProjectAppvo;
import cn.iocoder.yudao.module.project.vo.RepairProjectPageReqVO;
import cn.iocoder.yudao.module.project.vo.RepairProjectRespVO;
import cn.iocoder.yudao.module.project.vo.RepairProjectSaveReqVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 维修项目 Service 接口
 *
 * @author pqz
 */
public interface RepairProjectService extends IService<RepairProject> {

    /**
     * 保存维修项目
     *
     * @param saveReqVO RepairProjectSaveReqVO实体
     * @author PQZ
     * @date 14:51 2024/9/12
     **/
    RepairProject saveRepairProject(RepairProjectSaveReqVO saveReqVO);

    /**
     * 删除维修项目
     *
     * @param id 维修项目id
     * @author PQZ
     * @date 15:08 2024/9/12
     **/
    void deleteRepairProject(String id);

    /**
     * 根据id获取维修项目
     *
     * @param id 维修项目id
     * @return cn.iocoder.yudao.module.project.entity.RepairProject
     * @author PQZ
     * @date 15:08 2024/9/12
     **/
    RepairProject getRepairProject(String id);

    /**
     * 分页查询维修项目
     *
     * @param pageReqVO RepairProjectPageReqVO实体
     * @param page      分页参数
     * @return com.baomidou.mybatisplus.core.metadata.IPage<cn.iocoder.yudao.module.project.vo.RepairProjectRespVO>
     * @author PQZ
     * @date 15:08 2024/9/12
     **/
    IPage<RepairProjectRespVO> queryListPage(RepairProjectPageReqVO pageReqVO, Page<RepairProjectRespVO> page);


    /**
     * 查询服务分类和维修项目列表
     * @return
     */
    List<RepairProjectAppvo> getRepairProjectAndCateGory();
}