spring-boot-axon-demo/src/main/kotlin/com/cubetiqs/demo/axon/service/AccountCommandService.kt
Sambo Chea 05431bd77b add projection
add dtos
Add exception for account
add repository
add account service command
2020-08-21 11:18:15 +07:00

22 lines
680 B
Kotlin

package com.cubetiqs.demo.axon.service
import com.cubetiqs.demo.axon.dto.AccountCreationDTO
import com.cubetiqs.demo.axon.dto.MoneyAmountDTO
import com.cubetiqs.demo.axon.entity.BankAccount
import org.springframework.stereotype.Service
import java.util.concurrent.CompletableFuture
@Service
interface AccountCommandService {
fun createAccount(creationDTO: AccountCreationDTO): CompletableFuture<BankAccount?>
fun creditMoneyToAccount(
accountId: String?,
moneyCreditDTO: MoneyAmountDTO
): CompletableFuture<String?>
fun debitMoneyFromAccount(
accountId: String?,
moneyDebitDTO: MoneyAmountDTO
): CompletableFuture<String?>
}