From a7df553a1e88e47c126721082ed0b7b6a144d57d Mon Sep 17 00:00:00 2001 From: wonyongChoi05 Date: Thu, 23 Nov 2023 16:36:33 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Map.getObject=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/SessionMemberService.java | 6 ++-- ...va => SessionDepartmentMemberRequest.java} | 5 ++-- .../session/ui/SessionMemberController.java | 6 ++-- .../application/PopularStudylogService.java | 30 ++++++++++--------- .../application/SessionMemberServiceTest.java | 6 ++-- 5 files changed, 28 insertions(+), 25 deletions(-) rename backend/src/main/java/wooteco/prolog/session/application/dto/{SessionGroupMemberRequest.java => SessionDepartmentMemberRequest.java} (70%) diff --git a/backend/src/main/java/wooteco/prolog/session/application/SessionMemberService.java b/backend/src/main/java/wooteco/prolog/session/application/SessionMemberService.java index 9bf2df56c..5007d6449 100644 --- a/backend/src/main/java/wooteco/prolog/session/application/SessionMemberService.java +++ b/backend/src/main/java/wooteco/prolog/session/application/SessionMemberService.java @@ -12,7 +12,7 @@ import wooteco.prolog.member.application.MemberService; import wooteco.prolog.member.application.dto.MemberResponse; import wooteco.prolog.member.domain.Member; -import wooteco.prolog.session.application.dto.SessionGroupMemberRequest; +import wooteco.prolog.session.application.dto.SessionDepartmentMemberRequest; import wooteco.prolog.session.domain.SessionMember; import wooteco.prolog.session.domain.repository.SessionMemberRepository; import wooteco.prolog.session.domain.repository.SessionRepository; @@ -38,12 +38,12 @@ public void registerMember(Long sessionId, Long memberId) { @Transactional public void registerMembersByGroupId(Long sessionId, - SessionGroupMemberRequest sessionGroupMemberRequest) { + SessionDepartmentMemberRequest sessionDepartmentMemberRequest) { List alreadySessionMembers = sessionMemberRepository.findAllBySessionId( sessionId); List members = departmentMemberService.findDepartmentMemberByDepartmentId( - sessionGroupMemberRequest.getGroupId()).stream() + sessionDepartmentMemberRequest.getDepartmentId()).stream() .map(it -> it.getMember()) .collect(toList()); diff --git a/backend/src/main/java/wooteco/prolog/session/application/dto/SessionGroupMemberRequest.java b/backend/src/main/java/wooteco/prolog/session/application/dto/SessionDepartmentMemberRequest.java similarity index 70% rename from backend/src/main/java/wooteco/prolog/session/application/dto/SessionGroupMemberRequest.java rename to backend/src/main/java/wooteco/prolog/session/application/dto/SessionDepartmentMemberRequest.java index 353356890..5fdd01b89 100644 --- a/backend/src/main/java/wooteco/prolog/session/application/dto/SessionGroupMemberRequest.java +++ b/backend/src/main/java/wooteco/prolog/session/application/dto/SessionDepartmentMemberRequest.java @@ -7,7 +7,8 @@ @NoArgsConstructor @AllArgsConstructor @Getter -public class SessionGroupMemberRequest { +public class SessionDepartmentMemberRequest { + + private Long departmentId; - private Long groupId; } diff --git a/backend/src/main/java/wooteco/prolog/session/ui/SessionMemberController.java b/backend/src/main/java/wooteco/prolog/session/ui/SessionMemberController.java index 24b66ce11..afaa3f543 100644 --- a/backend/src/main/java/wooteco/prolog/session/ui/SessionMemberController.java +++ b/backend/src/main/java/wooteco/prolog/session/ui/SessionMemberController.java @@ -14,7 +14,7 @@ import wooteco.prolog.login.ui.LoginMember; import wooteco.prolog.member.application.dto.MemberResponse; import wooteco.prolog.session.application.SessionMemberService; -import wooteco.prolog.session.application.dto.SessionGroupMemberRequest; +import wooteco.prolog.session.application.dto.SessionDepartmentMemberRequest; @RestController @RequestMapping("/sessions/{sessionId}/members") @@ -49,8 +49,8 @@ public ResponseEntity deleteRegisteredSession( // admin only @PostMapping public ResponseEntity registerByGroupId(@PathVariable Long sessionId, - @RequestBody SessionGroupMemberRequest sessionGroupMemberRequest) { - sessionMemberService.registerMembersByGroupId(sessionId, sessionGroupMemberRequest); + @RequestBody SessionDepartmentMemberRequest sessionDepartmentMemberRequest) { + sessionMemberService.registerMembersByGroupId(sessionId, sessionDepartmentMemberRequest); return ResponseEntity.ok().build(); } diff --git a/backend/src/main/java/wooteco/prolog/studylog/application/PopularStudylogService.java b/backend/src/main/java/wooteco/prolog/studylog/application/PopularStudylogService.java index 00dca4fcd..5a550c699 100644 --- a/backend/src/main/java/wooteco/prolog/studylog/application/PopularStudylogService.java +++ b/backend/src/main/java/wooteco/prolog/studylog/application/PopularStudylogService.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; + import lombok.AllArgsConstructor; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; @@ -43,9 +44,9 @@ public void updatePopularStudylogs(Pageable pageable) { deleteAllLegacyPopularStudylogs(); List departmentMembers = departmentMemberRepository.findAll(); - Map> DepartmetsBygroupType = departmentRepository.findAll() + Map> departmentsByPart = departmentRepository.findAll() .stream() - .collect(Collectors.groupingBy(Department::getPart)); + .collect(Collectors.groupingBy(part -> part.getPart().getName())); final List recentStudylogs = findRecentStudylogs(LocalDateTime.now(), pageable.getPageSize()); @@ -54,7 +55,7 @@ public void updatePopularStudylogs(Pageable pageable) { for (Part partType : Part.values()) { popularStudylogs.addAll(filterStudylogsByDepartmets(recentStudylogs, - new Departments(DepartmetsBygroupType.get(partType)), departmentMembers).stream() + new Departments(departmentsByPart.get(partType.getName())), departmentMembers).stream() .sorted(Comparator.comparing(Studylog::getPopularScore).reversed()) .limit(pageable.getPageSize()).collect(toList())); } @@ -86,9 +87,8 @@ private List findRecentStudylogs(final LocalDateTime dateTime, } private List filterStudylogsByDepartmets(final List studylogs, - final Departments departments, - final List departmentMembers) { - + final Departments departments, + final List departmentMembers) { return studylogs.stream() .filter( studylog -> checkMemberAssignedInDepartmets(departments, studylog.getMember(), @@ -97,7 +97,7 @@ private List filterStudylogsByDepartmets(final List studylog } private boolean checkMemberAssignedInDepartmets(Departments departments, Member member, - List departmentMembers) { + List departmentMembers) { return departmentMembers.stream().anyMatch( it -> it.getMember().equals(member) && departments.isContainsDepartments(it)); } @@ -106,22 +106,24 @@ public PopularStudylogsResponse findPopularStudylogs(Pageable pageable, Long mem boolean isAnonymousMember) { List allPopularStudylogs = getSortedPopularStudyLogs(pageable); - List groupedMembers = departmentMemberRepository.findAll(); - Map> DepartmetsBygroupType = departmentRepository.findAll() - .stream().collect(Collectors.groupingBy(Department::getPart)); + List departmentMembers = departmentMemberRepository.findAll(); + Map> departmentsByPart = departmentRepository.findAll() + .stream() + .collect(Collectors.groupingBy(Department::getPart)); return PopularStudylogsResponse.of( studylogsResponse(allPopularStudylogs, pageable, memberId), studylogsResponse( - filterStudylogsByDepartmets(allPopularStudylogs, new Departments(DepartmetsBygroupType.get(Part.FRONTEND)), groupedMembers), + filterStudylogsByDepartmets(allPopularStudylogs, new Departments(departmentsByPart.get(Part.FRONTEND)), departmentMembers), pageable, - memberId), + memberId + ), studylogsResponse( - filterStudylogsByDepartmets(allPopularStudylogs, new Departments(DepartmetsBygroupType.get(Part.BACKEND)), groupedMembers), + filterStudylogsByDepartmets(allPopularStudylogs, new Departments(departmentsByPart.get(Part.BACKEND)), departmentMembers), pageable, memberId), studylogsResponse( - filterStudylogsByDepartmets(allPopularStudylogs, new Departments(DepartmetsBygroupType.get(Part.ANDROID)), groupedMembers), + filterStudylogsByDepartmets(allPopularStudylogs, new Departments(departmentsByPart.get(Part.ANDROID)), departmentMembers), pageable, memberId)); } diff --git a/backend/src/test/java/wooteco/prolog/session/application/SessionMemberServiceTest.java b/backend/src/test/java/wooteco/prolog/session/application/SessionMemberServiceTest.java index 5327feb44..f5df8da38 100644 --- a/backend/src/test/java/wooteco/prolog/session/application/SessionMemberServiceTest.java +++ b/backend/src/test/java/wooteco/prolog/session/application/SessionMemberServiceTest.java @@ -24,7 +24,7 @@ import wooteco.prolog.member.application.MemberService; import wooteco.prolog.member.application.dto.MemberResponse; import wooteco.prolog.member.domain.Member; -import wooteco.prolog.session.application.dto.SessionGroupMemberRequest; +import wooteco.prolog.session.application.dto.SessionDepartmentMemberRequest; import wooteco.prolog.session.domain.SessionMember; import wooteco.prolog.session.domain.repository.SessionMemberRepository; import wooteco.prolog.session.domain.repository.SessionRepository; @@ -82,14 +82,14 @@ void registerMemberFail() { @Test void registerMembersByGroupId() { // given - final SessionGroupMemberRequest request = new SessionGroupMemberRequest(1L); + final SessionDepartmentMemberRequest request = new SessionDepartmentMemberRequest(1L); // when sessionMemberService.registerMembersByGroupId(1L, request); // then verify(sessionMemberRepository, atMostOnce()).findAllBySessionId(1L); - verify(departmentMemberService, atMostOnce()).findDepartmentMemberByDepartmentId(request.getGroupId()); + verify(departmentMemberService, atMostOnce()).findDepartmentMemberByDepartmentId(request.getDepartmentId()); verify(sessionMemberRepository, atMostOnce()).saveAll(null); }