Skip to content

Instantly share code, notes, and snippets.

@masa-x
Created January 14, 2018 11:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save masa-x/a4185630bb5fb28ab88c25ebedc86601 to your computer and use it in GitHub Desktop.
Save masa-x/a4185630bb5fb28ab88c25ebedc86601 to your computer and use it in GitHub Desktop.
修正後
package usecase
import "strconv"
type Withdrawal struct{
mOutputBoundary OutputBoundary
mDataAccessor DataAccessor
}
func CreateWithdrawal(aOutputBoundary OutputBoundary,
aDataAccessor DataAccessor) *Withdrawal{
return &Withdrawal{
mOutputBoundary: aOutputBoundary,
mDataAccessor: aDataAccessor}
}
func (r Withdrawal) Input(aDataSource map[string]string){
aDataSource["process"] = "Withdrawal";
amountOfMoney, err := strconv.Atoi(aDataSource["amount_of_money"])
if err != nil || amountOfMoney < 0 {
aDataSource["result"] = "Failed";
r.mOutputBoundary.Output(aDataSource)
return;
}
balance := r.mDataAccessor.GetBalance();
subtratedBalance := balance.Subtract(amountOfMoney)
aDataSource["balance"] = subtratedBalance.ValueAsString()
aDataSource["result"] = "Success";
r.mDataAccessor.UpdateBalance(subtratedBalance.Value())
r.mOutputBoundary.Output(aDataSource)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment