package com.ruoyi.web.service;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.web.domain.dto.projects.ProjectsAddRequest;
import com.ruoyi.web.domain.dto.projects.ProjectsEditRequest;
import com.ruoyi.web.domain.dto.projects.ProjectsQueryRequest;
import com.ruoyi.web.domain.entity.Projects;
import com.ruoyi.web.domain.vo.ProjectsVO;

import java.util.Date;

/**
 * 项目接口
 */
public interface ProjectsService extends IService<Projects> {

    Integer addProjects(ProjectsAddRequest projectsAddRequest);

    boolean deleteProjects(String ids);

    void editProjects(ProjectsEditRequest projectsEditRequest);

    boolean completedProjects(int id, Date date);


    /**
     * 根据id获取项目
     *
     * @param id
     * @return
     */
    ProjectsVO getProjectsById(int id);

    ProjectsVO getProjectsVO(Projects projects);

    /**
     * 分页获取项目列表
     *
     * @param projectsQueryRequest
     * @return
     */
    Page<ProjectsVO> getListProjectsByPage(ProjectsQueryRequest projectsQueryRequest);


    /**
     * 获取查询条件
     *
     * @param projectsQueryRequest
     * @return
     */
    QueryWrapper<Projects> getQueryWrapper(ProjectsQueryRequest projectsQueryRequest);


}
