package com.qiaoba.api.system.service;

import com.qiaoba.api.system.entity.SysDept;
import com.qiaoba.api.system.entity.param.SysDeptParam;

import java.util.List;

/**
 * 部门对外暴露接口
 *
 * @author ailanyin
 * @version 1.0
 * @since 2023-04-23 20:33:43
 */
public interface SysDeptApiService {

    /**
     * 新增部门
     *
     * @param sysDept sysDept
     * @return > 0 = success
     */
    int insert(SysDept sysDept);

    /**
     * 更新部门
     *
     * @param sysDept sysDept
     * @return > 0 = success
     */
    int updateById(SysDept sysDept);

    /**
     * 查询列表
     *
     * @param param 条件
     * @return 部门列表
     */
    List<SysDept> selectList(SysDeptParam param);

    /**
     * 查询详细
     *
     * @param deptId 部门Id
     * @return 部门信息
     */
    SysDept selectById(String deptId);

    /**
     * 删除部门
     *
     * @param deptId 部门Id
     * @return > 0 = success
     */
    int deleteById(String deptId);

    /**
     * 根据角色ID查询部门树信息
     *
     * @param roleId 角色ID
     * @return 选中部门列表
     */
    List<String> selectDeptIdsByRoleId(String roleId);
}
