Skip to content

Commit f256e94

Browse files
BlackBean99kdomo
authored andcommitted
feat : PromiseRegisterEventHandler 구현 (#88)
1 parent 3a06f17 commit f256e94

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/domains/promise/domain/Promise.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class Promise(
4646
) : BaseTimeEntity() {
4747
@PostPersist
4848
fun createPromiseEvent() {
49-
Events.raise(PromiseRegisterEvent(this.id!!))
49+
Events.raise(PromiseRegisterEvent(this.id!!, this.mainUserId))
5050
}
5151
fun updateTitle(title: String) {
5252
this.title = title

Whatnow-Domain/src/main/kotlin/com/depromeet/whatnow/events/domainEvent/PromiseRegisterEvent.kt

+1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ import com.depromeet.whatnow.common.aop.event.DomainEvent
44

55
class PromiseRegisterEvent(
66
val promiseId: Long,
7+
val userId: Long,
78
) : DomainEvent()
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
11
package com.depromeet.whatnow.events.handler
22

3-
class PromiseRegisterEventHandler
3+
import com.depromeet.whatnow.annotation.Handler
4+
import com.depromeet.whatnow.domains.promiseuser.domain.PromiseUser
5+
import com.depromeet.whatnow.domains.promiseuser.service.PromiseUserDomainService
6+
import com.depromeet.whatnow.events.domainEvent.PromiseRegisterEvent
7+
import org.springframework.scheduling.annotation.Async
8+
import org.springframework.transaction.event.TransactionPhase
9+
import org.springframework.transaction.event.TransactionalEventListener
10+
11+
@Handler
12+
class PromiseRegisterEventHandler(
13+
val promiseUserDomainService: PromiseUserDomainService,
14+
) {
15+
@Async
16+
@TransactionalEventListener(classes = [PromiseRegisterEvent::class], phase = TransactionPhase.AFTER_COMMIT)
17+
fun handleRegisterPictureEvent(promiseRegisterEvent: PromiseRegisterEvent) {
18+
// 약속 등록 시 방장의 PromiseUser 생성하기
19+
val promiseUser = PromiseUser(
20+
promiseId = promiseRegisterEvent.promiseId,
21+
userId = promiseRegisterEvent.userId,
22+
)
23+
promiseUserDomainService.createPromiseUser(promiseUser)
24+
}
25+
}

0 commit comments

Comments
 (0)