From bf21eb7042cc4c2d49d9c88c6e19a8d44e904213 Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Thu, 5 Dec 2024 10:36:00 +0800 Subject: [PATCH] =?UTF-8?q?refactor(system):=20=E4=BC=98=E5=8C=96=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=AE=A1=E7=90=86=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 注释掉 ProjectController 中的冗余代码 - 优化 ProjectMapper 中的查询条件,增加空值检查 --- .../admin/project/ProjectController.java | 64 ++++++++----------- .../dal/mysql/project/ProjectMapper.java | 6 +- 2 files changed, 29 insertions(+), 41 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/project/ProjectController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/project/ProjectController.java index 45ed5562..9d238ce2 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/project/ProjectController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/project/ProjectController.java @@ -77,44 +77,32 @@ public class ProjectController { public CommonResult getProject(@RequestParam("id") Long id) { ProjectDO project = projectService.getProject(id); ProjectRespVO respVO = BeanUtils.toBean(project, ProjectRespVO.class); - if (respVO != null) { - // 获取项目中所有人员的用户编号列表 - Set userIds = respVO.getStaff() == null ? new HashSet<>() : respVO.getStaff(); - userIds.add(respVO.getDirectorUserId()); - - // 获取项目中所有部门编号列表 - Set deptIds = respVO.getParticipationDept() == null ? new HashSet<>() : respVO.getParticipationDept(); - deptIds.add(respVO.getResponsibleDept()); - - // 获取所有用户信息 - List userDOS = userService.getUserList(userIds); - Map userMap = convertMap(userDOS, AdminUserDO::getId); - // 获取所有部门信息 - List deptDOS = deptService.getDeptList(deptIds); - Map deptMap = convertMap(deptDOS, DeptDO::getId); - - // 筛选出不是责任人的用户信息 - List userVOs = userDOS.stream() - .filter(user -> !user.getId().equals(respVO.getDirectorUserId())) - .distinct() - .collect(Collectors.toList()); - - // 设置责任人名称 - respVO.setDirectorUserName(userMap.get(respVO.getDirectorUserId()).getNickname()); - // 拼接项目人员名称 - respVO.setStaffName(userVOs.stream().map(AdminUserDO::getNickname).collect(Collectors.joining("、"))); - - // 筛选出不是责任人部门的部门信息 - List deptVOs = deptDOS.stream() - .filter(dept -> !dept.getId().equals(respVO.getResponsibleDept())) - .distinct() - .collect(Collectors.toList()); - - // 设置责任部门名称 - respVO.setResponsibleDeptName(deptMap.get(respVO.getResponsibleDept()).getName()); - // 拼接参与部门名称 - respVO.setParticipationDeptName(deptVOs.stream().map(DeptDO::getName).collect(Collectors.joining("、"))); - } +// if (respVO != null) { +// // 获取项目中所有人员的用户编号列表 +// Set userIds = respVO.getStaff() == null ? new HashSet<>() : respVO.getStaff(); +// userIds.add(respVO.getDirectorUserId()); +// +// // 获取项目中所有部门编号列表 +// Set deptIds = respVO.getParticipationDept() == null ? new HashSet<>() : respVO.getParticipationDept(); +// deptIds.add(respVO.getResponsibleDept()); +// +// // 获取所有用户信息 +// Map userMap = userService.getUserMap(userIds); +// // 获取所有部门信息 +// Map deptMap = deptService.getDeptMap(deptIds); +// +// // 设置责任人名称 +// respVO.setDirectorUserName(userMap.get(respVO.getDirectorUserId()).getNickname()); +// // 拼接项目人员名称 +// userMap.remove(respVO.getDirectorUserId()); +// respVO.setStaffName(userMap.values().stream().map(AdminUserDO::getNickname).collect(Collectors.joining("、"))); +// +// // 设置责任部门名称 +// respVO.setResponsibleDeptName(deptMap.get(respVO.getResponsibleDept()).getName()); +// // 拼接参与部门名称 +// deptMap.remove(respVO.getResponsibleDept()); +// respVO.setParticipationDeptName(deptMap.values().stream().map(DeptDO::getName).collect(Collectors.joining("、"))); +// } return success(respVO); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/project/ProjectMapper.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/project/ProjectMapper.java index d465a17f..d08c3952 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/project/ProjectMapper.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/project/ProjectMapper.java @@ -29,11 +29,11 @@ public interface ProjectMapper extends BaseMapperX { .betweenIfPresent(ProjectDO::getEndDate, reqVO.getEndDate()) .eqIfPresent(ProjectDO::getIsLongTerm, reqVO.getIsLongTerm()) .eqIfPresent(ProjectDO::getStatus, reqVO.getStatus()) - .likeLeft(ProjectDO::getParticipationDept, "-" + reqVO.getParticipationDept()) + .likeLeft(Objects.nonNull(reqVO.getParticipationDept()), ProjectDO::getParticipationDept, "-" + reqVO.getParticipationDept()) .or() - .likeRight(ProjectDO::getParticipationDept, reqVO.getParticipationDept() + "-") + .likeRight(Objects.nonNull(reqVO.getParticipationDept()), ProjectDO::getParticipationDept, reqVO.getParticipationDept() + "-") .or() - .like(ProjectDO::getParticipationDept, "-" + reqVO.getParticipationDept() + "-") + .like(Objects.nonNull(reqVO.getParticipationDept()), ProjectDO::getParticipationDept, "-" + reqVO.getParticipationDept() + "-") .orderByDesc(ProjectDO::getId)); } } \ No newline at end of file