demo-money-project/src/main/kotlin/com/example/demo/DemoApplication.kt

60 lines
1.9 KiB
Kotlin

package com.example.demo
import com.example.demo.domain.Currency
import com.example.demo.domain.Money
import com.example.demo.domain.MoneyConfig
import com.example.demo.domain.exchange
import com.example.demo.rest.RestWebClient
import org.springframework.boot.CommandLineRunner
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
@SpringBootApplication
class DemoApplication : CommandLineRunner {
override fun run(vararg args: String?) {
// val value1 = "50:USD"
// val value2 = "30:KHR"
// val money1 = Money.parse(value1)
// val money2 = Money.parse(value2)
// val result = money1.addMoney(money2)
//
// println(result)
// val config = "USD=1,KHR=4000,EUR=0.99"
// val result = MoneyConfig.parse(config)
// println(result)
// MoneyConfig.parse("USD=1,KHR=4000,EUR=0.99")
// val value1 = MoneyDyn(value = 2.0, currency = "USD")
// val value2 = MoneyDyn(value = 20000.0, currency = "KHR")
// val value3 = MoneyDyn(value = 0.99, currency = "EUR")
// value1.addMoney(value2)
// value1.addMoney(value3)
//
// // val result = value1.exchange("KHR")
// println(value1.exchangeTo("KHR")) // 7
// val moneyUsd = Money(2.0)
// .addMoney(20000.0, "USD")
// .exchange("KHR")
// .toStdMoneyFormatable()
// .formatMoneyDisplay()
//
// println(moneyUsd)
val url = "http://data.fixer.io/api/latest?access_key=381f3bac3cb8beed200cc4e17c0f8bb4&symbols=USD,KHR,EUR"
val result = RestWebClient.getRates(url)
// println(result)
MoneyConfig.loadFrom(result)
val moneyUsd = Money(10.0, currency = Currency.USD)
val moneyResult = moneyUsd.exchange("KHR")
println(moneyResult)
}
}
fun main(args: Array<String>) {
runApplication<DemoApplication>(*args)
}