From 6e7a99fe9b012f00c47735d82242cc3049e03720 Mon Sep 17 00:00:00 2001 From: seungsje Date: Mon, 22 Jul 2024 12:10:09 +0900 Subject: [PATCH] =?UTF-8?q?[Refactoring]=20stream=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EB=9F=89=20=EC=A4=84=EC=9D=B4=EA=B8=B0=20=EB=B0=8F=20=EC=95=88?= =?UTF-8?q?=EC=93=B0=EB=8A=94=20=EC=9D=B8=EC=9E=90=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AgendaTeamController.java | 16 ++++++------- .../response/ConfirmTeamResDto.java | 10 +++----- .../agendateam/service/AgendaTeamService.java | 24 ++++++++++--------- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/controller/AgendaTeamController.java b/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/controller/AgendaTeamController.java index 35b876b1a..a79b0d311 100644 --- a/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/controller/AgendaTeamController.java +++ b/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/controller/AgendaTeamController.java @@ -103,29 +103,29 @@ public ResponseEntity leaveAgendaTeam(@Parameter(hidden = true) @Login Use /** * 아젠다 팀 공개 모집인 팀 목록 조회 - * @param user 사용자 정보, PageRequestDto 페이지네이션 요청 정보, agendaId 아젠다 아이디 + * @param pageRequest 페이지네이션 요청 정보, agendaId 아젠다 아이디 */ @GetMapping("/open") - public ResponseEntity> openTeamList(@Parameter(hidden = true) @Login UserDto user, - @RequestBody @Valid PageRequestDto pageRequest, @RequestParam("agenda_key") UUID agendaKey) { + public ResponseEntity> openTeamList(@RequestBody @Valid PageRequestDto pageRequest, + @RequestParam("agenda_key") UUID agendaKey) { int page = pageRequest.getPage(); int size = pageRequest.getSize(); Pageable pageable = PageRequest.of(page - 1, size, Sort.by("id").descending()); - List openTeamResDtoList = agendaTeamService.listOpenTeam(user, agendaKey, pageable); + List openTeamResDtoList = agendaTeamService.listOpenTeam(agendaKey, pageable); return ResponseEntity.ok(openTeamResDtoList); } /** * 아젠다 팀 확정된 팀 목록 조회 - * @param user 사용자 정보, PageRequestDto 페이지네이션 요청 정보, agendaId 아젠다 아이디 + * @param pageRequest 페이지네이션 요청 정보, agendaId 아젠다 아이디 */ @GetMapping("/confirm") - public ResponseEntity> confirmTeamList(@Parameter(hidden = true) @Login UserDto user, - @RequestBody @Valid PageRequestDto pageRequest, @RequestParam("agenda_key") UUID agendaKey) { + public ResponseEntity> confirmTeamList(@RequestBody @Valid PageRequestDto pageRequest, + @RequestParam("agenda_key") UUID agendaKey) { int page = pageRequest.getPage(); int size = pageRequest.getSize(); Pageable pageable = PageRequest.of(page - 1, size, Sort.by("id").descending()); - List confirmTeamResDto = agendaTeamService.listConfirmTeam(user, agendaKey, pageable); + List confirmTeamResDto = agendaTeamService.listConfirmTeam(agendaKey, pageable); return ResponseEntity.ok(confirmTeamResDto); } } diff --git a/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/controller/response/ConfirmTeamResDto.java b/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/controller/response/ConfirmTeamResDto.java index 0935cbe0d..e73d2a2af 100644 --- a/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/controller/response/ConfirmTeamResDto.java +++ b/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/controller/response/ConfirmTeamResDto.java @@ -1,9 +1,7 @@ package gg.agenda.api.user.agendateam.controller.response; import java.util.List; -import java.util.stream.Collectors; -import gg.data.agenda.AgendaProfile; import gg.data.agenda.AgendaTeam; import gg.data.agenda.type.Coalition; import lombok.Getter; @@ -17,16 +15,14 @@ public class ConfirmTeamResDto { private int teamMateCount; private String teamAward; private int awardPriority; - private Coalition[] coalition; + private List coalitions; - public ConfirmTeamResDto(AgendaTeam agendaTeam, List agendaProfiles) { + public ConfirmTeamResDto(AgendaTeam agendaTeam, List coalitions) { this.teamName = agendaTeam.getName(); this.teamLeaderIntraId = agendaTeam.getLeaderIntraId(); this.teamMateCount = agendaTeam.getMateCount(); this.teamAward = agendaTeam.getAward(); this.awardPriority = agendaTeam.getAwardPriority(); - this.coalition = agendaProfiles.stream() - .map(AgendaProfile::getCoalition) - .collect(Collectors.toList()).toArray(new Coalition[0]); + this.coalitions = coalitions; } } diff --git a/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/service/AgendaTeamService.java b/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/service/AgendaTeamService.java index 67eb818fd..62e1c4509 100644 --- a/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/service/AgendaTeamService.java +++ b/gg-agenda-api/src/main/java/gg/agenda/api/user/agendateam/service/AgendaTeamService.java @@ -225,9 +225,9 @@ public List agendaTeamProfileLeave(UserDto user, AgendaTeam agend /** * 아젠다 팀 공개 모집인 팀 목록 조회 - * @param user 사용자 정보, PageRequestDto 페이지네이션 요청 정보, agendaId 아젠다 아이디 + * @param pageable 페이지네이션 요청 정보, agendaId 아젠다 아이디 */ - public List listOpenTeam(UserDto user, UUID agendaKey, Pageable pageable) { + public List listOpenTeam(UUID agendaKey, Pageable pageable) { Agenda agenda = agendaRepository.findByAgendaKey(agendaKey) .orElseThrow(() -> new NotExistException(AGENDA_NOT_FOUND)); @@ -240,20 +240,22 @@ public List listOpenTeam(UserDto user, UUID agendaKey, Pageable /** * 아젠다 팀 확정된 팀 목록 조회 - * @param user 사용자 정보, PageRequestDto 페이지네이션 요청 정보, agendaId 아젠다 아이디 + * @param pageable 페이지네이션 요청 정보, agendaId 아젠다 아이디 */ - public List listConfirmTeam(UserDto user, UUID agendaKey, Pageable pageable) { + public List listConfirmTeam(UUID agendaKey, Pageable pageable) { Agenda agenda = agendaRepository.findByAgendaKey(agendaKey) .orElseThrow(() -> new NotExistException(AGENDA_NOT_FOUND)); List agendaTeams = agendaTeamRepository.findByAgendaAndStatus(agenda, CONFIRM, pageable) .getContent(); - return agendaTeams.stream().map(agendaTeam -> { - List agendaTeamProfiles = agendaTeamProfileRepository.findByAgendaTeamAndIsExistTrue( - agendaTeam); - return new ConfirmTeamResDto(agendaTeam, agendaTeamProfiles.stream() - .map(AgendaTeamProfile::getProfile) - .collect(Collectors.toList())); - }).collect(Collectors.toList()); + return agendaTeams.stream() + .map(agendaTeam -> { + List coalitions = agendaTeamProfileRepository + .findByAgendaTeamAndIsExistTrue(agendaTeam).stream() + .map(agendaTeamProfile -> agendaTeamProfile.getProfile().getCoalition()) + .collect(Collectors.toList()); + return new ConfirmTeamResDto(agendaTeam, coalitions); + }) + .collect(Collectors.toList()); } }