diff --git a/src/main/kotlin/roomescape/member/business/UserService.kt b/src/main/kotlin/roomescape/member/business/UserService.kt index 86804401..c2da722a 100644 --- a/src/main/kotlin/roomescape/member/business/UserService.kt +++ b/src/main/kotlin/roomescape/member/business/UserService.kt @@ -13,6 +13,7 @@ import roomescape.common.dto.UserLoginCredentials import roomescape.member.exception.UserErrorCode import roomescape.member.exception.UserException import roomescape.member.infrastructure.persistence.* +import roomescape.member.web.UserContactRetrieveResponse import roomescape.member.web.UserCreateRequest import roomescape.member.web.UserCreateResponse import roomescape.member.web.toEntity @@ -54,6 +55,18 @@ class UserService( } } + @Transactional(readOnly = true) + fun findContactById(id: Long) : UserContactRetrieveResponse { + log.info { "[UserService.findContactById] 회원 연락 정보 조회 시작: id=${id}" } + + val user = findOrThrow(id) + + return UserContactRetrieveResponse(user.id, user.name, user.phone) + .also { + log.info { "[UserService.findContactById] 회원 연락 정보 조회 완료: id=${id}, name=${it.name}" } + } + } + @Transactional fun signup(request: UserCreateRequest): UserCreateResponse { log.info { "[UserService.signup] 회원가입 시작: request:$request" } diff --git a/src/main/kotlin/roomescape/member/web/UserDTO.kt b/src/main/kotlin/roomescape/member/web/UserDTO.kt index ed9fe940..dbe421ad 100644 --- a/src/main/kotlin/roomescape/member/web/UserDTO.kt +++ b/src/main/kotlin/roomescape/member/web/UserDTO.kt @@ -41,3 +41,9 @@ data class UserCreateResponse( val id: Long, val name: String ) + +data class UserContactRetrieveResponse( + val id: Long, + val name: String, + val phone: String +)