mirror of
https://github.com/lzh-1625/go_process_manager.git
synced 2025-09-26 20:11:20 +08:00
52 lines
1.1 KiB
Go
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
|
|
}
|