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/dao/impl/user_dao_impl.go
2024-09-29 15:46:35 +08:00

84 lines
2.6 KiB
Go

package impl
import (
"schisandra-cloud-album/common/enum"
"schisandra-cloud-album/global"
"schisandra-cloud-album/model"
)
type UserDaoImpl struct {
}
// GetUserList 获取所有用户列表
func (UserDaoImpl) GetUserList() []*model.ScaAuthUser {
data := make([]*model.ScaAuthUser, 0)
global.DB.Where("deleted = 0 ").Find(&data)
return data
}
// QueryUserByUsername 根据用户名查询用户
func (UserDaoImpl) QueryUserByUsername(username string) model.ScaAuthUser {
authUser := model.ScaAuthUser{}
err := global.DB.Where("username = ? and deleted = 0", username).First(&authUser).Error
if err != nil {
return model.ScaAuthUser{}
}
return authUser
}
// QueryUserByUuid 根据用户uuid查询用户
func (UserDaoImpl) QueryUserByUuid(uuid *string) (model.ScaAuthUser, error) {
authUser := model.ScaAuthUser{}
if err := global.DB.Where("uid = ? and deleted = 0", uuid).First(&authUser).Error; err != nil {
return model.ScaAuthUser{}, err
}
return authUser, nil
}
// QueryUserById 根据用户id查询用户
func (UserDaoImpl) QueryUserById(id *int64) (model.ScaAuthUser, error) {
authUser := model.ScaAuthUser{}
if err := global.DB.Where("id = ? and deleted = 0", id).First(&authUser).Error; err != nil {
return model.ScaAuthUser{}, err
}
return authUser, nil
}
// AddUser 添加用户
func (UserDaoImpl) 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 (UserDaoImpl) UpdateUser(phone string, password string) error {
return global.DB.Model(&model.ScaAuthUser{}).Where("phone = ? and deleted = 0", phone).Updates(&model.ScaAuthUser{Password: &password}).Error
}
// DeleteUser 删除用户
func (UserDaoImpl) DeleteUser(uuid string) error {
authUser := model.ScaAuthUser{}
return global.DB.Model(&authUser).Where("uid = ?", uuid).Updates(&model.ScaAuthUser{Deleted: &enum.DELETED}).Error
}
// QueryUserByPhone 根据手机号查询用户
func (UserDaoImpl) QueryUserByPhone(phone string) model.ScaAuthUser {
authUser := model.ScaAuthUser{}
global.DB.Where("phone = ? and deleted = 0", phone).First(&authUser)
return authUser
}
// QueryUserByEmail 根据邮箱查询用户
func (UserDaoImpl) QueryUserByEmail(email string) model.ScaAuthUser {
authUser := model.ScaAuthUser{}
global.DB.Where("email = ? and deleted = 0", email).First(&authUser)
return authUser
}