Skip to content
This repository was archived by the owner on Jul 7, 2025. It is now read-only.

Commit 5864874

Browse files
committed
ASAP-451 편지 수신자 확인 로직 단순화
- `isSameReceiver` 메서드 수정: 람다를 통한 사용자 객체 생성 대신 직접 `User` 객체를 전달받는 방식으로 변경. - 관련 서비스 로직 리팩토링: 불필요한 람다 호출 제거 및 가독성 향상. - 예외 처리 방식 유지하며 로직 간결화.
1 parent 8cbf938 commit 5864874

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

Application-Module/src/main/kotlin/com/asap/application/letter/service/LetterCommandService.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,15 @@ class LetterCommandService(
8888
}
8989

9090
val sendLetter = sendLetterManagementPort.getLetterByCodeNotNull(command.letterCode)
91-
sendLetter
92-
.isSameReceiver {
93-
userManagementPort.getUserNotNull(DomainId(command.userId))
94-
}.takeIf { it }
95-
?.let {
96-
sendLetter.readLetter(DomainId(command.userId))
97-
sendLetterManagementPort.save(sendLetter)
98-
return VerifyLetterAccessibleUsecase.Response(letterId = sendLetter.id.value)
99-
} ?: throw LetterException.InvalidLetterAccessException()
91+
val receiver = userManagementPort.getUserNotNull(DomainId(command.userId))
92+
93+
if (sendLetter.isSameReceiver(receiver)) {
94+
sendLetter.readLetter(DomainId(command.userId))
95+
sendLetterManagementPort.save(sendLetter)
96+
return VerifyLetterAccessibleUsecase.Response(letterId = sendLetter.id.value)
97+
}
98+
99+
throw LetterException.InvalidLetterAccessException()
100100
}
101101

102102
override fun addVerifiedLetter(command: AddLetterUsecase.Command.VerifyLetter) {

Domain-Module/src/main/kotlin/com/asap/domain/letter/entity/SendLetter.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,7 @@ class SendLetter(
6969
)
7070
}
7171

72-
fun isSameReceiver(receiver: () -> User): Boolean {
73-
val receiverUser = receiver()
74-
return receiverName == receiverUser.username && (receiverId == null || receiverId == receiverUser.id)
75-
}
72+
fun isSameReceiver(receiver: User): Boolean = receiverName == receiver.username && (receiverId == null || receiverId == receiver.id)
7673

7774
fun readLetter(receiverId: DomainId) {
7875
this.receiverId = receiverId

0 commit comments

Comments
 (0)