diff --git a/internal/service/user_ser/user.go b/internal/service/user_ser/user.go index c1e832a..b5ba315 100644 --- a/internal/service/user_ser/user.go +++ b/internal/service/user_ser/user.go @@ -3,12 +3,24 @@ package user_ser import ( "EnGin/internal/db" "EnGin/internal/ent" + "EnGin/internal/utils/pwd" "context" + "errors" ) -func CreateUser(ctx context.Context, username string) (*ent.User, error) { - // 💡 直接跨包调用 db.Client +var ErrHashPwd = errors.New("密码加密失败") + +func CreateUser(ctx context.Context, username, password, email, ip string) (*ent.User, error) { + // 直接跨包调用 db.Client + hashedPwd, err := pwd.GenerateFromPassword(password) + if err != nil { + return nil, ErrHashPwd + } + return db.Client.User.Create(). - // SetUsername(username). + SetUsername(username). + SetPassword(hashedPwd). + SetEmail(email). + SetIP(ip). Save(ctx) }