From 9ba7036f794a065d4f443bc4b8fcfdbd69bd011a Mon Sep 17 00:00:00 2001 From: Dom Eori <4j6dq2zi8@relay.firefox.com> Date: Sun, 11 Jul 2021 00:50:11 +0900 Subject: [PATCH] [maimai2] Fix incorrect scope during saving UserRating --- .../aqua/sega/maimai2/dao/userdata/UserRateRepository.java | 2 +- .../aqua/sega/maimai2/handler/impl/UpsertUserAllHandler.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserRateRepository.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserRateRepository.java index 5e60aacd..e3d4bba6 100644 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserRateRepository.java +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/dao/userdata/UserRateRepository.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Repository; @Repository("Maimai2UserRateRepository") public interface UserRateRepository extends JpaRepository { - Optional findByUserAndMusicId(UserDetail user, int musicId); + Optional findByUserAndMusicIdAndLevel(UserDetail user, int musicId, int level); List findByUser_Card_ExtId(long userId); diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/impl/UpsertUserAllHandler.java b/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/impl/UpsertUserAllHandler.java index 5300bcaf..9d7a2999 100644 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/impl/UpsertUserAllHandler.java +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/impl/UpsertUserAllHandler.java @@ -196,8 +196,9 @@ public class UpsertUserAllHandler implements BaseHandler { // UserRate for (UserRate newUserRate : userRateList) { int musicId = newUserRate.getMusicId(); + int musicLevel = newUserRate.getLevel(); - Optional rateOptional = userRateRepository.findByUserAndMusicId(newUserData, musicId); + Optional rateOptional = userRateRepository.findByUserAndMusicIdAndLevel(newUserData, musicId, musicLevel); UserRate userRate = rateOptional.orElseGet(() -> new UserRate(newUserData)); newUserRate.setId(userRate.getId());