package services import ( q "platform/web/queries" "time" ) var User = &userService{} type userService struct{} func (s *userService) RechargeConfirm(tradeNo string, verified *TradeSuccessResult) error { err := q.Q.Transaction(func(tx *q.Query) error { // 更新交易状态 trade, err := Trade.OnTradeCreated(tx, &OnTradeCreateData{ TradeNo: tradeNo, TradeSuccessResult: *verified, }) if err != nil { return err } // 更新用户余额 user, err := tx.User. Where(tx.User.ID.Eq(trade.UserID)).Take() if err != nil { return err } _, err = tx.User. Where(tx.User.ID.Eq(user.ID)). UpdateSimple(tx.User.Balance.Value(user.Balance.Add(trade.Amount))) if err != nil { return err } return nil }) if err != nil { return err } return nil } func (s *userService) RechargeCancel(tradeNo string, now time.Time) error { panic("not implemented") } func (s *userService) RechargeRefund(tradeNo string, now time.Time) error { panic("not implemented") }