package com.xunmei.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xunmei.system.api.Eto.SysOrgTreeRequestDto; import com.xunmei.system.api.domain.SysDept; import com.xunmei.system.api.domain.SysOrg; import com.xunmei.system.api.vo.SysOrgVO; import com.xunmei.system.domain.vo.TreeSelect; import java.util.List; /** * 机构管理 服务层 * * @author xunmei */ public interface ISysDeptService extends IService { /** * 查询机构管理数据 * * @param dept 机构信息 * @return 机构信息集合 */ List selectDeptList(SysDept dept); /** * 查询机构树结构信息 * * @param dept 机构信息 * @return 机构树信息集合 */ List selectDeptTreeList(SysOrg dept); /** * 返回行社树 * @return */ List selectHangsheTreeList(); List selectBusinessTreeList(SysOrgTreeRequestDto request); /** * 获取缓存的行社及行社上级机构 * @param path * @return */ List getHangsheTreeCache(String path); /** * 获取指定机构树,包含到顶级节点的路径及下级所有机构 * @param orgId * @return */ List hangsheWholePathTree(Long orgId); /** * 机构管理 * * @param dept * @return */ List selectDeptTreeList(SysDept dept); List orgWholePathTree(SysOrgTreeRequestDto request); /** * 构建前端所需要树结构 * * @param depts 机构列表 * @return 树结构列表 */ List buildDeptTree(List depts); /** * 构建前端所需要下拉树结构 * * @param depts 机构列表 * @return 下拉树结构列表 */ List buildDeptTreeSelect(List depts); /** * 根据角色ID查询机构树信息 * * @param roleId 角色ID * @return 选中机构列表 */ List selectDeptListByRoleId(Long roleId); /** * 根据机构ID查询信息 * * @param deptId 机构ID * @return 机构信息 */ SysDept selectDeptById(Long deptId); /** * 根据ID查询所有子机构(正常状态) * * @param deptId 机构ID * @return 子机构数 */ int selectNormalChildrenDeptById(Long deptId); /** * 是否存在机构子节点 * * @param deptId 机构ID * @return 结果 */ boolean hasChildByDeptId(Long deptId); /** * 查询机构是否存在用户 * * @param deptId 机构ID * @return 结果 true 存在 false 不存在 */ boolean checkDeptExistUser(Long deptId); /** * 校验机构名称是否唯一 * * @param dept 机构信息 * @return 结果 */ boolean checkDeptNameUnique(SysDept dept); /** * 校验机构是否有数据权限 * * @param deptId 机构id */ void checkDeptDataScope(Long deptId); /** * 新增保存机构信息 * * @param dept 机构信息 * @return 结果 */ int insertDept(SysDept dept); /** * 修改保存机构信息 * * @param dept 机构信息 * @return 结果 */ int updateDept(SysDept dept); /** * 删除机构管理信息 * * @param deptId 机构ID * @return 结果 */ int deleteDeptById(Long deptId); }