diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java index fe7e72e5..e65ac067 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java @@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.*; @@ -19,6 +20,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.context.annotation.Bean; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -150,6 +152,17 @@ public class UserController { return success(user); } + @PostMapping("/getByDeptId") + @Operation(summary = "根据部门编号获得用户详情") + @Parameter(name = "deptId", description = "部门编号", required = true, example = "117") + @PreAuthorize("@ss.hasPermission('system:user:query')") + public CommonResult> getListUserByDeptId(@RequestParam("deptId") Long deptId) { + + List user = userService.getListUserByDeptId(deptId); + + return success(BeanUtils.toBean(user, UserRespVO.class)); + } + @GetMapping("/export") @Operation(summary = "导出用户") @PreAuthorize("@ss.hasPermission('system:user:export')") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java index 6e7fb58b..e9ed9c8a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java @@ -53,6 +53,12 @@ public interface AdminUserMapper extends BaseMapperX { return selectList(AdminUserDO::getDeptId, deptIds); } + default List selectListByDeptId(Long deptId, Long userId) { + return selectList(new LambdaQueryWrapperX() + .eq(AdminUserDO::getDeptId, deptId) + .ne(AdminUserDO::getId, userId)); + } + void emptyOpenId(@Param("openId") String openId); List selectByDeptIds(Collection deptIds); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java index 2201dc9c..68569f07 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java @@ -146,13 +146,21 @@ public interface AdminUserService { List getUserListByDeptIds(Collection deptIds); /** - * 获得指定岗位的用户数组 + * 获得指定部门组的用户数组 * - * @param deptIds 岗位数组 + * @param deptIds 部门数组 * @return 用户数组 */ List getUserByDeptIds(Collection deptIds); + /** + * 获得指定部门的用户数组(除去当前登录者用户) + * + * @param deptId 部门编号 + * @return 用户数组 + */ + List getListUserByDeptId(Long deptId); + /** * 获得指定岗位的用户数组 * diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index f4fc1af6..7425ef2a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -43,6 +43,7 @@ import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; /** @@ -256,6 +257,12 @@ public class AdminUserServiceImpl implements AdminUserService { return userMapper.selectByDeptIds(deptIds); } + @Override + public List getListUserByDeptId(Long deptId) { + + return userMapper.selectListByDeptId(deptId, getLoginUserId()); + } + @Override public List getUserListByPostIds(Collection postIds) { if (CollUtil.isEmpty(postIds)) {