package com.yh.saas.plugin.clouddisk.service;

import com.baomidou.mybatisplus.service.IService;
import com.yh.saas.plugin.clouddisk.entity.DataManagerFolder;
import com.yh.saas.plugin.clouddisk.entity.DataManagerFolderFileView;

import java.util.List;

/**
 * <p>
 * 资料管理 - 文件夹 - Service
 * </p>
 *
 * @author ZhangMingYu
 * @since 2019年11月4日15:59:07
 */

public interface IDataManagerFolderService extends IService<DataManagerFolder> {

    /**
     * 新增 - 文件夹
     *
     * @param dataManagerFolder 文件夹对象
     */
    void save(DataManagerFolder dataManagerFolder);

    /**
     * 删除 - 文件夹
     *
     * @param dataManagerFolder folderId 必传
     */
    void remove(DataManagerFolder dataManagerFolder);

    /**
     * 删除 - 文件夹和文件
     *
     * @param list  必传
     */
    void removeFolderFile(List<DataManagerFolderFileView> list);

    /**
     * 删除 - 文件夹
     *
     * @param list 父节点id
     */
    void moveFolder(List<DataManagerFolderFileView> list);

    /**
     * 修改 - 文件夹
     *
     * @param dataManagerFolder folderId 必传
     */
    void changeInfo(DataManagerFolder dataManagerFolder);

    /**
     * 查询 - 文件夹(树形结构)
     *
     * @param dataManagerFolder compId 必传
     * @return 树形结构
     */
    List<DataManagerFolder> findTreeList(DataManagerFolder dataManagerFolder);

    /**
     * 查询 - 文件夹详情
     *
     * @return 树形结构
     */
    List<DataManagerFolder> getDataManagerFolderList(String parentFolderId, String fileName, String orderColumn, String orderBy);

}
