[#56] 예약 & 결제 프로세스 및 패키지 구조 재정의 #57

Merged
pricelees merged 45 commits from refactor/#56 into main 2025-10-09 09:33:29 +00:00
2 changed files with 53 additions and 15 deletions
Showing only changes of commit 7c02d9ceae - Show all commits

View File

@ -156,6 +156,27 @@ class DummyInitializer(
} }
} }
fun createExpiredOrCanceledReservation(
user: UserEntity,
status: ReservationStatus,
storeId: Long = IDGenerator.create(),
themeRequest: ThemeCreateRequest = ThemeFixture.createRequest,
scheduleRequest: ScheduleCreateRequest = ScheduleFixture.createRequest,
reservationRequest: PendingReservationCreateRequest = ReservationFixture.pendingCreateRequest,
): ReservationEntity {
return createPendingReservation(user, storeId, themeRequest, scheduleRequest, reservationRequest).apply {
this.status = status
}.also {
reservationRepository.save(it)
scheduleRepository.findByIdOrNull(it.scheduleId)?.let { schedule ->
schedule.status = ScheduleStatus.AVAILABLE
schedule.holdExpiredAt = null
scheduleRepository.save(schedule)
}
}
}
fun createPayment( fun createPayment(
reservationId: Long, reservationId: Long,
request: PaymentConfirmRequest = PaymentFixture.confirmRequest, request: PaymentConfirmRequest = PaymentFixture.confirmRequest,

View File

@ -299,7 +299,23 @@ object PaymentFixture {
easyPayDetail: EasyPayDetailResponse? = null, easyPayDetail: EasyPayDetailResponse? = null,
transferDetail: TransferDetailResponse? = null, transferDetail: TransferDetailResponse? = null,
orderId: String = randomString(25), orderId: String = randomString(25),
) = PaymentGatewayResponse( ): PaymentGatewayResponse {
var card: CardDetailResponse? = cardDetail
if (method == PaymentMethod.CARD && cardDetail == null) {
card = cardDetail(amount)
}
var easypay: EasyPayDetailResponse? = easyPayDetail
if (method == PaymentMethod.EASY_PAY && easyPayDetail == null) {
easypay = easypayDetail(amount)
}
var transfer: TransferDetailResponse? = transferDetail
if (method == PaymentMethod.TRANSFER && transferDetail == null) {
transfer = transferDetail()
}
return PaymentGatewayResponse(
paymentKey = paymentKey, paymentKey = paymentKey,
status = PaymentStatus.DONE, status = PaymentStatus.DONE,
orderId = orderId, orderId = orderId,
@ -308,12 +324,13 @@ object PaymentFixture {
vat = (amount * 0.1).toInt(), vat = (amount * 0.1).toInt(),
suppliedAmount = (amount * 0.9).toInt(), suppliedAmount = (amount * 0.9).toInt(),
method = method, method = method,
card = cardDetail, card = card,
easyPay = easyPayDetail, easyPay = easypay,
transfer = transferDetail, transfer = transfer,
requestedAt = KoreaDateTime.nowWithOffset(), requestedAt = KoreaDateTime.nowWithOffset(),
approvedAt = KoreaDateTime.nowWithOffset().plusSeconds(5) approvedAt = KoreaDateTime.nowWithOffset().plusSeconds(5)
) )
}
fun cancelResponse( fun cancelResponse(
amount: Int, amount: Int,