package com.ruoyi.project.business.service.train;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.project.business.domain.dto.RemoveDirectoryDto;
import com.ruoyi.project.business.domain.train.TtFileDirectory;
import com.ruoyi.project.business.domain.vo.train.FileDataVisibleRangeVo;
import com.ruoyi.project.business.domain.vo.train.FileDirectoryTreeVo;

import java.util.List;

/**
 * @author fangk
 * @description 针对表【tt_file_directory】的数据库操作Service
 * @createDate 2024-05-20 15:28:25
 */
public interface ITtFileDirectoryService extends IService<TtFileDirectory> {
    
    List<TtFileDirectory> listRange();

    List<FileDirectoryTreeVo> getDirectoryTree();

    /**
     * 根据路径id获取完整路径
     *
     * @param curFolderId
     * @return
     */
    String getDataFolder(Long curFolderId);

    RemoveDirectoryDto removeDirectoryAndChildren(Long id);

    boolean add(TtFileDirectory fileDirectory);

    /**
     * 获取子目录,包含自身
     *
     * @param id 目录id
     * @return 子目录
     */
    List<TtFileDirectory> getSubDirectoryWithSelf(Long id);
    /**
     * 获取子目录,包含自身
     *
     * @param dIds 目录id
     * @return 子目录
     */
    List<TtFileDirectory> getSubDirectoryWithSelf(List<Long> dIds);

    boolean editVisibleRange(FileDataVisibleRangeVo fileDataVisibleRangeVo);
}
