package cn.wisenergy.service;

import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ProjectDto;
import cn.wisenergy.model.vo.CreateProjectVo;
import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.model.vo.ModifyProjectVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author chenqi
 * @since 2021-01-19
 */
public interface WorkProjectService {

    /**
     * 功能：根据项目id获取项目
     * @param id 项目id
     * @return 项目
     */
    WorkProject getById(Integer id);


    /**
     *  根据项目ids获取项目
     * @param ids  项目id
     * @param isConclusion 是否结项
     * @return 项目集合
     */
    List<WorkProject>  getNameByIds(List<Integer> ids,Integer isConclusion);


    /**
     * 功能： 查询当前用户所管理的项目
     * @param id 用户id
     * @param isConclusion 是否结项
     * @return 项目内容
     */
    List<ProjectDto> getByManagerId(Integer id,Integer isConclusion);


    /**
     * 获取用户管理的项目
     * @param userId 用户id
     * @return 项目集合
     */
    List<WorkProject> getUserManageProjects(Integer userId);

    /**
     * 获取当前用户所管理的项目/商机
     * @param gmpv 自定义VO
     * @return 分页
     */
    PageInfo getManagerProjects(GetManagerProjectsVo gmpv);

    /**
     * 结束项目/商机
     * @param  userId 管理id
     * @param projectId 项目/商机id
     * @return 布尔值
     */
    Boolean endProject(Integer userId,Integer projectId);

    Boolean modifyProject(ModifyProjectVo modifyProjectVo);

    Boolean addProject(CreateProjectVo createProjectVo);
}
