From eca120011ff95c9ee11691ffe9a2f894c841d0e7 Mon Sep 17 00:00:00 2001 From: sgo722 Date: Wed, 17 Dec 2025 21:08:35 +0900 Subject: [PATCH] =?UTF-8?q?[feat]=20=ED=95=98=EC=9C=84=EB=B2=84=EC=A0=84?= =?UTF-8?q?=20=EC=95=8C=EB=9E=8C=EA=B0=80=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95,=20=ED=9E=88=EB=93=A0=EC=9D=B4=EB=AF=B8=EC=A7=80=20?= =?UTF-8?q?=EC=A0=9C=EC=B6=9C=20=EC=8B=9C=20PENDING=EB=B0=94=EB=80=8C?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/signup/PreVerificationStrategy.kt | 16 +++++++++++++++- src/main/kotlin/codel/member/domain/Member.kt | 4 ++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/codel/member/business/signup/PreVerificationStrategy.kt b/src/main/kotlin/codel/member/business/signup/PreVerificationStrategy.kt index 2874c95..cd9ea52 100644 --- a/src/main/kotlin/codel/member/business/signup/PreVerificationStrategy.kt +++ b/src/main/kotlin/codel/member/business/signup/PreVerificationStrategy.kt @@ -6,6 +6,9 @@ import codel.member.domain.Member import codel.member.domain.MemberStatus import codel.member.exception.MemberException import codel.member.infrastructure.MemberJpaRepository +import codel.notification.business.IAsyncNotificationService +import codel.notification.domain.Notification +import codel.notification.domain.NotificationType import org.springframework.http.HttpStatus import org.springframework.http.ResponseEntity import org.springframework.stereotype.Component @@ -22,7 +25,8 @@ import org.springframework.web.multipart.MultipartFile @Component class PreVerificationStrategy( private val signupService: SignupService, - private val memberJpaRepository: MemberJpaRepository + private val memberJpaRepository: MemberJpaRepository, + private val asyncNotificationService: IAsyncNotificationService ) : SignupStrategy, Loggable { @Transactional @@ -45,6 +49,16 @@ class PreVerificationStrategy( "status: HIDDEN_COMPLETED" } + asyncNotificationService.sendAsync( + notification = + Notification( + type = NotificationType.DISCORD, + targetId = member.getIdOrThrow().toString(), + title = "${member.getProfileOrThrow().getCodeNameOrThrow()}님이 심사를 요청하였습니다.", + body = "code:L 프로필 심사 요청이 왔습니다.", + ), + ) + return ResponseEntity.ok().build() } } diff --git a/src/main/kotlin/codel/member/domain/Member.kt b/src/main/kotlin/codel/member/domain/Member.kt index d65e8cc..74392cf 100644 --- a/src/main/kotlin/codel/member/domain/Member.kt +++ b/src/main/kotlin/codel/member/domain/Member.kt @@ -152,7 +152,7 @@ class Member( */ fun completeHiddenProfile() { // validateCanProceedToHidden() - memberStatus = MemberStatus.HIDDEN_COMPLETED + memberStatus = MemberStatus.PENDING } /** @@ -164,7 +164,7 @@ class Member( MemberStatus.PHONE_VERIFIED -> MemberStatus.ESSENTIAL_COMPLETED MemberStatus.ESSENTIAL_COMPLETED -> MemberStatus.HIDDEN_COMPLETED MemberStatus.PERSONALITY_COMPLETED -> MemberStatus.HIDDEN_COMPLETED - MemberStatus.HIDDEN_COMPLETED -> MemberStatus.HIDDEN_COMPLETED // 인증 이미지 제출 후 PENDING + MemberStatus.HIDDEN_COMPLETED -> MemberStatus.PENDING // 인증 이미지 제출 후 PENDING MemberStatus.PENDING -> MemberStatus.PENDING MemberStatus.REJECT -> MemberStatus.REJECT else -> null