From fb0294fe97c2be0fb713adf836f5f4306430c6c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 2 Jun 2026 15:25:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(admin):=20=E4=BF=AE=E5=A4=8D=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E9=83=A8=E9=97=A8=E6=9F=A5=E8=AF=A2=E5=92=8C=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在部门查询条件中添加hasChild=true限制,确保只查询有子部门的部门 - 为convert和getChildren方法添加adminUsers参数以支持用户信息转换 - 实现在AdminUserVO中显示创建者和更新者的用户名信息 - 更新用户信息转换逻辑以正确映射创建者和更新者姓名 --- .../admin/controller/AdminUserController.java | 1 + .../service/impl/AdminUserServiceImpl.java | 53 ++++++++++++++----- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java index 03e0da47..1ccd954e 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java @@ -146,6 +146,7 @@ public class AdminUserController extends ControllerBase { .update(); VUtils.trueThrowBusinessError(departmentService.lambdaQuery() .eq(TBaseDepartment::getId, request.getDepartmentId()) + .eq(TBaseDepartment::isHasChild,true) .eq(TBaseDepartment::isHasManager, true) .exists() ) diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java index 2bf9eec0..be464ae4 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java @@ -93,6 +93,7 @@ public class AdminUserServiceImpl extends ServiceImpl rootUserVOS = convert(roots, department, positions, roleMaps, roles); - getChildren(rootUserVOS.get(0), departments, adminUsers, positions, roleMaps, roles); + List rootUserVOS = convert(roots, department, positions, roleMaps, roles, adminUsers); + getChildren(rootUserVOS.get(0), departments, adminUsers, positions, roleMaps, roles, adminUsers); for (int index = 1, size = rootUserVOS.size(); index < size; index++) { rootUserVOS.get(index).setChildren(rootUserVOS.get(0).getChildren()); } @@ -522,8 +523,8 @@ public class AdminUserServiceImpl extends ServiceImpl rootDepartments.stream() .map(TBaseDepartment::getId).anyMatch(dt -> Objects.equals(u.getDepartmentId(), dt)) ).collect(Collectors.toList()); - List rootUserVOS = convert1(rootUsers, departments, positions, roleMaps, roles); - rootUserVOS.forEach(uvo -> getChildren1(uvo, departments, adminUsers, searchUsers, positions, roleMaps, roles)); + List rootUserVOS = convert1(rootUsers, departments, positions, roleMaps, roles, adminUsers); + rootUserVOS.forEach(uvo -> getChildren1(uvo, departments, adminUsers, searchUsers, positions, roleMaps, roles, adminUsers)); return rootUserVOS; } } @@ -538,7 +539,7 @@ public class AdminUserServiceImpl extends ServiceImpl departments, List users, List searchUsers - , List positions, List roleMaps, List roles) { + , List positions, List roleMaps, List roles, List adminUsers) { List cdepartments = departments.stream() .filter(d -> Objects.equals(d.getDeptParentId(), user.getDepartmentId())) .collect(Collectors.toList()); @@ -553,9 +554,9 @@ public class AdminUserServiceImpl extends ServiceImpl cuserVOS = convert(csers, department, positions, roleMaps, roles); + List cuserVOS = convert(csers, department, positions, roleMaps, roles, adminUsers); user.getChildren().addAll(cuserVOS); - getChildren(cuserVOS.get(0), departments, users, positions, roleMaps, roles); + getChildren(cuserVOS.get(0), departments, users, positions, roleMaps, roles, adminUsers); for (int index = 1, size = cuserVOS.size(); index < size; index++) { cuserVOS.get(index).setChildren(cuserVOS.get(0).getChildren()); } @@ -576,10 +577,24 @@ public class AdminUserServiceImpl extends ServiceImpl convert1(List users, List departments, List positions - , List roleMaps, List roles) { + , List roleMaps, List roles, List adminUsers) { return users.stream() .map(user -> { AdminUserVO vo = Convert.convert(AdminUserVO.class, user); + vo.setCreateBy( + adminUsers.stream() + .filter(u -> Objects.equals(u.getId(), user.getCreateBy())) + .findFirst() + .map(AdminUser::getUserName) + .orElse("") + ); + vo.setUpdateBy( + adminUsers.stream() + .filter(u -> Objects.equals(u.getId(), user.getUpdateBy())) + .findFirst() + .map(AdminUser::getUserName) + .orElse("") + ); TBasePosition position = positions.stream() .filter(p -> Objects.equals(p.getId(), user.getTitleId())) .findFirst() @@ -605,10 +620,24 @@ public class AdminUserServiceImpl extends ServiceImpl convert(List users, TBaseDepartment department, List positions - , List roleMaps, List roles) { + , List roleMaps, List roles, List adminUsers) { return users.stream() .map(user -> { AdminUserVO vo = Convert.convert(AdminUserVO.class, user); + vo.setCreateBy( + adminUsers.stream() + .filter(u -> Objects.equals(u.getId(), user.getCreateBy())) + .findFirst() + .map(AdminUser::getUserName) + .orElse("") + ); + vo.setUpdateBy( + adminUsers.stream() + .filter(u -> Objects.equals(u.getId(), user.getUpdateBy())) + .findFirst() + .map(AdminUser::getUserName) + .orElse("") + ); TBasePosition position = positions.stream() .filter(p -> Objects.equals(p.getId(), user.getTitleId())) .findFirst() @@ -630,7 +659,7 @@ public class AdminUserServiceImpl extends ServiceImpl departments, List users - , List positions, List roleMaps, List roles) { + , List positions, List roleMaps, List roles, List adminUsers) { List cdepartments = departments.stream() .filter(d -> Objects.equals(d.getDeptParentId(), user.getDepartmentId())) .collect(Collectors.toList()); @@ -640,9 +669,9 @@ public class AdminUserServiceImpl extends ServiceImpl Objects.equals(u.getDepartmentId(), department.getId())) .collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(csers)) { - List cuserVOS = convert(csers, department, positions, roleMaps, roles); + List cuserVOS = convert(csers, department, positions, roleMaps, roles, adminUsers); user.getChildren().addAll(cuserVOS); - getChildren(cuserVOS.get(0), departments, users, positions, roleMaps, roles); + getChildren(cuserVOS.get(0), departments, users, positions, roleMaps, roles, adminUsers); for (int index = 1, size = cuserVOS.size(); index < size; index++) { cuserVOS.get(index).setChildren(cuserVOS.get(0).getChildren()); }