Files
go_process_manager/dao/user.go
liuzhihang1 831ea9889f 初次提交
2024-06-26 20:45:23 +08:00

52 lines
1.1 KiB
Go

package dao
import (
"errors"
"msm/config"
"msm/model"
"msm/utils"
"time"
)
type userDao struct{}
var UserDao = new(userDao)
func (u *userDao) GetUserByName(name string) model.User {
var result model.User
db.Where("account = ?", name).First(&result)
return result
}
func (u *userDao) CreateUser(user model.User) error {
if len(user.Password) < config.CF.UserPassWordMinLength {
return errors.New("密码小于最小长度")
}
user.Password = utils.Md5(user.Password)
user.CreateTime = time.Now()
tx := db.Create(&user)
return tx.Error
}
func (u *userDao) UpdatePassword(name string, password string) error {
if len(password) < config.CF.UserPassWordMinLength {
return errors.New("新密码太短")
}
tx := db.Model(&model.User{}).Where("account = ?", name).Update("password", utils.Md5(password))
return tx.Error
}
func (u *userDao) DeleteUser(name string) error {
if err := db.Where("account = ?", name).First(&model.User{}).Error; err != nil {
return err
}
tx := db.Delete(&model.User{Account: name})
return tx.Error
}
func (u *userDao) GetUserList() []model.User {
result := []model.User{}
db.Find(&result)
return result
}