From 3e712b9e919788bfa1de5127085fa0af2dd1d827 Mon Sep 17 00:00:00 2001 From: ugpec79 Date: Wed, 13 Sep 2023 00:48:50 +0530 Subject: [PATCH 1/3] Leaderboard functionality --- .../java/com/pecacm/backend/controllers/UserController.java | 4 ++-- .../java/com/pecacm/backend/repository/UserRepository.java | 4 ++-- src/main/java/com/pecacm/backend/services/UserService.java | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/pecacm/backend/controllers/UserController.java b/src/main/java/com/pecacm/backend/controllers/UserController.java index 0e267d9..465f2c7 100644 --- a/src/main/java/com/pecacm/backend/controllers/UserController.java +++ b/src/main/java/com/pecacm/backend/controllers/UserController.java @@ -110,7 +110,7 @@ public ResponseEntity getRank(@RequestParam @NonNull Integer score) { } @GetMapping("/leaderboard") - public ResponseEntity> getLeaderboard() { - return ResponseEntity.ok(userService.getLeaderboard()); + public ResponseEntity> getLeaderboard(@RequestParam @NonNull Integer pageSize,@RequestParam @NonNull Integer pageNum ) { + return ResponseEntity.ok(userService.getLeaderboard(pageSize,pageNum)); } } diff --git a/src/main/java/com/pecacm/backend/repository/UserRepository.java b/src/main/java/com/pecacm/backend/repository/UserRepository.java index bbe5abd..a9219b6 100644 --- a/src/main/java/com/pecacm/backend/repository/UserRepository.java +++ b/src/main/java/com/pecacm/backend/repository/UserRepository.java @@ -32,8 +32,8 @@ public interface UserRepository extends JpaRepository { Long countByXpGreaterThan(Integer xp); - @Query("SELECT u FROM User u ORDER BY u.xp DESC LIMIT 5") - List findAllByByOrderByXpDesc(); + @Query("SELECT u FROM User u ORDER BY u.xp DESC LIMIT :pageSize OFFSET :offSetsize") + List findAllByByOrderByXpDesc(Integer pageSize, Integer offSetSize); } diff --git a/src/main/java/com/pecacm/backend/services/UserService.java b/src/main/java/com/pecacm/backend/services/UserService.java index 83268d5..dc57bcb 100644 --- a/src/main/java/com/pecacm/backend/services/UserService.java +++ b/src/main/java/com/pecacm/backend/services/UserService.java @@ -110,7 +110,8 @@ public Long getRank(Integer score) { return userRepository.countByXpGreaterThan(score) + 1; } - public List getLeaderboard() { - return userRepository.findAllByByOrderByXpDesc(); + public List getLeaderboard(Integer pageSize, Integer pageNum) { + Integer offSetSize=(pageNum-1)*pageSize; + return userRepository.findAllByByOrderByXpDesc(pageSize,offSetSize); } } From b00ee75176fed3875dd053af022eb3baab722d37 Mon Sep 17 00:00:00 2001 From: ugpec79 Date: Fri, 6 Oct 2023 23:29:00 +0530 Subject: [PATCH 2/3] Test1 --- .../java/com/pecacm/backend/repository/UserRepository.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/pecacm/backend/repository/UserRepository.java b/src/main/java/com/pecacm/backend/repository/UserRepository.java index a9219b6..3708609 100644 --- a/src/main/java/com/pecacm/backend/repository/UserRepository.java +++ b/src/main/java/com/pecacm/backend/repository/UserRepository.java @@ -5,6 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.util.Collection; @@ -32,8 +33,8 @@ public interface UserRepository extends JpaRepository { Long countByXpGreaterThan(Integer xp); - @Query("SELECT u FROM User u ORDER BY u.xp DESC LIMIT :pageSize OFFSET :offSetsize") - List findAllByByOrderByXpDesc(Integer pageSize, Integer offSetSize); + @Query("SELECT u FROM User u ORDER BY u.xp DESC LIMIT :pageSize OFFSET :offSetSize") + List findAllByOrderByXpDesc(Integer pageSize, Integer offSetSize); } From 467b21c570b286ea97ff3fe0cc0e03371edc7ae7 Mon Sep 17 00:00:00 2001 From: ugpec79 Date: Fri, 6 Oct 2023 23:31:54 +0530 Subject: [PATCH 3/3] Test1 --- src/main/java/com/pecacm/backend/services/UserService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/pecacm/backend/services/UserService.java b/src/main/java/com/pecacm/backend/services/UserService.java index dc57bcb..eca2464 100644 --- a/src/main/java/com/pecacm/backend/services/UserService.java +++ b/src/main/java/com/pecacm/backend/services/UserService.java @@ -112,6 +112,6 @@ public Long getRank(Integer score) { public List getLeaderboard(Integer pageSize, Integer pageNum) { Integer offSetSize=(pageNum-1)*pageSize; - return userRepository.findAllByByOrderByXpDesc(pageSize,offSetSize); + return userRepository.findAllByOrderByXpDesc(pageSize,offSetSize); } }