This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
Files
schisandra-cloud-album/service/user_service/user_service.go
2024-08-14 00:11:32 +08:00

69 lines
2.1 KiB
Go

package user_service
import (
"gorm.io/gorm"
"schisandra-cloud-album/common/enum"
"schisandra-cloud-album/global"
"schisandra-cloud-album/model"
)
// GetUserList 获取所有用户列表
func (UserService) GetUserList() []*model.ScaAuthUser {
data := make([]*model.ScaAuthUser, 0)
global.DB.Where("deleted = 0 ").Find(&data)
return data
}
// QueryUserByUsername 根据用户名查询用户
func (UserService) QueryUserByUsername(username string) model.ScaAuthUser {
authUser := model.ScaAuthUser{}
global.DB.Where("username = ? and deleted = 0", username).First(&authUser)
return authUser
}
// QueryUserByUuid 根据用户uuid查询用户
func (UserService) QueryUserByUuid(uuid string) model.ScaAuthUser {
authUser := model.ScaAuthUser{}
global.DB.Where("uuid = ? and deleted = 0", uuid).First(&authUser)
return authUser
}
// AddUser 添加用户
func (UserService) AddUser(user model.ScaAuthUser) (model.ScaAuthUser, error) {
if err := global.DB.Create(&user).Error; err != nil {
return model.ScaAuthUser{}, err
}
// 查询创建后的用户信息
var createdUser model.ScaAuthUser
if err := global.DB.First(&createdUser, user.ID).Error; err != nil {
return model.ScaAuthUser{}, err
}
return createdUser, nil
}
// UpdateUser 更新用户
func (UserService) UpdateUser(user model.ScaAuthUser) *gorm.DB {
authUser := model.ScaAuthUser{}
return global.DB.Model(&authUser).Where("uuid = ?", user.UID).Updates(user)
}
// DeleteUser 删除用户
func (UserService) DeleteUser(uuid string) error {
authUser := model.ScaAuthUser{}
return global.DB.Model(&authUser).Where("uuid = ?", uuid).Updates(&model.ScaAuthUser{Deleted: &enum.DELETED}).Error
}
// QueryUserByPhone 根据手机号查询用户
func (UserService) QueryUserByPhone(phone string) model.ScaAuthUser {
authUser := model.ScaAuthUser{}
global.DB.Where("phone = ? and deleted = 0", phone).First(&authUser)
return authUser
}
// QueryUserByEmail 根据邮箱查询用户
func (UserService) QueryUserByEmail(email string) model.ScaAuthUser {
authUser := model.ScaAuthUser{}
global.DB.Where("email = ? and deleted = 0", email).First(&authUser)
return authUser
}