refactor: DTO 명명 통일

This commit is contained in:
이상진 2025-09-13 18:38:33 +09:00
parent 85b1eb2f6f
commit 436418a12f
21 changed files with 92 additions and 92 deletions

View File

@ -66,14 +66,14 @@ class PaymentService(
}
@Transactional(readOnly = true)
fun findDetailByReservationId(reservationId: Long): PaymentRetrieveResponse? {
fun findDetailByReservationId(reservationId: Long): PaymentWithDetailResponse? {
log.info { "[PaymentService.findDetailByReservationId] 예약 결제 정보 조회 시작: reservationId=$reservationId" }
val payment: PaymentEntity? = findByReservationIdOrNull(reservationId)
val paymentDetail: PaymentDetailEntity? = payment?.let { findDetailByPaymentIdOrNull(it.id) }
val cancelDetail: CanceledPaymentEntity? = payment?.let { findCancelByPaymentIdOrNull(it.id) }
return payment?.toRetrieveResponse(
return payment?.toDetailResponse(
detail = paymentDetail?.toPaymentDetailResponse(),
cancel = cancelDetail?.toCancelDetailResponse()
)

View File

@ -27,7 +27,7 @@ data class PaymentCancelRequest(
val requestedAt: LocalDateTime = LocalDateTime.now()
)
data class PaymentRetrieveResponse(
data class PaymentWithDetailResponse(
val orderId: String,
val totalAmount: Int,
val method: String,
@ -38,11 +38,11 @@ data class PaymentRetrieveResponse(
val cancel: PaymentCancelDetailResponse?,
)
fun PaymentEntity.toRetrieveResponse(
fun PaymentEntity.toDetailResponse(
detail: PaymentDetailResponse?,
cancel: PaymentCancelDetailResponse?
): PaymentRetrieveResponse {
return PaymentRetrieveResponse(
): PaymentWithDetailResponse {
return PaymentWithDetailResponse(
orderId = this.orderId,
totalAmount = this.totalAmount,
method = this.method.koreanName,

View File

@ -11,9 +11,9 @@ import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.PrincipalType
import roomescape.common.util.DateUtils
import roomescape.user.business.UserService
import roomescape.user.web.UserContactRetrieveResponse
import roomescape.user.web.UserContactResponse
import roomescape.payment.business.PaymentService
import roomescape.payment.web.PaymentRetrieveResponse
import roomescape.payment.web.PaymentWithDetailResponse
import roomescape.reservation.exception.ReservationErrorCode
import roomescape.reservation.exception.ReservationException
import roomescape.reservation.infrastructure.persistence.*
@ -23,7 +23,7 @@ import roomescape.schedule.infrastructure.persistence.ScheduleStatus
import roomescape.schedule.web.ScheduleSummaryResponse
import roomescape.schedule.web.ScheduleUpdateRequest
import roomescape.theme.business.ThemeService
import roomescape.theme.web.ThemeInfoRetrieveResponse
import roomescape.theme.web.ThemeInfoResponse
import java.time.LocalDate
import java.time.LocalDateTime
@ -91,7 +91,7 @@ class ReservationService(
}
@Transactional(readOnly = true)
fun findUserSummaryReservation(user: CurrentUserContext): ReservationSummaryRetrieveListResponse {
fun findUserSummaryReservation(user: CurrentUserContext): ReservationSummaryListResponse {
log.info { "[ReservationService.findSummaryByMemberId] 예약 조회 시작: userId=${user.id}" }
val reservations: List<ReservationEntity> = reservationRepository.findAllByUserIdAndStatusIsIn(
@ -99,11 +99,11 @@ class ReservationService(
statuses = listOf(ReservationStatus.CONFIRMED, ReservationStatus.CANCELED)
)
return ReservationSummaryRetrieveListResponse(reservations.map {
return ReservationSummaryListResponse(reservations.map {
val schedule: ScheduleSummaryResponse = scheduleService.findSummaryById(it.scheduleId)
val theme: ThemeInfoRetrieveResponse = themeService.findSummaryById(schedule.themeId)
val theme: ThemeInfoResponse = themeService.findSummaryById(schedule.themeId)
ReservationSummaryRetrieveResponse(
ReservationSummaryResponse(
id = it.id,
themeName = theme.name,
date = schedule.date,
@ -116,12 +116,12 @@ class ReservationService(
}
@Transactional(readOnly = true)
fun findDetailById(id: Long): ReservationDetailRetrieveResponse {
fun findDetailById(id: Long): ReservationDetailResponse {
log.info { "[ReservationService.findDetailById] 예약 상세 조회 시작: reservationId=${id}" }
val reservation: ReservationEntity = findOrThrow(id)
val user: UserContactRetrieveResponse = userService.findContactById(reservation.userId)
val paymentDetail: PaymentRetrieveResponse? = paymentService.findDetailByReservationId(id)
val user: UserContactResponse = userService.findContactById(reservation.userId)
val paymentDetail: PaymentWithDetailResponse? = paymentService.findDetailByReservationId(id)
return reservation.toReservationDetailRetrieveResponse(
user = user,

View File

@ -8,7 +8,7 @@ import roomescape.reservation.exception.ReservationException
import roomescape.reservation.web.PendingReservationCreateRequest
import roomescape.schedule.infrastructure.persistence.ScheduleStatus
import roomescape.schedule.web.ScheduleSummaryResponse
import roomescape.theme.web.ThemeInfoRetrieveResponse
import roomescape.theme.web.ThemeInfoResponse
private val log: KLogger = KotlinLogging.logger {}
@ -17,7 +17,7 @@ class ReservationValidator {
fun validateCanCreate(
schedule: ScheduleSummaryResponse,
theme: ThemeInfoRetrieveResponse,
theme: ThemeInfoResponse,
request: PendingReservationCreateRequest
) {
if (schedule.status != ScheduleStatus.HOLD) {

View File

@ -54,12 +54,12 @@ interface ReservationAPI {
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun findSummaryByMemberId(
@CurrentUser user: CurrentUserContext,
): ResponseEntity<CommonApiResponse<ReservationSummaryRetrieveListResponse>>
): ResponseEntity<CommonApiResponse<ReservationSummaryListResponse>>
@UserOnly
@Operation(summary = "특정 예약에 대한 상세 조회", tags = ["로그인이 필요한 API"])
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun findDetailById(
@PathVariable("id") id: Long
): ResponseEntity<CommonApiResponse<ReservationDetailRetrieveResponse>>
): ResponseEntity<CommonApiResponse<ReservationDetailResponse>>
}

View File

@ -56,7 +56,7 @@ class ReservationController(
@GetMapping("/reservations/summary")
override fun findSummaryByMemberId(
@CurrentUser user: CurrentUserContext,
): ResponseEntity<CommonApiResponse<ReservationSummaryRetrieveListResponse>> {
): ResponseEntity<CommonApiResponse<ReservationSummaryListResponse>> {
val response = reservationService.findUserSummaryReservation(user)
return ResponseEntity.ok(CommonApiResponse(response))
@ -65,7 +65,7 @@ class ReservationController(
@GetMapping("/reservations/{id}/detail")
override fun findDetailById(
@PathVariable("id") id: Long
): ResponseEntity<CommonApiResponse<ReservationDetailRetrieveResponse>> {
): ResponseEntity<CommonApiResponse<ReservationDetailResponse>> {
val response = reservationService.findDetailById(id)
return ResponseEntity.ok(CommonApiResponse(response))

View File

@ -1,8 +1,8 @@
package roomescape.reservation.web
import jakarta.validation.constraints.NotEmpty
import roomescape.user.web.UserContactRetrieveResponse
import roomescape.payment.web.PaymentRetrieveResponse
import roomescape.user.web.UserContactResponse
import roomescape.payment.web.PaymentWithDetailResponse
import roomescape.reservation.infrastructure.persistence.ReservationEntity
import roomescape.reservation.infrastructure.persistence.ReservationStatus
import java.time.LocalDate
@ -34,7 +34,7 @@ data class PendingReservationCreateResponse(
val id: Long
)
data class ReservationSummaryRetrieveResponse(
data class ReservationSummaryResponse(
val id: Long,
val themeName: String,
val date: LocalDate,
@ -42,22 +42,22 @@ data class ReservationSummaryRetrieveResponse(
val status: ReservationStatus
)
data class ReservationSummaryRetrieveListResponse(
val reservations: List<ReservationSummaryRetrieveResponse>
data class ReservationSummaryListResponse(
val reservations: List<ReservationSummaryResponse>
)
data class ReservationDetailRetrieveResponse(
data class ReservationDetailResponse(
val id: Long,
val user: UserContactRetrieveResponse,
val user: UserContactResponse,
val applicationDateTime: LocalDateTime,
val payment: PaymentRetrieveResponse?,
val payment: PaymentWithDetailResponse?,
)
fun ReservationEntity.toReservationDetailRetrieveResponse(
user: UserContactRetrieveResponse,
payment: PaymentRetrieveResponse?,
): ReservationDetailRetrieveResponse {
return ReservationDetailRetrieveResponse(
user: UserContactResponse,
payment: PaymentWithDetailResponse?,
): ReservationDetailResponse {
return ReservationDetailResponse(
id = this.id,
user = user,
applicationDateTime = this.createdAt,

View File

@ -37,18 +37,18 @@ class ScheduleService(
}
@Transactional(readOnly = true)
fun findSchedules(date: LocalDate, themeId: Long): ScheduleRetrieveListResponse {
fun findSchedules(date: LocalDate, themeId: Long): ScheduleListByDateResponse {
log.info { "[ScheduleService.findSchedules] 동일한 날짜와 테마인 모든 일정 조회: date=${date}, themeId=${themeId}" }
return scheduleRepository.findAllByDateAndThemeId(date, themeId)
.toRetrieveListResponse()
.toListResponse()
.also {
log.info { "[ScheduleService.findSchedules] date=${date}, themeId=${themeId}${it.schedules.size}개 일정 조회 완료" }
}
}
@Transactional(readOnly = true)
fun findDetail(id: Long): ScheduleDetailRetrieveResponse {
fun findDetail(id: Long): ScheduleDetailResponse {
log.info { "[ScheduleService.findDetail] 일정 상세 정보조회 시작: id=$id" }
val schedule: ScheduleEntity = findOrThrow(id)
@ -56,7 +56,7 @@ class ScheduleService(
val createdBy = adminService.findOperatorById(schedule.createdBy)
val updatedBy = adminService.findOperatorById(schedule.updatedBy)
return schedule.toDetailRetrieveResponse(createdBy, updatedBy)
return schedule.toDetailResponse(createdBy, updatedBy)
.also {
log.info { "[ScheduleService.findDetail] 일정 상세 조회 완료: id=$id" }
}

View File

@ -38,7 +38,7 @@ interface ScheduleAPI {
fun findAllTime(
@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") date: LocalDate,
@RequestParam("themeId") themeId: Long
): ResponseEntity<CommonApiResponse<ScheduleRetrieveListResponse>>
): ResponseEntity<CommonApiResponse<ScheduleListByDateResponse>>
@UserOnly
@Operation(summary = "일정을 Hold 상태로 변경", tags = ["로그인이 필요한 API"])
@ -58,7 +58,7 @@ interface ScheduleAPI {
@ApiResponses(ApiResponse(responseCode = "200", description = "감사 정보를 포함하여 일정 상세 조회", useReturnTypeSchema = true))
fun findScheduleDetail(
@PathVariable("id") id: Long
): ResponseEntity<CommonApiResponse<ScheduleDetailRetrieveResponse>>
): ResponseEntity<CommonApiResponse<ScheduleDetailResponse>>
@AdminOnly(privilege = Privilege.CREATE)
@Operation(summary = "일정 생성", tags = ["관리자 로그인이 필요한 API"])

View File

@ -26,7 +26,7 @@ class ScheduleController(
override fun findAllTime(
@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") date: LocalDate,
@RequestParam("themeId") themeId: Long
): ResponseEntity<CommonApiResponse<ScheduleRetrieveListResponse>> {
): ResponseEntity<CommonApiResponse<ScheduleListByDateResponse>> {
val response = scheduleService.findSchedules(date, themeId)
return ResponseEntity.ok(CommonApiResponse(response))
@ -35,7 +35,7 @@ class ScheduleController(
@GetMapping("/schedules/{id}")
override fun findScheduleDetail(
@PathVariable("id") id: Long
): ResponseEntity<CommonApiResponse<ScheduleDetailRetrieveResponse>> {
): ResponseEntity<CommonApiResponse<ScheduleDetailResponse>> {
val response = scheduleService.findDetail(id)
return ResponseEntity.ok(CommonApiResponse(response))

View File

@ -11,18 +11,18 @@ data class AvailableThemeIdListResponse(
val themeIds: List<Long>
)
data class ScheduleRetrieveResponse(
data class ScheduleByDateResponse(
val id: Long,
val time: LocalTime,
val status: ScheduleStatus
)
data class ScheduleRetrieveListResponse(
val schedules: List<ScheduleRetrieveResponse>
data class ScheduleListByDateResponse(
val schedules: List<ScheduleByDateResponse>
)
fun List<ScheduleEntity>.toRetrieveListResponse() = ScheduleRetrieveListResponse(
this.map { ScheduleRetrieveResponse(it.id, it.time, it.status) }
fun List<ScheduleEntity>.toListResponse() = ScheduleListByDateResponse(
this.map { ScheduleByDateResponse(it.id, it.time, it.status) }
)
data class ScheduleCreateRequest(
@ -44,7 +44,7 @@ data class ScheduleUpdateRequest(
}
}
data class ScheduleDetailRetrieveResponse(
data class ScheduleDetailResponse(
val id: Long,
val date: LocalDate,
val time: LocalTime,
@ -55,7 +55,7 @@ data class ScheduleDetailRetrieveResponse(
val updatedBy: OperatorInfo,
)
fun ScheduleEntity.toDetailRetrieveResponse(createdBy: OperatorInfo, updatedBy: OperatorInfo) = ScheduleDetailRetrieveResponse(
fun ScheduleEntity.toDetailResponse(createdBy: OperatorInfo, updatedBy: OperatorInfo) = ScheduleDetailResponse(
id = this.id,
date = this.date,
time = this.time,

View File

@ -24,7 +24,7 @@ class ThemeService(
private val adminService: AdminService
) {
@Transactional(readOnly = true)
fun findThemesByIds(request: ThemeIdListRetrieveResponse): ThemeInfoListRetrieveResponse {
fun findThemesByIds(request: ThemeIdListResponse): ThemeInfoListResponse {
log.info { "[ThemeService.findThemesByIds] 예약 페이지에서의 테마 목록 조회 시작: themeIds=${request.themeIds}" }
val result: MutableList<ThemeEntity> = mutableListOf()
@ -37,22 +37,22 @@ class ThemeService(
result.add(theme)
}
return result.toRetrieveListResponse().also {
return result.toListResponse().also {
log.info { "[ThemeService.findThemesByIds] ${it.themes.size} / ${request.themeIds.size} 개 테마 조회 완료" }
}
}
@Transactional(readOnly = true)
fun findThemesForReservation(): ThemeInfoListRetrieveResponse {
fun findThemesForReservation(): ThemeInfoListResponse {
log.info { "[ThemeService.findThemesForReservation] 예약 페이지에서의 테마 목록 조회 시작" }
return themeRepository.findOpenedThemes()
.toRetrieveListResponse()
.toListResponse()
.also { log.info { "[ThemeService.findThemesForReservation] ${it.themes.size}개 테마 조회 완료" } }
}
@Transactional(readOnly = true)
fun findAdminThemes(): AdminThemeSummaryListRetrieveResponse {
fun findAdminThemes(): AdminThemeSummaryListResponse {
log.info { "[ThemeService.findAdminThemes] 관리자 페이지에서의 테마 목록 조회 시작" }
return themeRepository.findAll()
@ -61,7 +61,7 @@ class ThemeService(
}
@Transactional(readOnly = true)
fun findAdminThemeDetail(id: Long): AdminThemeDetailRetrieveResponse {
fun findAdminThemeDetail(id: Long): AdminThemeDetailResponse {
log.info { "[ThemeService.findAdminThemeDetail] 관리자 페이지에서의 테마 상세 정보 조회 시작: id=${id}" }
val theme: ThemeEntity = findOrThrow(id)
@ -74,7 +74,7 @@ class ThemeService(
}
@Transactional(readOnly = true)
fun findSummaryById(id: Long): ThemeInfoRetrieveResponse {
fun findSummaryById(id: Long): ThemeInfoResponse {
log.info { "[ThemeService.findById] 테마 조회 시작: id=$id" }
return findOrThrow(id).toSummaryResponse()

View File

@ -20,12 +20,12 @@ interface ThemeAPIV2 {
@AdminOnly(privilege = Privilege.READ_SUMMARY)
@Operation(summary = "모든 테마 조회", description = "관리자 페이지에서 요약된 테마 목록을 조회합니다.", tags = ["관리자 로그인이 필요한 API"])
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun findAdminThemes(): ResponseEntity<CommonApiResponse<AdminThemeSummaryListRetrieveResponse>>
fun findAdminThemes(): ResponseEntity<CommonApiResponse<AdminThemeSummaryListResponse>>
@AdminOnly(privilege = Privilege.READ_DETAIL)
@Operation(summary = "테마 상세 조회", description = "해당 테마의 상세 정보를 조회합니다.", tags = ["관리자 로그인이 필요한 API"])
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun findAdminThemeDetail(@PathVariable("id") id: Long): ResponseEntity<CommonApiResponse<AdminThemeDetailRetrieveResponse>>
fun findAdminThemeDetail(@PathVariable("id") id: Long): ResponseEntity<CommonApiResponse<AdminThemeDetailResponse>>
@AdminOnly(privilege = Privilege.CREATE)
@Operation(summary = "테마 추가", tags = ["관리자 로그인이 필요한 API"])
@ -48,10 +48,10 @@ interface ThemeAPIV2 {
@Public
@Operation(summary = "예약 페이지에서 모든 테마 조회", description = "모든 테마를 조회합니다.")
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun findUserThemes(): ResponseEntity<CommonApiResponse<ThemeInfoListRetrieveResponse>>
fun findUserThemes(): ResponseEntity<CommonApiResponse<ThemeInfoListResponse>>
@Public
@Operation(summary = "예약 페이지에서 입력한 날짜에 가능한 테마 조회", description = "입력한 날짜에 가능한 테마를 조회합니다.")
@ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true))
fun findThemesByIds(request: ThemeIdListRetrieveResponse): ResponseEntity<CommonApiResponse<ThemeInfoListRetrieveResponse>>
fun findThemesByIds(request: ThemeIdListResponse): ResponseEntity<CommonApiResponse<ThemeInfoListResponse>>
}

View File

@ -14,29 +14,29 @@ class ThemeController(
@PostMapping("/themes/retrieve")
override fun findThemesByIds(
@RequestBody request: ThemeIdListRetrieveResponse
): ResponseEntity<CommonApiResponse<ThemeInfoListRetrieveResponse>> {
@RequestBody request: ThemeIdListResponse
): ResponseEntity<CommonApiResponse<ThemeInfoListResponse>> {
val response = themeService.findThemesByIds(request)
return ResponseEntity.ok(CommonApiResponse(response))
}
@GetMapping("/v2/themes")
override fun findUserThemes(): ResponseEntity<CommonApiResponse<ThemeInfoListRetrieveResponse>> {
override fun findUserThemes(): ResponseEntity<CommonApiResponse<ThemeInfoListResponse>> {
val response = themeService.findThemesForReservation()
return ResponseEntity.ok(CommonApiResponse(response))
}
@GetMapping("/admin/themes")
override fun findAdminThemes(): ResponseEntity<CommonApiResponse<AdminThemeSummaryListRetrieveResponse>> {
override fun findAdminThemes(): ResponseEntity<CommonApiResponse<AdminThemeSummaryListResponse>> {
val response = themeService.findAdminThemes()
return ResponseEntity.ok(CommonApiResponse(response))
}
@GetMapping("/admin/themes/{id}")
override fun findAdminThemeDetail(@PathVariable id: Long): ResponseEntity<CommonApiResponse<AdminThemeDetailRetrieveResponse>> {
override fun findAdminThemeDetail(@PathVariable id: Long): ResponseEntity<CommonApiResponse<AdminThemeDetailResponse>> {
val response = themeService.findAdminThemeDetail(id)
return ResponseEntity.ok(CommonApiResponse(response))

View File

@ -66,7 +66,7 @@ data class ThemeUpdateRequest(
}
}
data class AdminThemeSummaryRetrieveResponse(
data class AdminThemeSummaryResponse(
val id: Long,
val name: String,
val difficulty: Difficulty,
@ -74,7 +74,7 @@ data class AdminThemeSummaryRetrieveResponse(
val isOpen: Boolean
)
fun ThemeEntity.toAdminThemeSummaryResponse() = AdminThemeSummaryRetrieveResponse(
fun ThemeEntity.toAdminThemeSummaryResponse() = AdminThemeSummaryResponse(
id = this.id,
name = this.name,
difficulty = this.difficulty,
@ -82,15 +82,15 @@ fun ThemeEntity.toAdminThemeSummaryResponse() = AdminThemeSummaryRetrieveRespons
isOpen = this.isOpen
)
data class AdminThemeSummaryListRetrieveResponse(
val themes: List<AdminThemeSummaryRetrieveResponse>
data class AdminThemeSummaryListResponse(
val themes: List<AdminThemeSummaryResponse>
)
fun List<ThemeEntity>.toAdminThemeSummaryListResponse() = AdminThemeSummaryListRetrieveResponse(
fun List<ThemeEntity>.toAdminThemeSummaryListResponse() = AdminThemeSummaryListResponse(
themes = this.map { it.toAdminThemeSummaryResponse() }
)
data class AdminThemeDetailRetrieveResponse(
data class AdminThemeDetailResponse(
val id: Long,
val name: String,
val description: String,
@ -110,7 +110,7 @@ data class AdminThemeDetailRetrieveResponse(
)
fun ThemeEntity.toAdminThemeDetailResponse(createdBy: OperatorInfo, updatedBy: OperatorInfo) =
AdminThemeDetailRetrieveResponse(
AdminThemeDetailResponse(
id = this.id,
name = this.name,
description = this.description,
@ -129,11 +129,11 @@ fun ThemeEntity.toAdminThemeDetailResponse(createdBy: OperatorInfo, updatedBy: O
updatedBy = updatedBy
)
data class ThemeIdListRetrieveResponse(
data class ThemeIdListResponse(
val themeIds: List<Long>
)
data class ThemeInfoRetrieveResponse(
data class ThemeInfoResponse(
val id: Long,
val name: String,
val thumbnailUrl: String,
@ -147,7 +147,7 @@ data class ThemeInfoRetrieveResponse(
val expectedMinutesTo: Short
)
fun ThemeEntity.toSummaryResponse() = ThemeInfoRetrieveResponse(
fun ThemeEntity.toSummaryResponse() = ThemeInfoResponse(
id = this.id,
name = this.name,
thumbnailUrl = this.thumbnailUrl,
@ -161,10 +161,10 @@ fun ThemeEntity.toSummaryResponse() = ThemeInfoRetrieveResponse(
expectedMinutesTo = this.expectedMinutesTo
)
data class ThemeInfoListRetrieveResponse(
val themes: List<ThemeInfoRetrieveResponse>
data class ThemeInfoListResponse(
val themes: List<ThemeInfoResponse>
)
fun List<ThemeEntity>.toRetrieveListResponse() = ThemeInfoListRetrieveResponse(
fun List<ThemeEntity>.toListResponse() = ThemeInfoListResponse(
themes = this.map { it.toSummaryResponse() }
)

View File

@ -13,7 +13,7 @@ import roomescape.common.dto.UserLoginCredentials
import roomescape.user.exception.UserErrorCode
import roomescape.user.exception.UserException
import roomescape.user.infrastructure.persistence.*
import roomescape.user.web.UserContactRetrieveResponse
import roomescape.user.web.UserContactResponse
import roomescape.user.web.UserCreateRequest
import roomescape.user.web.UserCreateResponse
import roomescape.user.web.toEntity
@ -56,12 +56,12 @@ class UserService(
}
@Transactional(readOnly = true)
fun findContactById(id: Long) : UserContactRetrieveResponse {
fun findContactById(id: Long) : UserContactResponse {
log.info { "[UserService.findContactById] 회원 연락 정보 조회 시작: id=${id}" }
val user = findOrThrow(id)
return UserContactRetrieveResponse(user.id, user.name, user.phone)
return UserContactResponse(user.id, user.name, user.phone)
.also {
log.info { "[UserService.findContactById] 회원 연락 정보 조회 완료: id=${id}, name=${it.name}" }
}

View File

@ -12,7 +12,7 @@ import roomescape.auth.web.support.Public
import roomescape.auth.web.support.UserOnly
import roomescape.common.dto.CurrentUserContext
import roomescape.common.dto.response.CommonApiResponse
import roomescape.user.web.UserContactRetrieveResponse
import roomescape.user.web.UserContactResponse
import roomescape.user.web.UserCreateRequest
import roomescape.user.web.UserCreateResponse
@ -43,6 +43,6 @@ interface UserAPI {
)
fun findContact(
@CurrentUser user: CurrentUserContext
): ResponseEntity<CommonApiResponse<UserContactRetrieveResponse>>
): ResponseEntity<CommonApiResponse<UserContactResponse>>
}

View File

@ -29,7 +29,7 @@ class UserController(
@GetMapping("/users/contact")
override fun findContact(
@CurrentUser user: CurrentUserContext
): ResponseEntity<CommonApiResponse<UserContactRetrieveResponse>> {
): ResponseEntity<CommonApiResponse<UserContactResponse>> {
val response = userService.findContactById(user.id)
return ResponseEntity.ok(CommonApiResponse(response))

View File

@ -42,7 +42,7 @@ data class UserCreateResponse(
val name: String
)
data class UserContactRetrieveResponse(
data class UserContactResponse(
val id: Long,
val name: String,
val phone: String

View File

@ -14,9 +14,9 @@ import roomescape.payment.infrastructure.persistence.CanceledPaymentEntity
import roomescape.payment.infrastructure.persistence.PaymentEntity
import roomescape.payment.infrastructure.persistence.PaymentRepository
import roomescape.payment.web.PaymentConfirmRequest
import roomescape.payment.web.PaymentRetrieveResponse
import roomescape.payment.web.PaymentWithDetailResponse
import roomescape.payment.web.toPaymentDetailResponse
import roomescape.payment.web.toRetrieveResponse
import roomescape.payment.web.toDetailResponse
import roomescape.reservation.infrastructure.persistence.ReservationEntity
import roomescape.reservation.infrastructure.persistence.ReservationRepository
import roomescape.reservation.web.PendingReservationCreateRequest
@ -171,7 +171,7 @@ class DummyInitializer(
cardDetail: CardDetail? = null,
easyPayDetail: EasyPayDetail? = null,
transferDetail: TransferDetail? = null,
): PaymentRetrieveResponse {
): PaymentWithDetailResponse {
val method = if (easyPayDetail != null) {
PaymentMethod.EASY_PAY
} else if (cardDetail != null) {
@ -200,7 +200,7 @@ class DummyInitializer(
val detail = paymentWriter.createDetail(clientConfirmResponse, payment.id)
return payment.toRetrieveResponse(detail = detail.toPaymentDetailResponse(), cancel = null)
return payment.toDetailResponse(detail = detail.toPaymentDetailResponse(), cancel = null)
}
fun cancelPayment(

View File

@ -18,7 +18,7 @@ import roomescape.theme.business.MIN_PRICE
import roomescape.theme.exception.ThemeErrorCode
import roomescape.theme.infrastructure.persistence.ThemeEntity
import roomescape.theme.infrastructure.persistence.ThemeRepository
import roomescape.theme.web.ThemeIdListRetrieveResponse
import roomescape.theme.web.ThemeIdListResponse
import roomescape.theme.web.ThemeUpdateRequest
import roomescape.supports.*
import roomescape.supports.ThemeFixture.createRequest
@ -296,7 +296,7 @@ class ThemeApiTest(
runTest(
token = authUtil.defaultUserLogin(),
using = {
body(ThemeIdListRetrieveResponse(themeIds))
body(ThemeIdListResponse(themeIds))
},
on = {
post("/themes/retrieve")
@ -322,7 +322,7 @@ class ThemeApiTest(
runTest(
token = authUtil.defaultUserLogin(),
using = {
body(ThemeIdListRetrieveResponse(themeIds))
body(ThemeIdListResponse(themeIds))
},
on = {
post("/themes/retrieve")