diff --git a/src/main/java/com/shzg/project/system/controller/SysUserController.java b/src/main/java/com/shzg/project/system/controller/SysUserController.java index 583b2ea..60aef97 100644 --- a/src/main/java/com/shzg/project/system/controller/SysUserController.java +++ b/src/main/java/com/shzg/project/system/controller/SysUserController.java @@ -253,4 +253,16 @@ public class SysUserController extends BaseController { return success(deptService.selectDeptTreeList(dept)); } + + /** + * 获取当前用户所在部门及所有子部门 + */ + @GetMapping("/myDeptChildren") + public AjaxResult getMyDeptChildren(String keyword) + { + Long userId = SecurityUtils.getUserId(); + List list = deptService.selectDeptAndChildrenByUserId(userId, keyword); + return AjaxResult.success(list); + } + } diff --git a/src/main/java/com/shzg/project/system/mapper/SysDeptMapper.java b/src/main/java/com/shzg/project/system/mapper/SysDeptMapper.java index 0e1a5ad..480d2ce 100644 --- a/src/main/java/com/shzg/project/system/mapper/SysDeptMapper.java +++ b/src/main/java/com/shzg/project/system/mapper/SysDeptMapper.java @@ -115,4 +115,13 @@ public interface SysDeptMapper * @return 结果 */ public int deleteDeptById(Long deptId); + + /** + * 根据部门ID查询部门名称 + * + * @param deptId 部门ID + * @return 部门名称 + */ + public List selectDeptAndChildren(@Param("deptId") Long deptId, + @Param("keyword") String keyword); } diff --git a/src/main/java/com/shzg/project/system/service/ISysDeptService.java b/src/main/java/com/shzg/project/system/service/ISysDeptService.java index 44e9e23..f4a1127 100644 --- a/src/main/java/com/shzg/project/system/service/ISysDeptService.java +++ b/src/main/java/com/shzg/project/system/service/ISysDeptService.java @@ -121,4 +121,12 @@ public interface ISysDeptService * @return 结果 */ public int deleteDeptById(Long deptId); + + /** + * 根据用户ID查询部门 + * + * @param userId 用户ID + * @return 部门信息 + */ + public List selectDeptAndChildrenByUserId(Long userId, String keyword); } diff --git a/src/main/java/com/shzg/project/system/service/impl/SysDeptServiceImpl.java b/src/main/java/com/shzg/project/system/service/impl/SysDeptServiceImpl.java index 42d445c..0c16b28 100644 --- a/src/main/java/com/shzg/project/system/service/impl/SysDeptServiceImpl.java +++ b/src/main/java/com/shzg/project/system/service/impl/SysDeptServiceImpl.java @@ -4,6 +4,9 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; + +import com.shzg.project.system.domain.SysUser; +import com.shzg.project.system.mapper.SysUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.shzg.common.constant.UserConstants; @@ -34,6 +37,9 @@ public class SysDeptServiceImpl implements ISysDeptService @Autowired private SysRoleMapper roleMapper; + @Autowired + private SysUserMapper userMapper; + /** * 查询部门管理数据 * @@ -334,4 +340,18 @@ public class SysDeptServiceImpl implements ISysDeptService { return getChildList(list, t).size() > 0 ? true : false; } + + @Override + public List selectDeptAndChildrenByUserId(Long userId, String keyword) + { + SysUser user = userMapper.selectUserById(userId); + if (user == null || user.getDeptId() == null) + { + return new ArrayList<>(); + } + + Long deptId = user.getDeptId(); + + return deptMapper.selectDeptAndChildren(deptId, keyword); + } } diff --git a/src/main/resources/mybatis/system/SysDeptMapper.xml b/src/main/resources/mybatis/system/SysDeptMapper.xml index 28131da..48965ac 100644 --- a/src/main/resources/mybatis/system/SysDeptMapper.xml +++ b/src/main/resources/mybatis/system/SysDeptMapper.xml @@ -86,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 - + insert into sys_dept( dept_id, @@ -156,4 +156,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update sys_dept set del_flag = '2' where dept_id = #{deptId} + + \ No newline at end of file