package com.yami.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.model.Dept;

import java.util.List;

/**
 * 部门Service接口
 *
 * @author
 */
public interface DeptService extends IService<Dept> {

    /**
     * 获取所有部门列表
     * @return 部门列表
     */
    List<Dept> listAllDept();

    /**
     * 根据父级部门ID获取子部门列表
     * @param parentId 父级部门ID
     * @return 部门列表
     */
    List<Dept> listByParentId(Long parentId);

    /**
     * 获取部门树结构
     * @return 部门树列表
     */
    List<Dept> treeDept();

    /**
     * 保存部门信息
     * @param dept 部门信息
     * @return 保存结果
     */
    boolean saveDept(Dept dept);

    /**
     * 更新部门信息
     * @param dept 部门信息
     * @return 更新结果
     */
    boolean updateDept(Dept dept);

    /**
     * 删除部门
     * @param deptId 部门ID
     * @return 删除结果
     */
    boolean deleteDept(Long deptId);

    /**
     * 根据用户ID获取所属部门列表
     * @param userId 用户ID
     * @return 部门列表
     */
    List<Dept> listDeptsByUserId(Long userId);
}
