|
|
@ -32,6 +32,19 @@ func FindOne(ctx context.Context, db *gorm.DB, id int64) (*User, error) { |
|
|
return &user, nil |
|
|
return &user, nil |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// FindOneByCasdoorId 根据 Casdoor ID 查询用户
|
|
|
|
|
|
func FindOneByCasdoorId(ctx context.Context, db *gorm.DB, casdoorId string) (*User, error) { |
|
|
|
|
|
var user User |
|
|
|
|
|
result := db.WithContext(ctx).Where("casdoor_id = ?", casdoorId).First(&user) |
|
|
|
|
|
if result.Error != nil { |
|
|
|
|
|
if errors.Is(result.Error, gorm.ErrRecordNotFound) { |
|
|
|
|
|
return nil, ErrNotFound |
|
|
|
|
|
} |
|
|
|
|
|
return nil, result.Error |
|
|
|
|
|
} |
|
|
|
|
|
return &user, nil |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// FindOneByEmail 根据邮箱查询用户
|
|
|
// FindOneByEmail 根据邮箱查询用户
|
|
|
func FindOneByEmail(ctx context.Context, db *gorm.DB, email string) (*User, error) { |
|
|
func FindOneByEmail(ctx context.Context, db *gorm.DB, email string) (*User, error) { |
|
|
var user User |
|
|
var user User |
|
|
@ -45,6 +58,32 @@ func FindOneByEmail(ctx context.Context, db *gorm.DB, email string) (*User, erro |
|
|
return &user, nil |
|
|
return &user, nil |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// FindOneByPhone 根据手机号查询用户
|
|
|
|
|
|
func FindOneByPhone(ctx context.Context, db *gorm.DB, phone string) (*User, error) { |
|
|
|
|
|
var user User |
|
|
|
|
|
result := db.WithContext(ctx).Where("phone = ?", phone).First(&user) |
|
|
|
|
|
if result.Error != nil { |
|
|
|
|
|
if errors.Is(result.Error, gorm.ErrRecordNotFound) { |
|
|
|
|
|
return nil, ErrNotFound |
|
|
|
|
|
} |
|
|
|
|
|
return nil, result.Error |
|
|
|
|
|
} |
|
|
|
|
|
return &user, nil |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// FindOneByUsername 根据用户名查询用户
|
|
|
|
|
|
func FindOneByUsername(ctx context.Context, db *gorm.DB, username string) (*User, error) { |
|
|
|
|
|
var user User |
|
|
|
|
|
result := db.WithContext(ctx).Where("username = ?", username).First(&user) |
|
|
|
|
|
if result.Error != nil { |
|
|
|
|
|
if errors.Is(result.Error, gorm.ErrRecordNotFound) { |
|
|
|
|
|
return nil, ErrNotFound |
|
|
|
|
|
} |
|
|
|
|
|
return nil, result.Error |
|
|
|
|
|
} |
|
|
|
|
|
return &user, nil |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// Update 更新用户
|
|
|
// Update 更新用户
|
|
|
func Update(ctx context.Context, db *gorm.DB, user *User) error { |
|
|
func Update(ctx context.Context, db *gorm.DB, user *User) error { |
|
|
result := db.WithContext(ctx).Save(user) |
|
|
result := db.WithContext(ctx).Save(user) |
|
|
@ -57,6 +96,19 @@ func Delete(ctx context.Context, db *gorm.DB, id int64) error { |
|
|
return result.Error |
|
|
return result.Error |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// FindOneByRole 根据角色查询第一个用户
|
|
|
|
|
|
func FindOneByRole(ctx context.Context, db *gorm.DB, role string) (*User, error) { |
|
|
|
|
|
var user User |
|
|
|
|
|
result := db.WithContext(ctx).Where("role = ?", role).First(&user) |
|
|
|
|
|
if result.Error != nil { |
|
|
|
|
|
if errors.Is(result.Error, gorm.ErrRecordNotFound) { |
|
|
|
|
|
return nil, ErrNotFound |
|
|
|
|
|
} |
|
|
|
|
|
return nil, result.Error |
|
|
|
|
|
} |
|
|
|
|
|
return &user, nil |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// FindList 查询用户列表
|
|
|
// FindList 查询用户列表
|
|
|
func FindList(ctx context.Context, db *gorm.DB, page, pageSize int64, keyword string, status int64) ([]User, int64, error) { |
|
|
func FindList(ctx context.Context, db *gorm.DB, page, pageSize int64, keyword string, status int64) ([]User, int64, error) { |
|
|
var users []User |
|
|
var users []User |
|
|
|