Skip to content

Commit 4890f7e

Browse files
committed
fix[post]:fix paged totalelements
1 parent 22f41c9 commit 4890f7e

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

backend/src/main/java/com/ai/lawyer/domain/post/service/PostServiceImpl.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -266,20 +266,26 @@ public Page<PostDto> getPostsPaged(Pageable pageable, Long memberId) {
266266

267267
@Override
268268
public Page<PostDto> getOngoingPostsPaged(Pageable pageable, Long memberId) {
269-
Page<PostDto> allPosts = postRepository.findAll(pageable).map(post -> convertToDto(post, memberId));
270-
List<PostDto> ongoing = allPosts.stream()
271-
.filter(dto -> dto.getPoll() != null && dto.getPoll().getStatus() == PollDto.PollStatus.ONGOING)
272-
.collect(Collectors.toList());
273-
return new PageImpl<>(ongoing, pageable, ongoing.size());
269+
List<Post> posts = postRepository.findAll().stream()
270+
.filter(p -> p.getPoll() != null && p.getPoll().getStatus() == com.ai.lawyer.domain.poll.entity.Poll.PollStatus.ONGOING)
271+
.toList();
272+
List<PostDto> postDtos = posts.stream().map(p -> convertToDto(p, memberId)).toList();
273+
int start = (int) pageable.getOffset();
274+
int end = Math.min((start + pageable.getPageSize()), postDtos.size());
275+
List<PostDto> paged = start < end ? postDtos.subList(start, end) : List.of();
276+
return new PageImpl<>(paged, pageable, postDtos.size());
274277
}
275278

276279
@Override
277280
public Page<PostDto> getClosedPostsPaged(Pageable pageable, Long memberId) {
278-
Page<PostDto> allPosts = postRepository.findAll(pageable).map(post -> convertToDto(post, memberId));
279-
List<PostDto> closed = allPosts.stream()
280-
.filter(dto -> dto.getPoll() != null && dto.getPoll().getStatus() == PollDto.PollStatus.CLOSED)
281-
.collect(Collectors.toList());
282-
return new PageImpl<>(closed, pageable, closed.size());
281+
List<Post> posts = postRepository.findAll().stream()
282+
.filter(p -> p.getPoll() != null && p.getPoll().getStatus() == com.ai.lawyer.domain.poll.entity.Poll.PollStatus.CLOSED)
283+
.toList();
284+
List<PostDto> postDtos = posts.stream().map(p -> convertToDto(p, memberId)).toList();
285+
int start = (int) pageable.getOffset();
286+
int end = Math.min((start + pageable.getPageSize()), postDtos.size());
287+
List<PostDto> paged = start < end ? postDtos.subList(start, end) : List.of();
288+
return new PageImpl<>(paged, pageable, postDtos.size());
283289
}
284290

285291
@Override
@@ -336,7 +342,7 @@ private Page<PostDto> getMyVotedPostsPagedByStatus(Pageable pageable, Long membe
336342
int start = (int) pageable.getOffset();
337343
int end = Math.min((start + pageable.getPageSize()), postDtos.size());
338344
List<PostDto> paged = start < end ? postDtos.subList(start, end) : List.of();
339-
return new org.springframework.data.domain.PageImpl<>(paged, pageable, postDtos.size());
345+
return new PageImpl<>(paged, pageable, postDtos.size());
340346
}
341347

342348
@Override

0 commit comments

Comments
 (0)