package service import "dddexample/pkg/domain/entity" func Transfer(sourceAccount, targetAccount *entity.AccountEntity, money entity.Money, exchangeRate *entity.ExchangeRate) (err error) { var sourceMoney = exchangeRate.ExchageTo(money) err = targetAccount.Deposit(money) //转入 if err != nil { return err } err = sourceAccount.Withdraw(sourceMoney) //转出 if err != nil { return err } return }