From cea662f6f72d88143f3a3efff47ba9ad74365967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EA=B4=80=EA=B7=9C?= Date: Wed, 20 May 2026 20:23:51 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20onUserRegisterEvent=20=EB=B9=84?= =?UTF-8?q?=EC=A6=88=EB=8B=88=EC=8A=A4=20=EB=A1=9C=EC=A7=81=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eventlistener/NotificationEventListener.java | 4 +--- .../koin/domain/student/service/StudentService.java | 8 +++++--- .../koreatech/koin/domain/user/service/UserService.java | 8 +++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/in/koreatech/koin/domain/notification/eventlistener/NotificationEventListener.java b/src/main/java/in/koreatech/koin/domain/notification/eventlistener/NotificationEventListener.java index 889fb994d2..e6f286c689 100644 --- a/src/main/java/in/koreatech/koin/domain/notification/eventlistener/NotificationEventListener.java +++ b/src/main/java/in/koreatech/koin/domain/notification/eventlistener/NotificationEventListener.java @@ -18,8 +18,6 @@ public class NotificationEventListener { // TODO : 리팩터링 필요 (비즈 @TransactionalEventListener public void onUserRegisterEvent(UserMarketingAgreementEvent event) { - if (event.marketingNotificationAgreement()) { - notificationService.permitNotificationSubscribe(event.userId(), NotificationSubscribeType.MARKETING); - } + notificationService.permitNotificationSubscribe(event.userId(), NotificationSubscribeType.MARKETING); } } diff --git a/src/main/java/in/koreatech/koin/domain/student/service/StudentService.java b/src/main/java/in/koreatech/koin/domain/student/service/StudentService.java index c53bfce8a5..621136e595 100644 --- a/src/main/java/in/koreatech/koin/domain/student/service/StudentService.java +++ b/src/main/java/in/koreatech/koin/domain/student/service/StudentService.java @@ -310,9 +310,11 @@ public void studentRegisterV2(RegisterStudentRequestV2 request) { Student student = request.toStudent(passwordEncoder, department); studentRepository.save(student); userRepository.save(student.getUser()); - eventPublisher.publishEvent( - new UserMarketingAgreementEvent(student.getUser().getId(), request.marketingNotificationAgreement()) - ); + if (request.marketingNotificationAgreement()) { + eventPublisher.publishEvent( + new UserMarketingAgreementEvent(student.getUser().getId(), request.marketingNotificationAgreement()) + ); + } eventPublisher.publishEvent(new StudentRegisterEvent(student.getUser().getPhoneNumber())); userVerificationService.consumeVerification(request.phoneNumber()); } diff --git a/src/main/java/in/koreatech/koin/domain/user/service/UserService.java b/src/main/java/in/koreatech/koin/domain/user/service/UserService.java index e934968951..f4482322aa 100644 --- a/src/main/java/in/koreatech/koin/domain/user/service/UserService.java +++ b/src/main/java/in/koreatech/koin/domain/user/service/UserService.java @@ -74,9 +74,11 @@ public void registerUser(UserRegisterRequest request) { ); User user = request.toUser(passwordEncoder); userRepository.save(user); - eventPublisher.publishEvent( - new UserMarketingAgreementEvent(user.getId(), request.marketingNotificationAgreement()) - ); + if (request.marketingNotificationAgreement()) { + eventPublisher.publishEvent( + new UserMarketingAgreementEvent(user.getId(), request.marketingNotificationAgreement()) + ); + } eventPublisher.publishEvent(new UserRegisterEvent(user.getPhoneNumber())); userVerificationService.consumeVerification(request.phoneNumber()); } From ec5fe02f691a5c2068b048144fe3bfd8ea2140f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EA=B4=80=EA=B7=9C?= Date: Wed, 20 May 2026 20:24:29 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20UserMarketingAgreementEvent=20?= =?UTF-8?q?=EB=82=B4=EB=B6=80=20=ED=95=84=EB=93=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../koin/common/event/UserMarketingAgreementEvent.java | 3 +-- .../koin/domain/student/service/StudentService.java | 10 ++++------ .../koin/domain/user/service/UserService.java | 4 +--- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/main/java/in/koreatech/koin/common/event/UserMarketingAgreementEvent.java b/src/main/java/in/koreatech/koin/common/event/UserMarketingAgreementEvent.java index 7a87ef421c..8f4faf5e2b 100644 --- a/src/main/java/in/koreatech/koin/common/event/UserMarketingAgreementEvent.java +++ b/src/main/java/in/koreatech/koin/common/event/UserMarketingAgreementEvent.java @@ -1,8 +1,7 @@ package in.koreatech.koin.common.event; public record UserMarketingAgreementEvent( - Integer userId, - boolean marketingNotificationAgreement + Integer userId ) { } diff --git a/src/main/java/in/koreatech/koin/domain/student/service/StudentService.java b/src/main/java/in/koreatech/koin/domain/student/service/StudentService.java index 621136e595..ea6dd90f32 100644 --- a/src/main/java/in/koreatech/koin/domain/student/service/StudentService.java +++ b/src/main/java/in/koreatech/koin/domain/student/service/StudentService.java @@ -11,13 +11,11 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.servlet.ModelAndView; -import in.koreatech.koin.global.auth.JwtProvider; -import in.koreatech.koin.global.concurrent.ConcurrencyGuard; +import in.koreatech.koin.admin.abtest.useragent.UserAgentInfo; import in.koreatech.koin.common.event.StudentFindPasswordEvent; import in.koreatech.koin.common.event.StudentRegisterEvent; import in.koreatech.koin.common.event.StudentRegisterRequestEvent; import in.koreatech.koin.common.event.UserMarketingAgreementEvent; -import in.koreatech.koin.admin.abtest.useragent.UserAgentInfo; import in.koreatech.koin.domain.graduation.repository.StandardGraduationRequirementsRepository; import in.koreatech.koin.domain.graduation.service.GraduationService; import in.koreatech.koin.domain.student.dto.RegisterStudentRequest; @@ -54,6 +52,8 @@ import in.koreatech.koin.domain.user.service.UserService; import in.koreatech.koin.domain.user.service.UserValidationService; import in.koreatech.koin.domain.user.verification.service.UserVerificationService; +import in.koreatech.koin.global.auth.JwtProvider; +import in.koreatech.koin.global.concurrent.ConcurrencyGuard; import lombok.RequiredArgsConstructor; @Service @@ -311,9 +311,7 @@ public void studentRegisterV2(RegisterStudentRequestV2 request) { studentRepository.save(student); userRepository.save(student.getUser()); if (request.marketingNotificationAgreement()) { - eventPublisher.publishEvent( - new UserMarketingAgreementEvent(student.getUser().getId(), request.marketingNotificationAgreement()) - ); + eventPublisher.publishEvent(new UserMarketingAgreementEvent(student.getUser().getId())); } eventPublisher.publishEvent(new StudentRegisterEvent(student.getUser().getPhoneNumber())); userVerificationService.consumeVerification(request.phoneNumber()); diff --git a/src/main/java/in/koreatech/koin/domain/user/service/UserService.java b/src/main/java/in/koreatech/koin/domain/user/service/UserService.java index f4482322aa..2b0429b237 100644 --- a/src/main/java/in/koreatech/koin/domain/user/service/UserService.java +++ b/src/main/java/in/koreatech/koin/domain/user/service/UserService.java @@ -75,9 +75,7 @@ public void registerUser(UserRegisterRequest request) { User user = request.toUser(passwordEncoder); userRepository.save(user); if (request.marketingNotificationAgreement()) { - eventPublisher.publishEvent( - new UserMarketingAgreementEvent(user.getId(), request.marketingNotificationAgreement()) - ); + eventPublisher.publishEvent(new UserMarketingAgreementEvent(user.getId())); } eventPublisher.publishEvent(new UserRegisterEvent(user.getPhoneNumber())); userVerificationService.consumeVerification(request.phoneNumber()); From 625cc7078a47409f35aa2fc1d2fc58981ff2a250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EA=B4=80=EA=B7=9C?= Date: Wed, 20 May 2026 20:24:47 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20TODO=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notification/eventlistener/NotificationEventListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/in/koreatech/koin/domain/notification/eventlistener/NotificationEventListener.java b/src/main/java/in/koreatech/koin/domain/notification/eventlistener/NotificationEventListener.java index e6f286c689..667453f37e 100644 --- a/src/main/java/in/koreatech/koin/domain/notification/eventlistener/NotificationEventListener.java +++ b/src/main/java/in/koreatech/koin/domain/notification/eventlistener/NotificationEventListener.java @@ -12,7 +12,7 @@ @Component @RequiredArgsConstructor @Profile("!test") -public class NotificationEventListener { // TODO : 리팩터링 필요 (비즈니스로직 제거 및 알림 책임만 갖도록) +public class NotificationEventListener { private final NotificationService notificationService;