From adf22fabe033021752cdb19acacb25fa553016dd Mon Sep 17 00:00:00 2001 From: jimmy0006 Date: Mon, 5 Aug 2024 14:23:26 +0900 Subject: [PATCH] =?UTF-8?q?fix:=EB=B1=83=EC=A7=80=EB=A5=BC=20=EB=B0=9B?= =?UTF-8?q?=EC=9D=80=20=EC=A0=81=EC=9D=B4=20=EC=97=86=EB=8A=94=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=EC=97=90=EB=A7=8C=20=EB=B1=83=EC=A7=80=20=EB=B6=80?= =?UTF-8?q?=EC=97=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../poolc/api/badge/service/BadgeService.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/poolc/api/badge/service/BadgeService.java b/src/main/java/org/poolc/api/badge/service/BadgeService.java index 9e276be0..8ee8a03f 100644 --- a/src/main/java/org/poolc/api/badge/service/BadgeService.java +++ b/src/main/java/org/poolc/api/badge/service/BadgeService.java @@ -138,16 +138,18 @@ public Badge getBadgeByBadgeId(Long badgeId){ return badgeRepository.findBadgeById(badgeId).get(); } - //뱃지가 존재하는 경우에만 지급함. + //뱃지가 존재하고, 해당 뱃지를 받은 적이 없을 경우에만 지급함 public void badgeGiver(Member member, Long badgeId){ if(duplicateBadgeLogCheck(badgeId, member)&&badgeRepository.findBadgeById(badgeId).isPresent()){ - Badge badge = getBadgeByBadgeId(badgeId); - badgeLogRepository.save(BadgeLog.builder() - .member(member) - .date(LocalDate.now()) - .badge(badge) - .build()); - notificationService.createBadgeNotification(member); + if(badgeLogRepository.findBadgeLogByUUID(member.getUUID(),badgeId).isEmpty()) { + Badge badge = getBadgeByBadgeId(badgeId); + badgeLogRepository.save(BadgeLog.builder() + .member(member) + .date(LocalDate.now()) + .badge(badge) + .build()); + notificationService.createBadgeNotification(member); + } } } }