47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package db
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
db "management/internal/db/sqlc"
|
|
"management/internal/pkg/crypto"
|
|
"management/internal/pkg/rand"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
func initUser(departID int32, roleID int32) (*db.SysUser, error) {
|
|
salt, err := rand.String(10)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
password := "secret"
|
|
hashedPassword, err := crypto.BcryptHashPassword(password + salt)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
initTime, err := time.ParseInLocation(time.DateTime, "0001-01-01 00:00:00", time.Local)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
arg := db.CreateSysUserParams{
|
|
Uuid: uuid.Must(uuid.NewV7()),
|
|
Email: "1185230223@qq.com",
|
|
Username: "kenneth",
|
|
HashedPassword: hashedPassword,
|
|
Salt: salt,
|
|
Avatar: "/statics/admin/images/avatar.jpg",
|
|
Gender: 1,
|
|
DepartmentID: departID,
|
|
RoleID: roleID,
|
|
Status: 0,
|
|
ChangePasswordAt: initTime,
|
|
CreatedAt: time.Now(),
|
|
UpdatedAt: time.Now(),
|
|
}
|
|
return db.Engine.CreateSysUser(context.Background(), &arg)
|
|
}
|