From dab26c49a8be2d78dc180be3bdd4563e465990bb Mon Sep 17 00:00:00 2001 From: pricelees Date: Wed, 1 Oct 2025 10:50:59 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B0=81=20=EB=8F=84=EB=A9=94=EC=9D=B8?= =?UTF-8?q?=EC=97=90=20DTO=20=EB=B3=80=ED=99=98=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tosspaymock/business/domain/Payment.kt | 42 +++++++++++++++++++ .../business/domain/cancel/Cancellation.kt | 17 ++++++++ .../tosspaymock/business/domain/card/Card.kt | 17 ++++++++ .../business/domain/easypay/Easypay.kt | 7 ++++ .../business/domain/transfer/BankTransfer.kt | 7 ++++ 5 files changed, 90 insertions(+) diff --git a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/Payment.kt b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/Payment.kt index 25414e87..004b66c6 100644 --- a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/Payment.kt +++ b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/Payment.kt @@ -4,6 +4,7 @@ import com.sangdol.tosspaymock.business.domain.cancel.Cancellation import com.sangdol.tosspaymock.business.domain.card.Card import com.sangdol.tosspaymock.business.domain.easypay.Easypay import com.sangdol.tosspaymock.business.domain.transfer.BankTransfer +import com.sangdol.tosspaymock.web.dto.PaymentResponse import java.time.OffsetDateTime class Payment( @@ -176,4 +177,45 @@ class Payment( ) } } + + + fun toResponse() = PaymentResponse( + mid = this.mid, + lastTransactionKey = this.lastTransactionKey, + paymentKey = this.paymentKey, + orderId = this.orderId, + orderName = this.orderName, + taxExemptionAmount = this.taxExemptionAmount, + status = this.status.name, + requestedAt = this.requestedAt, + approvedAt = this.approvedAt, + useEscrow = this.useEscrow, + cultureExpense = this.cultureExpense, + card = this.card?.toResponse(), + virtualAccount = this.virtualAccount, + transfer = this.transfer?.toResponse(), + mobilePhone = this.mobilePhone, + giftCertificate = this.giftCertificate, + cashReceipt = this.cashReceipt, + cashReceipts = this.cashReceipts, + discount = this.discount, + cancels = this.cancels?.toResponse(), + secret = this.secret, + type = this.type, + easyPay = this.easyPay?.toResponse(), + country = this.country, + failure = this.failure, + isPartialCancelable = this.isPartialCancelable, + receipt = this.receipt, + checkout = this.checkout, + currency = this.currency, + totalAmount = this.totalAmount, + balanceAmount = this.balanceAmount, + suppliedAmount = this.suppliedAmount, + vat = this.vat, + taxFreeAmount = this.taxFreeAmount, + method = this.method.koreanName, + version = this.version, + metadata = this.metadata, + ) } diff --git a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/cancel/Cancellation.kt b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/cancel/Cancellation.kt index 32966c05..edd2e389 100644 --- a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/cancel/Cancellation.kt +++ b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/cancel/Cancellation.kt @@ -1,6 +1,7 @@ package com.sangdol.tosspaymock.business.domain.cancel import com.sangdol.tosspaymock.business.domain.RandomPaymentValueGenerator +import com.sangdol.tosspaymock.web.dto.CancelResponse import java.time.OffsetDateTime class Cancellation( @@ -35,4 +36,20 @@ class Cancellation( cancelAmount = cancelAmount, ) } + + fun toResponse() = CancelResponse( + transactionKey = this.transactionKey, + cancelReason = this.cancelReason, + taxExemptionAmount = this.taxExemptionAmount, + canceledAt = this.canceledAt, + cardDiscountAmount = this.cardDiscountAmount, + transferDiscountAmount = this.transferDiscountAmount, + easyPayDiscountAmount = this.easyPayDiscountAmount, + receiptKey = this.receiptKey, + cancelStatus = this.cancelStatus, + cancelRequestId = this.cancelRequestId, + cancelAmount = this.cancelAmount, + taxFreeAmount = this.taxFreeAmount, + refundableAmount = this.refundableAmount + ) } diff --git a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/card/Card.kt b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/card/Card.kt index b3068c8e..4bb0956b 100644 --- a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/card/Card.kt +++ b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/card/Card.kt @@ -1,6 +1,7 @@ package com.sangdol.tosspaymock.business.domain.card import com.sangdol.tosspaymock.business.domain.RandomCardValueGenerator +import com.sangdol.tosspaymock.web.dto.CardResponse class Card( val issuerCode: CardIssuerCode, @@ -36,4 +37,20 @@ class Card( ) } } + + + fun toResponse() = CardResponse( + issuerCode = this.issuerCode.code, + acquirerCode = this.acquirerCode.code, + number = this.number, + installmentPlanMonths = this.installmentPlanMonths, + isInterestFree = this.isInterestFree, + interestPayer = this.interestPayer, + approveNo = this.approveNo, + useCardPoint = this.useCardPoint, + cardType = this.cardType.koreanName, + ownerType = this.ownerType.koreanName, + acquireStatus = this.acquireStatus.name, + amount = this.amount + ) } diff --git a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/easypay/Easypay.kt b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/easypay/Easypay.kt index bfe56cbb..8fec4fcf 100644 --- a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/easypay/Easypay.kt +++ b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/easypay/Easypay.kt @@ -1,6 +1,7 @@ package com.sangdol.tosspaymock.business.domain.easypay import com.sangdol.tosspaymock.business.domain.RandomEasypayValueGenerator +import com.sangdol.tosspaymock.web.dto.EasypayResponse class Easypay( val provider: EasypayProvider, @@ -28,4 +29,10 @@ class Easypay( ) } } + + fun toResponse() = EasypayResponse( + provider = this.provider.koreanName, + amount = this.amount, + discountAmount = this.discountAmount + ) } diff --git a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/transfer/BankTransfer.kt b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/transfer/BankTransfer.kt index 18531edb..1c7bfd45 100644 --- a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/transfer/BankTransfer.kt +++ b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/transfer/BankTransfer.kt @@ -1,5 +1,7 @@ package com.sangdol.tosspaymock.business.domain.transfer +import com.sangdol.tosspaymock.web.dto.BankTransferResponse + class BankTransfer( val bankCode: BankCode, val settlementStatus: SettlementStatus, @@ -12,4 +14,9 @@ class BankTransfer( ) } } + + fun toResponse() = BankTransferResponse( + bankCode = this.bankCode.code, + settlementStatus = this.settlementStatus.name + ) }