From e8c2636479fd84d2c8fdc4d292a310b8d0039d50 Mon Sep 17 00:00:00 2001 From: JongKyeong Kim Date: Wed, 4 Sep 2024 13:47:20 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=8B=89=EB=84=A4=EC=9E=84=20=EC=A4=91?= =?UTF-8?q?=EB=B3=B5=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/repository/MiniGameRepository.java | 4 +++- .../server/service/MiniGameService.java | 22 +++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/server/src/main/java/com/example/server/repository/MiniGameRepository.java b/server/src/main/java/com/example/server/repository/MiniGameRepository.java index fd5dba6..90924cd 100644 --- a/server/src/main/java/com/example/server/repository/MiniGameRepository.java +++ b/server/src/main/java/com/example/server/repository/MiniGameRepository.java @@ -4,7 +4,9 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.util.Optional; + @Repository public interface MiniGameRepository extends JpaRepository { - + Optional findByNickname(String nickname); } diff --git a/server/src/main/java/com/example/server/service/MiniGameService.java b/server/src/main/java/com/example/server/service/MiniGameService.java index 94e8fd1..d11b375 100644 --- a/server/src/main/java/com/example/server/service/MiniGameService.java +++ b/server/src/main/java/com/example/server/service/MiniGameService.java @@ -12,20 +12,34 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.Optional; +@Transactional @AllArgsConstructor @Service public class MiniGameService { private final MiniGameRepository miniGameRepository; public String postRanking(MiniGameRankingRequest miniGameRankingRequest){ - MiniGameRanking miniGameRanking = new MiniGameRanking(); - miniGameRanking.setNickname(miniGameRankingRequest.getNickname()); - miniGameRanking.setStage(miniGameRankingRequest.getStage()); - miniGameRepository.save(miniGameRanking); + Optional miniGameRankingOptional = miniGameRepository.findByNickname(miniGameRankingRequest.getNickname()); + if(miniGameRankingOptional.isPresent()){ + MiniGameRanking miniGameRanking = miniGameRankingOptional.get(); + if(miniGameRanking.getStage() < miniGameRankingRequest.getStage()){ + miniGameRanking.setStage(miniGameRankingRequest.getStage()); + miniGameRepository.save(miniGameRanking); + } + } + else{ + MiniGameRanking miniGameRanking = new MiniGameRanking(); + miniGameRanking.setNickname(miniGameRankingRequest.getNickname()); + miniGameRanking.setStage(miniGameRankingRequest.getStage()); + miniGameRepository.save(miniGameRanking); + } + return "success post ranking"; }