package com.xunmei.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xunmei.common.core.domain.OrgTreeReq; import com.xunmei.common.core.domain.OrgTreeResp; import com.xunmei.common.core.web.page.TableDataInfo; import com.xunmei.system.api.domain.SysOrg; import com.xunmei.system.api.vo.SysOrgVO; import java.util.List; /** * 【机构管理】Service接口 * * @author xunmei * @date 2023-08-10 */ public interface ISysOrgService extends IService { /** * 查询【机构管理】 * * @param id 【机构管理】主键 * @return 【机构管理】 */ SysOrg selectSysOrgById(Long id); List selectCheckSubOrgIdList(Long orgId); List findListByOrgType(Integer execOrgType); List listByTypes(Long topId, List types); List listByParentIdAndType(Long parentId, Integer type,String path); /** * 查询【机构管理】列表 * * @param sysOrg 【机构管理】 * @return 【机构管理】集合 */ List selectSysOrgList(SysOrg sysOrg); void batchSaveOrUpdate(List orgList); /** * 新增【机构管理】 * * @param sysOrg 【机构管理】 * @return 结果 */ int insertSysOrg(SysOrg sysOrg); /** * 修改【机构管理】 * * @param sysOrg 【机构管理】 * @return 结果 */ int updateSysOrg(SysOrg sysOrg); /** * 批量删除【机构管理】 * * @param ids 需要删除的【机构管理】主键集合 * @return 结果 */ int deleteSysOrgByIds(Long[] ids); /** * 删除【机构管理】信息 * * @param id 【机构管理】主键 * @return 结果 */ int deleteSysOrgById(Long id); /** * 查询【机构管理】分页数据 * * @param sysOrg 查询条件对象 * @return Page */ TableDataInfo selectPage(SysOrg sysOrg); String selectPathById(Long orgId); SysOrg selectByParentId(Long orgId); List selectByOrgType(Integer orgType); List selectByOrgPathAndOrgType(String orgPath, Integer orgType); SysOrg getSysOrgByUserId(Long userId); List selectOrgTypeByIdList(List execOrgIdList); List findByOrgTypeAndParent(Integer orgType, String path); /** * 查询机构树结构信息 * * @param dept 机构信息 * @return 机构树信息集合 */ List selectDeptTreeList(SysOrg dept); /** * 缓存机构数据 */ List loadingOrgCache(); /** * 清楚机构缓存 */ void clearOrgCache(); /** * 保存或者更新机构 * * @param org * @return */ boolean saveOrUpdateOrg(SysOrg org); /** * 删除机构 * * @param orgId * @return */ boolean removeOrg(Long orgId); List selectParentHs(List orgList); List selectChildHs(Long orgId); List selectByOrgIdList(List orgList); List findAllOrg(); OrgTreeResp getOrgTreeReq(OrgTreeReq req); List selectOrgTreeListByCurOrgId(Long id); }