package com.gz.service.system;

import cn.hutool.core.lang.tree.Tree;
import com.github.pagehelper.PageInfo;
import com.gz.dto.system.DeptDTO;
import com.gz.vo.PageVO;

import java.util.List;

/**
 * @description 档案树Service
 * @author LiuChangLan
 * @since 2021/2/23 15:50
 */
public interface DeptService {

    /**
     * @description 增
     * @author LiuChangLan
     * @since 2020/9/4 14:46
     */
    Integer insert(DeptDTO dto);

    /**
     * @description 删
     * @author LiuChangLan
     * @since 2020/9/4 14:46
     */
    Integer delete(String id);

    /**
     * @description 改
     * @author LiuChangLan
     * @since 2020/9/4 14:46
     */
    Integer update(DeptDTO dto);

    /**
     * @description 查
     * @author LiuChangLan
     * @since 2020/9/4 14:46
     */
    List<DeptDTO> selectAll();

    /**
     * @description 根据主键查询
     * @author LiuChangLan
     * @since 2020/9/4 16:36
     */
    DeptDTO selectByPrimaryKey(String id);

    /**
     * @description 查询列表（根据排序）
     * @author LiuChangLan
     * @since 2021/2/23 16:18
     */
    List<DeptDTO> selectByOrder();

    /**
     * @description 查询树行
     * @author LiuChangLan
     * @since 2021/2/23 16:34
     */
    List<Tree<String>> selectTree();

    /**
     * @description 查询分页
     * @author LiuChangLan
     * @since 2021/3/9 17:20
     */
    PageInfo<DeptDTO> selectByPage(PageVO vo);
 }
