From c021cffb30ba6e29b31e18d48a0cdf8d015bdd7c Mon Sep 17 00:00:00 2001 From: JIN-076 <57834671+JIN-076@users.noreply.github.com> Date: Fri, 22 Mar 2024 16:55:19 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[FEAT]=20=EC=82=AC=EC=9A=A9=EC=9E=90?= =?UTF-8?q?=EC=9D=98=20=EC=97=85=EC=A0=81=20=EB=8B=AC=EC=84=B1=20=EC=97=AC?= =?UTF-8?q?=EB=B6=80=20=EA=B2=80=EC=A2=85=20=EB=A9=94=EC=84=9C=EB=93=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20(#323)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/event/handler/AchievementEventHandler.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/java/io/oeid/mogakgo/common/event/handler/AchievementEventHandler.java b/src/main/java/io/oeid/mogakgo/common/event/handler/AchievementEventHandler.java index 70d31f3a..b0ae6380 100644 --- a/src/main/java/io/oeid/mogakgo/common/event/handler/AchievementEventHandler.java +++ b/src/main/java/io/oeid/mogakgo/common/event/handler/AchievementEventHandler.java @@ -65,7 +65,8 @@ public void executeActivity(final UserActivityEvent event) { .build()); Achievement achievement = getById(event.getAchievementId()); - if (!isPossibleToAchieve(achievement, event.getProgressCount())) { + if (achievement.getRequirementValue().equals(event.getProgressCount()) + || achievement.getProgressLevel().equals(1)) { log.info("call socket for event {} in progress", event.getAchievementId()); @@ -254,11 +255,6 @@ public void recoverForSequencedUpdateEvent(EventListenerProcessingException e, throw new AchievementException(EVENT_LISTENER_REQUEST_FAILED); } - private boolean isPossibleToAchieve(Achievement achievement, Integer progressCount) { - return achievement.getRequirementValue().equals(progressCount) - || achievement.getProgressLevel().equals(1); - } - public Achievement getById(Long achievementId) { return achievementRepository.findById(achievementId) .orElseThrow(() -> new AchievementException(ACHIEVEMENT_NOT_FOUND)); From dab286c7c0e876988538435f6f518f9799e535b5 Mon Sep 17 00:00:00 2001 From: JIN-076 <57834671+JIN-076@users.noreply.github.com> Date: Fri, 22 Mar 2024 17:15:05 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[REFACT]=20=EC=97=85=EC=A0=81=20=EC=9D=B4?= =?UTF-8?q?=EB=A0=A5=20=EB=A9=94=EC=8B=9C=EC=A7=80=20=EC=A0=84=EC=86=A1?= =?UTF-8?q?=EC=9D=84=20=EC=9C=84=ED=95=9C=20=EA=B2=80=EC=A6=9D=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95=20(#326)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/event/handler/AchievementEventHandler.java | 9 +++++++-- .../infrastructure/AchievementJpaRepository.java | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/oeid/mogakgo/common/event/handler/AchievementEventHandler.java b/src/main/java/io/oeid/mogakgo/common/event/handler/AchievementEventHandler.java index b0ae6380..0074d4fc 100644 --- a/src/main/java/io/oeid/mogakgo/common/event/handler/AchievementEventHandler.java +++ b/src/main/java/io/oeid/mogakgo/common/event/handler/AchievementEventHandler.java @@ -15,6 +15,7 @@ import io.oeid.mogakgo.domain.achievement.domain.entity.AchievementMessage; import io.oeid.mogakgo.domain.achievement.domain.entity.UserAchievement; import io.oeid.mogakgo.domain.achievement.domain.entity.UserActivity; +import io.oeid.mogakgo.domain.achievement.domain.entity.enums.ActivityType; import io.oeid.mogakgo.domain.achievement.exception.AchievementException; import io.oeid.mogakgo.domain.achievement.exception.UserAchievementException; import io.oeid.mogakgo.domain.achievement.infrastructure.AchievementJpaRepository; @@ -65,8 +66,8 @@ public void executeActivity(final UserActivityEvent event) { .build()); Achievement achievement = getById(event.getAchievementId()); - if (achievement.getRequirementValue().equals(event.getProgressCount()) - || achievement.getProgressLevel().equals(1)) { + if (!achievement.getRequirementValue().equals(event.getProgressCount()) + || !getProgressLevelSize(event.getActivityType()).equals(1)) { log.info("call socket for event {} in progress", event.getAchievementId()); @@ -260,6 +261,10 @@ public Achievement getById(Long achievementId) { .orElseThrow(() -> new AchievementException(ACHIEVEMENT_NOT_FOUND)); } + public Integer getProgressLevelSize(ActivityType activityType) { + return achievementRepository.findByActivityType(activityType).size(); + } + public UserAchievement getByUserAndAchievementId(final AchievementEvent event) { return userAchievementRepository .findByUserAndAchievementId(event.getUserId(), event.getAchievementId()) diff --git a/src/main/java/io/oeid/mogakgo/domain/achievement/infrastructure/AchievementJpaRepository.java b/src/main/java/io/oeid/mogakgo/domain/achievement/infrastructure/AchievementJpaRepository.java index 9efc3b1f..4c7f62f3 100644 --- a/src/main/java/io/oeid/mogakgo/domain/achievement/infrastructure/AchievementJpaRepository.java +++ b/src/main/java/io/oeid/mogakgo/domain/achievement/infrastructure/AchievementJpaRepository.java @@ -15,6 +15,10 @@ public interface AchievementJpaRepository extends JpaRepository findById(Long id); + @Query("select ac from Achievement ac where ac.activityType = :activityType") + List findByActivityType(ActivityType activityType); + + @Query(""" select ac.activityType from Achievement ac join UserAchievement ua on ac.id = ua.achievement.id and ua.user.id = :userId