gin-example/pkg/domain/service/transfer.go

20 lines
416 B
Go
Raw Normal View History

2023-09-14 06:49:47 +00:00
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
}