diff --git a/src/main/java/umc/meme/shop/domain/model/service/ModelService.java b/src/main/java/umc/meme/shop/domain/model/service/ModelService.java index b2403ba..057ce15 100644 --- a/src/main/java/umc/meme/shop/domain/model/service/ModelService.java +++ b/src/main/java/umc/meme/shop/domain/model/service/ModelService.java @@ -214,17 +214,13 @@ public List recommendRecent(){ //검색하기 정렬 기준 설정 private Pageable setPageRequest(int page, String sortBy){ - Sort sort; - if(sortBy.equals("desc")) - sort = Sort.by("price").descending(); - else if(sortBy.equals("asc")) - sort = Sort.by("price").ascending(); - else if(sortBy.equals("review")) - sort = Sort.by("averageStars").descending(); - else if(sortBy.equals("recent")) - sort = Sort.by("createdAt").descending(); - else - throw new GlobalException(ErrorStatus.INVALID_SORT_CRITERIA); + Sort sort = switch (sortBy) { + case "desc" -> Sort.by("price").descending(); + case "asc" -> Sort.by("price").ascending(); + case "review" -> Sort.by("averageStars").descending(); + case "recent" -> Sort.by("createdAt").descending(); + default -> throw new GlobalException(ErrorStatus.INVALID_SORT_CRITERIA); + }; //별점 높은 순 정렬 추가 Sort finalSort = sort.and(Sort.by("averageStars").descending()); diff --git a/src/main/java/umc/meme/shop/domain/mypage/dto/response/MypageInquiryResponseDto.java b/src/main/java/umc/meme/shop/domain/mypage/dto/response/MypageInquiryResponseDto.java index 9d24a8f..8dfb796 100644 --- a/src/main/java/umc/meme/shop/domain/mypage/dto/response/MypageInquiryResponseDto.java +++ b/src/main/java/umc/meme/shop/domain/mypage/dto/response/MypageInquiryResponseDto.java @@ -5,9 +5,6 @@ import lombok.Data; import lombok.NoArgsConstructor; import umc.meme.shop.domain.mypage.entity.Inquiry; -import umc.meme.shop.domain.user.User; - -import java.util.List; @Data @Builder diff --git a/src/main/java/umc/meme/shop/domain/portfolio/controller/PortfolioController.java b/src/main/java/umc/meme/shop/domain/portfolio/controller/PortfolioController.java index 2a8aaa7..54414f2 100644 --- a/src/main/java/umc/meme/shop/domain/portfolio/controller/PortfolioController.java +++ b/src/main/java/umc/meme/shop/domain/portfolio/controller/PortfolioController.java @@ -2,6 +2,9 @@ import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.web.PageableDefault; import org.springframework.web.bind.annotation.*; import umc.meme.shop.domain.portfolio.dto.request.CreatePortfolioDto; import umc.meme.shop.domain.portfolio.dto.request.UpdatePortfolioDto; @@ -25,7 +28,7 @@ public ApiResponse createPortfolio(@RequestBody CreatePortfolioDto portfolioDto) @Operation(summary = "포트폴리오 전체 조회", description = "포트폴리오 전체를 조회하는 API입니다.") @GetMapping("/{artistId}") public ApiResponse getPortfolio(@PathVariable Long artistId, - @RequestParam(value = "page", defaultValue = "0", required = false) int page + @PageableDefault(size = 30, sort = "id", direction = Sort.Direction.ASC) Pageable page ){ return ApiResponse.SuccessResponse(SuccessStatus.PORTFOLIO_GET, portfolioService.getPortfolio(artistId, page)); } diff --git a/src/main/java/umc/meme/shop/domain/portfolio/repository/PortfolioRepository.java b/src/main/java/umc/meme/shop/domain/portfolio/repository/PortfolioRepository.java index 6a387c7..76163fc 100644 --- a/src/main/java/umc/meme/shop/domain/portfolio/repository/PortfolioRepository.java +++ b/src/main/java/umc/meme/shop/domain/portfolio/repository/PortfolioRepository.java @@ -29,4 +29,5 @@ public interface PortfolioRepository extends JpaRepository { Page findAllNotBlocked(Pageable pageable); boolean existsByMakeupName(String makeupName); + } diff --git a/src/main/java/umc/meme/shop/domain/portfolio/service/PortfolioService.java b/src/main/java/umc/meme/shop/domain/portfolio/service/PortfolioService.java index befa7de..87ce244 100644 --- a/src/main/java/umc/meme/shop/domain/portfolio/service/PortfolioService.java +++ b/src/main/java/umc/meme/shop/domain/portfolio/service/PortfolioService.java @@ -61,7 +61,7 @@ public void createPortfolio(CreatePortfolioDto portfolioDto) { // 포트폴리오 전체 조회 @Transactional - public PortfolioPageDto getPortfolio(Long artistId, int page) { + public PortfolioPageDto getPortfolio(Long artistId, Pageable page) { Artist artist = artistRepository.findById(artistId) .orElseThrow(() -> new GlobalException(ErrorStatus.NOT_EXIST_ARTIST)); @@ -71,7 +71,7 @@ public PortfolioPageDto getPortfolio(Long artistId, int page) { portfolioList.removeIf(Portfolio::isBlock); //list를 page로 변환 - Page portfolioPage = getPage(page, portfolioList); + Page portfolioPage = portfolioRepository.findByArtist(artist, page); return PortfolioPageDto.from(portfolioPage); } @@ -127,16 +127,4 @@ public void updatePortfolio(UpdatePortfolioDto request) { portfolio.updatePortfolio(request); } - //TODO: change List -> Page - private Page getPage(int page, List list){ - Pageable pageable = PageRequest.of(page, 30); - - int start = (int) pageable.getOffset(); - int end = Math.min((start + pageable.getPageSize()), list.size()); - - //list를 page로 변환 - return new PageImpl<>(list.subList(start, end), - pageable, list.size()); - } - }