You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.0 KiB
59 lines
1.0 KiB
3 years ago
|
package data
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"strconv"
|
||
|
|
||
|
"github.com/go-kratos/kratos/examples/transaction/ent/internal/biz"
|
||
|
"github.com/go-kratos/kratos/v2/log"
|
||
|
)
|
||
|
|
||
|
type userRepo struct {
|
||
|
data *Data
|
||
|
log *log.Helper
|
||
|
}
|
||
|
|
||
|
type cardRepo struct {
|
||
|
data *Data
|
||
|
log *log.Helper
|
||
|
}
|
||
|
|
||
|
func (u *userRepo) CreateUser(ctx context.Context, m *biz.User) (int, error) {
|
||
|
user, err := u.data.User(ctx).
|
||
|
Create().
|
||
|
SetName(m.Name).
|
||
|
SetEmail(m.Email).
|
||
|
Save(ctx)
|
||
|
if err != nil {
|
||
|
return 0, err
|
||
|
}
|
||
|
return user.ID, nil
|
||
|
}
|
||
|
|
||
|
// NewUserRepo .
|
||
|
func NewUserRepo(data *Data, logger log.Logger) biz.UserRepo {
|
||
|
return &userRepo{
|
||
|
data: data,
|
||
|
log: log.NewHelper(logger),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (c *cardRepo) CreateCard(ctx context.Context, id int) (int, error) {
|
||
|
card, err := c.data.Card(ctx).
|
||
|
Create().
|
||
|
SetMoney("1000").
|
||
|
SetUserID(strconv.Itoa(id)).
|
||
|
Save(ctx)
|
||
|
if err != nil {
|
||
|
return 0, err
|
||
|
}
|
||
|
return card.ID, nil
|
||
|
}
|
||
|
|
||
|
func NewCardRepo(data *Data, logger log.Logger) biz.CardRepo {
|
||
|
return &cardRepo{
|
||
|
data: data,
|
||
|
log: log.NewHelper(logger),
|
||
|
}
|
||
|
}
|