From c921a9a89a0359ae81ea8ef071a3a72177e94e53 Mon Sep 17 00:00:00 2001 From: pricelees Date: Wed, 1 Oct 2025 10:30:19 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=EB=A5=BC=20?= =?UTF-8?q?=EC=9C=84=ED=95=B4=20=EC=9E=84=EC=9D=98=EC=9D=98=20=EA=B2=B0?= =?UTF-8?q?=EC=A0=9C=20=EC=A0=95=EB=B3=B4=EB=A5=BC=20=EC=A0=9C=EA=B3=B5?= =?UTF-8?q?=ED=95=98=EA=B8=B0=20=EC=9C=84=ED=95=9C=20=EB=9E=9C=EB=8D=A4?= =?UTF-8?q?=EA=B0=92=20=EC=83=9D=EC=84=B1=20=EC=9C=A0=ED=8B=B8=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/domain/RandomValueGenerator.kt | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/RandomValueGenerator.kt diff --git a/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/RandomValueGenerator.kt b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/RandomValueGenerator.kt new file mode 100644 index 00000000..0e8bfee3 --- /dev/null +++ b/tosspay-mock/src/main/kotlin/com/sangdol/tosspaymock/business/domain/RandomValueGenerator.kt @@ -0,0 +1,45 @@ +package com.sangdol.tosspaymock.business.domain + +object RandomCardValueGenerator { + fun cardNumber(): String { + return "${(10000000..99999999).random()}****${(100..999).random()}*" + } + + fun approvalNumber(): String { + return "${(0..99999999).random()}".padStart(8, '0') + } + + fun installmentPlanMonths(amount: Int): Int { + return if (amount < 50_000 || Math.random() < 0.95) { + 0 + } else { + (1..6).random() + } + } +} + +object RandomEasypayValueGenerator { + fun point(amount: Int): Int = + if (amount < 100 || Math.random() < 0.8) { + 0 + } else { + // 100~amount 까지 100원 단위로 생성 + ((100..amount).random() / 100) * 100 + } +} + +object RandomPaymentValueGenerator { + fun mId(): String { + val words = ('a'..'z') + val randomValue = (1..9).map { words.random() }.joinToString("") + + return "tgen_${randomValue}" + } + + fun transactionKey(): String { + val prefix = "txrd" + val characters = ('0'..'9') + ('a'..'z') + val randomString = (1..24).map { characters.random() }.joinToString("") + return "${prefix}_${randomString}" + } +}