package com.gkhy.safePlatform.account.rpc.apimodel; import com.gkhy.safePlatform.account.rpc.apimodel.model.req.DepAddRPCReqDTO; import com.gkhy.safePlatform.account.rpc.apimodel.model.req.DepModRPCReqDTO; import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO; import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepRPCRespDTO; import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.UserDepRPCRespDTO; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.ResultVO; import java.util.List; public interface AccountDepartmentService { /** * @Description: 新增部门 */ ResultVO addDep(ContextCacheUser currentUser, DepAddRPCReqDTO depAddRPCReqDTO); /** * @Description: 修改部门 */ ResultVO modDep(ContextCacheUser currentUser, DepModRPCReqDTO depModRPCReqDTO); /** * @Description: 部门列表:tree */ ResultVO> depList(); /** * @Description: 删除部门 */ ResultVO delDep(ContextCacheUser currentUser, Long depId); /** * @Description: 根据部门 id 获取 部门信息 */ ResultVO getDepInfoByDepId(Long userId, Long depId); /** * @Description: 根据部门 id 获取 部门信息 */ ResultVO getDepInfoByDepId(Long depId); /** * @Description: 根据 depId 获取该部门的父部门 */ ResultVO getParentDepInfoByDepId(Long depId); /** * @Description: 判断 depId1 是否 在depId 或者他的子部门下 */ ResultVO isSelfOrSubDep(Long depId, Long depId1); /** * @Description: 根据 depName 获取 部门信息 */ ResultVO getDepartmentInfoByDepName(String depName); /** * @Description: 获取部门及其子部门的 idlist */ ResultVO> listDepAndSubDepIds(Long depId); /** * @Description: 获取部门及其子部门 */ ResultVO> listDepAndSubDepByDepId(Long depId); /** * @Description: 根据部门 ids 获取部门列表 出入个数存在差异自己判断 */ ResultVO> listDepByDepIds(List depIds); /** * @Description: 根据 depId 获取该部门下 的所有子部门 不包含自己 仅一层 */ ResultVO> listSubDepsByDepId(Long depId); }