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 6c150ce9..c787632c 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,9 +21,9 @@ public interface ApplyRepository extends JpaRepository { Page findAllByPost(Post post, Pageable pageable); - Page findApplyByApplyTypeAndMember(ApplyType applyType, Member member, Pageable pageable); + Page findApplyByApplyTypeAndMemberAndIsCanceledFalse(ApplyType applyType, Member member, Pageable pageable); - List findAllByMemberAndDeletedAtIsNull(Member member); + List findAllByMemberAndDeletedAtIsNullOrderByCreatedAtDesc(Member member); Apply findApplyByMemberAndPost(Member member,Post post); 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 d3ca1da0..556d1ba5 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 @@ -182,9 +182,9 @@ public ApplyPageRes applyListPage(Member member, long postId, int page, int size public ParticipationPageRes myParticipationPostListPage(Member member,int page, int size) { Pageable pageable = PageRequest.of(page, size, Sort.by(Sort.Direction.DESC, "createdAt")); - Page participationPage = applyRepository.findApplyByApplyTypeAndMember(ApplyType.PASS,member,pageable); + Page participationPage = applyRepository.findApplyByApplyTypeAndMemberAndIsCanceledFalse(ApplyType.PASS,member,pageable); List participationLists = participationPage.getContent().stream() - .filter(apply -> apply.getPost().getStatus().equals(PostStatus.ACTIVE)) + .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()))) .collect(Collectors.toList()); int pageNo = participationPage.getNumber(); @@ -262,7 +262,7 @@ public List getMyApplyList(Member member) { // Validation // Business Logic - List applyList = applyRepository.findAllByMemberAndDeletedAtIsNull(member); + List applyList = applyRepository.findAllByMemberAndDeletedAtIsNullOrderByCreatedAtDesc(member); // Response diff --git a/src/main/java/com/gongjakso/server/domain/post/controller/PostController.java b/src/main/java/com/gongjakso/server/domain/post/controller/PostController.java index 273c9d78..cfc82321 100644 --- a/src/main/java/com/gongjakso/server/domain/post/controller/PostController.java +++ b/src/main/java/com/gongjakso/server/domain/post/controller/PostController.java @@ -1,5 +1,6 @@ package com.gongjakso.server.domain.post.controller; +import com.gongjakso.server.domain.apply.service.ApplyService; import com.gongjakso.server.domain.post.dto.*; import com.gongjakso.server.domain.post.service.PostService; import com.gongjakso.server.global.common.ApplicationResponse; diff --git a/src/main/java/com/gongjakso/server/domain/post/enumerate/PostStatus.java b/src/main/java/com/gongjakso/server/domain/post/enumerate/PostStatus.java index 26d479b7..fc20ec47 100644 --- a/src/main/java/com/gongjakso/server/domain/post/enumerate/PostStatus.java +++ b/src/main/java/com/gongjakso/server/domain/post/enumerate/PostStatus.java @@ -11,7 +11,7 @@ public enum PostStatus { CANCEL("모집 취소"), CLOSE("모집 마감"), ACTIVE("활동 중"), - COMPLETE("모집 완료"), + COMPLETE("활동 완료"), EXTENSION("모집 연장"); private final String status; 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 b225b9fd..9dcdfadf 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 @@ -130,5 +130,5 @@ public interface PostRepository extends JpaRepository { Page findAllPostsJoinedWithStackNamesByTitleContainsAndPostTypeTrueAndDeletedAtIsNullAndFinishDateAfterAndStatusAndMeetingCityContainsAndMeetingTownContainsAndStackNamesStackNameTypeContainsOrderByScrapCountDescPostIdDesc (@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 findAllByMemberAndStatusAndDeletedAtIsNull(Member member, PostStatus status); + List findAllByMemberAndStatusAndDeletedAtIsNullOrderByCreatedAtDesc(Member member, PostStatus status); } diff --git a/src/main/java/com/gongjakso/server/domain/post/service/PostService.java b/src/main/java/com/gongjakso/server/domain/post/service/PostService.java index 4b6bdc1f..301b5546 100644 --- a/src/main/java/com/gongjakso/server/domain/post/service/PostService.java +++ b/src/main/java/com/gongjakso/server/domain/post/service/PostService.java @@ -17,10 +17,7 @@ import com.gongjakso.server.global.security.PrincipalDetails; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageImpl; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.*; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -144,7 +141,7 @@ public PostDeleteRes delete(Member member, Long id) { */ @Transactional public Page getContests(String sort, Pageable page) throws ApplicationException { - Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize()); + Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize(), Sort.by(Sort.Order.desc("created_at"))); Page posts; if(sort.equals("createdAt")){ //최신순 posts = postRepository.findAllByPostTypeFalseAndDeletedAtIsNullAndFinishDateAfterAndStatusOrderByPostIdDesc(LocalDateTime.now(), RECRUITING, pageable); @@ -162,7 +159,7 @@ public Page getContests(String sort, Pageable page) throws Applic */ @Transactional public Page getContestsBySearchWord(String sort, String searchWord, Pageable page) throws ApplicationException { - Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize()); + Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize(), Sort.by(Sort.Order.desc("created_at"))); Page posts; if (sort.equals("createdAt")) { posts = postRepository.findAllByTitleContainsAndPostTypeFalseAndDeletedAtIsNullAndFinishDateAfterAndStatusOrderByPostIdDesc(searchWord.toLowerCase(), LocalDateTime.now(), RECRUITING, pageable); @@ -181,7 +178,7 @@ public Page getContestsBySearchWord(String sort, String searchWor @Transactional public Page getContestsByMeetingAreaAndCategoryAndSearchWord( String sort, String meetingCity, String meetingTown, String category, String searchWord, Pageable page) throws ApplicationException { - Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize()); + Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize(), Sort.by(Sort.Order.desc("created_at"))); if(meetingTown.equals("전체")){ meetingTown = ""; } @@ -216,7 +213,7 @@ public Page getContestsByMeetingAreaAndCategoryAndSearchWord( */ @Transactional public Page getProjects(String sort, Pageable page) throws ApplicationException { - Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize()); + Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize(), Sort.by(Sort.Order.desc("created_at"))); Page posts; if(sort.equals("createdAt")){ //최신순 posts = postRepository.findAllByPostTypeTrueAndDeletedAtIsNullAndFinishDateAfterAndStatusOrderByPostIdDesc(LocalDateTime.now(), RECRUITING, pageable); @@ -233,7 +230,7 @@ public Page getProjects(String sort, Pageable page) throws Applic */ @Transactional public Page getProjectsBySearchWord(String sort, String searchWord, Pageable page) throws ApplicationException { - Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize()); + Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize(), Sort.by(Sort.Order.desc("created_at"))); Page posts; if (sort.equals("createdAt")) { posts = postRepository.findAllByTitleContainsAndPostTypeTrueAndDeletedAtIsNullAndFinishDateAfterAndStatusOrderByPostIdDesc(searchWord.toLowerCase(), LocalDateTime.now(), RECRUITING, pageable); @@ -251,7 +248,7 @@ public Page getProjectsBySearchWord(String sort, String searchWor @Transactional public Page getProjectsByMeetingAreaAndStackNameAndSearchWord( String sort, String meetingCity, String meetingTown, String stackName, String searchWord, Pageable page) throws ApplicationException { - Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize()); + Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize(), Sort.by(Sort.Order.desc("created_at"))); if(meetingTown.equals("전체")){ meetingTown = ""; } @@ -338,7 +335,7 @@ public List getMyPostList(Member member) { // Validation // Business Logic - List postList = postRepository.findAllByMemberAndStatusAndDeletedAtIsNull(member, RECRUITING); + List postList = postRepository.findAllByMemberAndStatusAndDeletedAtIsNullOrderByCreatedAtDesc(member, RECRUITING); // Return return postList.stream() @@ -374,7 +371,7 @@ public GetPostRelation checkPostRelation(Member member, Long postId) { @Transactional public Page getMyScrapProject(Member member, Pageable page){ - Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize()); + Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize(), Sort.by(Sort.Order.desc("created_at"))); Page scrapPageList = postScrapRepository.findAllByMemberAndScrapStatusTrueOrderByPostScrapIdDesc(member, pageable); @@ -401,7 +398,7 @@ public Page getMyScrapProject(Member member, Pageable page){ @Transactional public Page getMyScrapContest(Member member, Pageable page){ - Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize()); + Pageable pageable = PageRequest.of(page.getPageNumber(), page.getPageSize(), Sort.by(Sort.Order.desc("created_at"))); Page scrapPageList = postScrapRepository.findAllByMemberAndScrapStatusTrueOrderByPostScrapIdDesc(member, pageable);