From 5d3a19ae6fe202d50dfa608712cd0fde46f154c3 Mon Sep 17 00:00:00 2001 From: dl-00-e8 Date: Sun, 19 May 2024 23:55:32 +0900 Subject: [PATCH] =?UTF-8?q?[#128]=20fix:=20=EB=82=B4=EA=B0=80=20=EC=B0=B8?= =?UTF-8?q?=EC=97=AC=ED=95=9C=20=ED=8C=80=20=EC=A1=B0=ED=9A=8C=20API=20?= =?UTF-8?q?=EB=B9=84=EC=A6=88=EB=8B=88=EC=8A=A4=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/apply/dto/ParticipationList.java | 15 +++++++++++---- .../apply/repository/ApplyRepository.java | 2 +- .../domain/apply/service/ApplyService.java | 19 ++++++++++++------- .../post/repository/PostRepository.java | 2 ++ 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/gongjakso/server/domain/apply/dto/ParticipationList.java b/src/main/java/com/gongjakso/server/domain/apply/dto/ParticipationList.java index 1c3e3b7b..edd215a9 100644 --- a/src/main/java/com/gongjakso/server/domain/apply/dto/ParticipationList.java +++ b/src/main/java/com/gongjakso/server/domain/apply/dto/ParticipationList.java @@ -1,21 +1,28 @@ package com.gongjakso.server.domain.apply.dto; import com.gongjakso.server.domain.post.entity.Post; -import com.gongjakso.server.domain.post.enumerate.CategoryType; import com.gongjakso.server.domain.post.enumerate.PostStatus; +import lombok.Builder; import java.time.LocalDateTime; +@Builder public record ParticipationList( String title, - CategoryType recruit_part, String leaderName, LocalDateTime startDate, LocalDateTime finishDate, PostStatus postStatus, Boolean postType ) { - public static ParticipationList of(Post post,CategoryType recruit_part) { - return new ParticipationList(post.getTitle(), recruit_part,post.getMember().getName(),post.getStartDate(),post.getFinishDate(),post.getStatus(), post.isPostType()); + public static ParticipationList of(Post post) { + return ParticipationList.builder() + .title(post.getTitle()) + .leaderName(post.getMember().getName()) + .startDate(post.getStartDate()) + .finishDate(post.getFinishDate()) + .postStatus(post.getStatus()) + .postType(post.isPostType()) + .build(); } } diff --git a/src/main/java/com/gongjakso/server/domain/apply/repository/ApplyRepository.java b/src/main/java/com/gongjakso/server/domain/apply/repository/ApplyRepository.java index c787632c..40bf1299 100644 --- a/src/main/java/com/gongjakso/server/domain/apply/repository/ApplyRepository.java +++ b/src/main/java/com/gongjakso/server/domain/apply/repository/ApplyRepository.java @@ -21,7 +21,7 @@ public interface ApplyRepository extends JpaRepository { Page findAllByPost(Post post, Pageable pageable); - Page findApplyByApplyTypeAndMemberAndIsCanceledFalse(ApplyType applyType, Member member, Pageable pageable); + List findApplyByApplyTypeAndMemberAndIsCanceledFalse(ApplyType applyType, Member member); List findAllByMemberAndDeletedAtIsNullOrderByCreatedAtDesc(Member member); diff --git a/src/main/java/com/gongjakso/server/domain/apply/service/ApplyService.java b/src/main/java/com/gongjakso/server/domain/apply/service/ApplyService.java index 41fd70bd..7b158016 100644 --- a/src/main/java/com/gongjakso/server/domain/apply/service/ApplyService.java +++ b/src/main/java/com/gongjakso/server/domain/apply/service/ApplyService.java @@ -180,16 +180,21 @@ public ApplyPageRes applyListPage(Member member, long postId, int page, int size return ApplyPageRes.of(applyLists, pageNo, size, totalPages, last); } - public ParticipationPageRes myParticipationPostListPage(Member member,int page, int size) { + public ParticipationPageRes myParticipationPostListPage(Member member, int page, int size) { Pageable pageable = PageRequest.of(page, size, Sort.by("createdAt").descending()); - Page participationPage = applyRepository.findApplyByApplyTypeAndMemberAndIsCanceledFalse(ApplyType.PASS,member,pageable); - List participationLists = participationPage.getContent().stream() + List applyList = applyRepository.findApplyByApplyTypeAndMemberAndIsCanceledFalse(ApplyType.PASS,member); + List postIdList = applyList.stream() .filter(apply -> apply.getPost().getStatus().equals(PostStatus.ACTIVE) || apply.getPost().getStatus().equals(PostStatus.COMPLETE)) - .map(apply -> ParticipationList.of(apply.getPost(), CategoryType.valueOf(apply.getRecruit_part()))) + .map(Apply::getApplyId) + .toList(); + Page postPage = postRepository.findAllByPostIdInOrMember(postIdList, member, pageable); + List participationLists = postPage.getContent().stream() + .filter(post -> post.getDeletedAt() == null) + .map(ParticipationList::of) .collect(Collectors.toList()); - int pageNo = participationPage.getNumber(); - int totalPages = participationPage.getTotalPages(); - boolean last = participationPage.isLast(); + int pageNo = postPage.getNumber(); + int totalPages = postPage.getTotalPages(); + boolean last = postPage.isLast(); return ParticipationPageRes.of(participationLists, pageNo, size, totalPages, last); } diff --git a/src/main/java/com/gongjakso/server/domain/post/repository/PostRepository.java b/src/main/java/com/gongjakso/server/domain/post/repository/PostRepository.java index 9dcdfadf..7d11b8d2 100644 --- a/src/main/java/com/gongjakso/server/domain/post/repository/PostRepository.java +++ b/src/main/java/com/gongjakso/server/domain/post/repository/PostRepository.java @@ -131,4 +131,6 @@ public interface PostRepository extends JpaRepository { (@Param("searchWord") String searchWord, @Param("currentTimestamp") LocalDateTime currentTimestamp, @Param("status") PostStatus status, @Param("meetingCity") String meetingCity, @Param("meetingTown") String meetingTown, @Param("stackNameType") String stackNameType,Pageable pageable); List findAllByMemberAndStatusAndDeletedAtIsNullOrderByCreatedAtDesc(Member member, PostStatus status); + + Page findAllByPostIdInOrMember(List postIdList, Member member, Pageable pageable); }