This commit is contained in:
2025-10-27 15:24:08 +08:00
parent 4186cd0caf
commit df4c3dd46f
47 changed files with 1757 additions and 306 deletions

View File

@@ -67,25 +67,44 @@ func (s *store) Initialize(ctx context.Context, departId, roleId int32) error {
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
}
return s.Create(ctx, &user)
_, err = s.Create(ctx, &user)
return err
}
return nil
}
func (s *store) Create(ctx context.Context, obj *system.User) error {
func (s *store) Create(ctx context.Context, obj *system.User) (*system.User, error) {
//goland:noinspection ALL
const q = `
INSERT INTO sys_user (
uuid, email, username, hashed_password, salt, avatar, gender, department_id, role_id, status
) VALUES (
:uuid, :email, :username, :hashed_password, :salt, :avatar, :gender, :department_id, :role_id, :status
);`
) RETURNING *;`
return sqldb.NamedExecContext(ctx, s.log, s.db.DB(ctx), q, obj)
data := map[string]any{
"uuid": obj.Uuid.String(),
"email": obj.Email,
"username": obj.Username,
"hashed_password": obj.HashedPassword,
"salt": obj.Salt,
"avatar": obj.Avatar,
"gender": obj.Gender,
"department_id": obj.DepartmentID,
"role_id": obj.RoleID,
"status": obj.Status,
}
err := sqldb.NamedQueryStruct(ctx, s.log, s.db.DB(ctx), q, data, &obj)
if err != nil {
return nil, err
}
return obj, nil
}
func (s *store) Update(ctx context.Context, obj *system.User) error {
func (s *store) Update(ctx context.Context, obj *system.User) (*system.User, error) {
//goland:noinspection ALL
const q = `
UPDATE sys_user
@@ -99,9 +118,28 @@ func (s *store) Update(ctx context.Context, obj *system.User) error {
status = :status,
change_password_at = :change_password_at,
updated_at = :updated_at
WHERE id = :id;`
WHERE id = :id RETURNING *;`
return sqldb.NamedExecContext(ctx, s.log, s.db.DB(ctx), q, obj)
data := map[string]any{
"email": obj.Email,
"username": obj.Username,
"hashed_password": obj.HashedPassword,
"avatar": obj.Avatar,
"gender": obj.Gender,
"department_id": obj.DepartmentID,
"role_id": obj.RoleID,
"status": obj.Status,
"change_password_at": obj.ChangePasswordAt,
"updated_at": obj.UpdatedAt,
"id": obj.ID,
}
err := sqldb.NamedQueryStruct(ctx, s.log, s.db.DB(ctx), q, data, &obj)
if err != nil {
return nil, err
}
return obj, nil
}
func (s *store) Get(ctx context.Context, id int32) (*system.User, error) {