| | |
| | | // 1.1 批量获取关联数据(主设计师 + 审核人) |
| | | Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(convertSetByFlatMap(list, |
| | | project -> Stream.of(project.getChiefDesigner(), project.getReviewer()))); |
| | | // 1.2 批量获取各项目待审核文件数 |
| | | Map<Long, Integer> pendingAuditCountMap = projectService.getPendingAuditCountMap( |
| | | convertSet(list, MesPdProjectDO::getId)); |
| | | // 2. 拼接 VO |
| | | return BeanUtils.toBean(list, MesPdProjectRespVO.class, vo -> { |
| | | MapUtils.findAndThen(userMap, vo.getChiefDesigner(), |
| | | user -> vo.setChiefDesignerNickname(user.getNickname())); |
| | | MapUtils.findAndThen(userMap, vo.getReviewer(), |
| | | user -> vo.setReviewerNickname(user.getNickname())); |
| | | vo.setPendingAuditCount(pendingAuditCountMap.getOrDefault(vo.getId(), 0)); |
| | | }); |
| | | } |
| | | |