gin-example/pkg/domain/service/transfer.go
2023-09-14 14:49:47 +08:00

20 lines
416 B
Go

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
}