package com.ruoyi.generator.service;

import java.util.List;
import com.ruoyi.generator.domain.SysProjectStructure;

/**
 * 项目结构节点Service接口
 * 
 * @author ruoyi
 * @date 2025-05-14
 */
public interface ISysProjectStructureService 
{
    /**
     * 查询项目结构节点
     * 
     * @param nodeId 项目结构节点主键
     * @return 项目结构节点
     */
    public SysProjectStructure selectSysProjectStructureByNodeId(Long nodeId);

    /**
     * 查询项目结构节点列表
     * 
     * @param sysProjectStructure 项目结构节点
     * @return 项目结构节点集合
     */
    public List<SysProjectStructure> selectSysProjectStructureList(SysProjectStructure sysProjectStructure);

    /**
     * 新增项目结构节点
     * 
     * @param sysProjectStructure 项目结构节点
     * @return 结果
     */
    public int insertSysProjectStructure(SysProjectStructure sysProjectStructure);

    /**
     * 修改项目结构节点
     * 
     * @param sysProjectStructure 项目结构节点
     * @return 结果
     */
    public int updateSysProjectStructure(SysProjectStructure sysProjectStructure);

    /**
     * 批量删除项目结构节点
     * 
     * @param nodeIds 需要删除的项目结构节点主键集合
     * @return 结果
     */
    public int deleteSysProjectStructureByNodeIds(Long[] nodeIds);

    /**
     * 删除项目结构节点信息
     * 
     * @param nodeId 项目结构节点主键
     * @return 结果
     */
    public int deleteSysProjectStructureByNodeId(Long nodeId);

    List<SysProjectStructure> selectProjectStructureListByModule(Long projectId, Long templateId);
}
