diff --git a/src/main/java/com/back/domain/cocktail/service/CocktailService.java b/src/main/java/com/back/domain/cocktail/service/CocktailService.java index d64b6a2..82b8039 100644 --- a/src/main/java/com/back/domain/cocktail/service/CocktailService.java +++ b/src/main/java/com/back/domain/cocktail/service/CocktailService.java @@ -43,21 +43,23 @@ public List getCocktails(Long lastValue, Long lastId Pageable pageable = PageRequest.of(0, fetchSize); List cocktails; + Long cursor = (lastValue != null) ? lastValue : lastId; + switch (sortBy != null ? sortBy.toLowerCase() : "") { case "keeps": - cocktails = (lastValue == null) + cocktails = (cursor == null) ? cocktailRepository.findAllOrderByKeepCountDesc(pageable) - : cocktailRepository.findByKeepCountLessThanOrderByKeepCountDesc(lastValue, lastId, pageable); + : cocktailRepository.findByKeepCountLessThanOrderByKeepCountDesc(cursor, lastId, pageable); break; case "comments": - cocktails = (lastValue == null) + cocktails = (cursor == null) ? cocktailRepository.findAllOrderByCommentsCountDesc(pageable) - : cocktailRepository.findByCommentsCountLessThanOrderByCommentsCountDesc(lastValue, lastId, pageable); + : cocktailRepository.findByCommentsCountLessThanOrderByCommentsCountDesc(cursor, lastId, pageable); break; default: - cocktails = (lastValue == null) + cocktails = (cursor == null) ? cocktailRepository.findAllByOrderByIdDesc(pageable) - : cocktailRepository.findByIdLessThanOrderByIdDesc(lastValue, pageable); + : cocktailRepository.findByIdLessThanOrderByIdDesc(cursor, pageable); break; }