Skip to content

Commit

Permalink
feat: 페이지네이션 비지니스 로직 구현
Browse files Browse the repository at this point in the history
  • Loading branch information
pl0901 committed Oct 31, 2023
1 parent 717d71f commit cf6c63f
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ public class LearningMaterialResponse {
private String mediaFileType;
private LocalDateTime createdDateTime;
private LocalDateTime modifiedDateTime;
private String script;
private String summary;
private List<QuestionInformation> questionInformations;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
package com.teamh.khumon.service;


import com.amazonaws.services.s3.AmazonS3Client;
import com.teamh.khumon.domain.LearningMaterial;
import com.teamh.khumon.domain.MediaFileType;
import com.teamh.khumon.domain.Member;
import com.teamh.khumon.domain.Question;
import com.teamh.khumon.dto.AIResponse;
import com.teamh.khumon.dto.LearningMaterialResponse;
import com.teamh.khumon.dto.LearningRequest;
import com.teamh.khumon.dto.QuestionInformation;
import com.teamh.khumon.dto.*;
import com.teamh.khumon.repository.LearningMaterialRepository;
import com.teamh.khumon.repository.MemberRepository;
import com.teamh.khumon.util.AmazonS3Util;
Expand All @@ -18,19 +14,18 @@
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.security.Principal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

@Service
@Slf4j
Expand Down Expand Up @@ -125,4 +120,29 @@ public ResponseEntity<?> getLearningMaterial(Long id, Principal principal) {
}


public ResponseEntity<?> getLearningMaterials(Principal principal, Pageable pageable, String search) {
Member member = memberRepository.findByUsername(principal.getName()).orElseThrow();
Page<LearningMaterial> learningMaterials = learningMaterialRepository.findByMemberIdAndTitleContainingOrContentContaining(member.getId(), search, search, pageable);
List<LearningMaterialContent> learningMaterialContents = learningMaterials.getContent().stream().map(learningMaterial -> LearningMaterialContent.builder()
.title(learningMaterial.getTitle())
.content(learningMaterial.getContent())
.createAt(learningMaterial.getCreatedAt())
.modifiedAt(learningMaterial.getUpdateAt())
.build()).toList();

OffsetPagination offsetPagination = OffsetPagination.builder()
.content(learningMaterialContents)
.isEmpty(learningMaterials.isEmpty())
.isFirst(learningMaterials.isFirst())
.isLast(learningMaterials.isLast())
.numberOfElements(learningMaterials.getNumberOfElements())
.pageNumber(learningMaterials.getNumber())
.size(learningMaterials.getSize())
.totalElements(learningMaterials.getTotalElements())
.totalPages(learningMaterials.getTotalPages())
.build();


return new ResponseEntity<OffsetPagination>(offsetPagination, HttpStatus.OK);
}
}

0 comments on commit cf6c63f

Please sign in to comment.