| | |
| | | .filter(Objects::nonNull) |
| | | .collect(Collectors.toSet()); |
| | | Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(deptIds); |
| | | // 填充岗位名称 |
| | | Set<Long> postIds = list.stream() |
| | | .map(HrmEmployeeDO::getPostIds) |
| | | .filter(StrUtil::isNotBlank) |
| | | .flatMap(json -> JSONUtil.toList(json, Long.class).stream()) |
| | | .collect(Collectors.toSet()); |
| | | Map<Long, PostRespDTO> postMap = CollUtil.isEmpty(postIds) |
| | | ? Collections.emptyMap() : postApi.getPostMap(postIds); |
| | | return list.stream().map(emp -> { |
| | | HrmEmployeeSimpleRespVO vo = new HrmEmployeeSimpleRespVO(); |
| | | vo.setId(emp.getId()); |
| | |
| | | if (emp.getDeptId() != null && deptMap.containsKey(emp.getDeptId())) { |
| | | vo.setDeptName(deptMap.get(emp.getDeptId()).getName()); |
| | | } |
| | | if (StrUtil.isNotBlank(emp.getPostIds())) { |
| | | vo.setPostName(JSONUtil.toList(emp.getPostIds(), Long.class).stream() |
| | | .filter(postMap::containsKey) |
| | | .map(id -> postMap.get(id).getName()) |
| | | .collect(Collectors.joining(","))); |
| | | } |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | | } |