All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.didiglobal.logi.security.service.ProjectService Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
package com.didiglobal.logi.security.service;

import com.didiglobal.logi.security.common.PagingData;
import com.didiglobal.logi.security.common.dto.project.ProjectBriefQueryDTO;
import com.didiglobal.logi.security.common.dto.project.ProjectQueryDTO;
import com.didiglobal.logi.security.common.dto.project.ProjectSaveDTO;
import com.didiglobal.logi.security.common.vo.project.ProjectBriefVO;
import com.didiglobal.logi.security.common.vo.project.ProjectDeleteCheckVO;
import com.didiglobal.logi.security.common.vo.project.ProjectVO;
import com.didiglobal.logi.security.exception.LogiSecurityException;

import javax.servlet.http.HttpServletRequest;
import java.util.List;


/**
 * @author cjm
 */
public interface ProjectService {

    /**
     * 创建项目
     *
     * @param saveDTO 项目信息
     * @param request 请求信息
     * @throws LogiSecurityException 项目相关的错误信息
     * @return 项目信息
     */
    ProjectVO createProject(ProjectSaveDTO saveDTO, HttpServletRequest request) throws LogiSecurityException;

    /**
     * 获取项目详情,通过项目id
     *
     * @param projectId 项目id
     * @return ProjectVo 项目信息
     * @throws LogiSecurityException 项目不存在
     */
    ProjectVO getProjectDetailByProjectId(Integer projectId) throws LogiSecurityException;

    /**
     * 根据项目id获取项目简要信息
     *
     * @param projectId 项目id
     * @return 项目简要信息
     */
    ProjectBriefVO getProjectBriefByProjectId(Integer projectId);

    /**
     * 条件分页查询项目信息
     *
     * @param queryDTO 条件信息
     * @return 项目分页信息
     */
    PagingData getProjectPage(ProjectQueryDTO queryDTO);

    /**
     * 删除项目
     *
     * @param projectId 项目id
     * @param request 请求信息
     */
    void deleteProjectByProjectId(Integer projectId, HttpServletRequest request);

    /**
     * 更新项目信息
     *
     * @param saveDTO 项目信息
     * @param request 请求信息
     * @throws LogiSecurityException 项目相关的错误信息
     */
    void updateProject(ProjectSaveDTO saveDTO, HttpServletRequest request) throws LogiSecurityException;

    /**
     * 更改项目运行状态,旧状态取反
     *
     * @param projectId 项目id
     * @param request 请求信息
     */
    void changeProjectStatus(Integer projectId, HttpServletRequest request);

    /**
     * 获取所有项目简要信息
     *
     * @return 项目简要信息list
     */
    List getProjectBriefList();

    /**
     * 项目删除前的检查
     *
     * @param projectId 项目id
     * @return ProjectDeleteCheckVO 检查结果
     */
    ProjectDeleteCheckVO checkBeforeDelete(Integer projectId);

    /**
     * 分页查询项目简要信息
     *
     * @param queryDTO 查询条件
     * @return 简要信息List
     */
    PagingData getProjectBriefPage(ProjectBriefQueryDTO queryDTO);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy