| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package dao
- import (
- "errors"
- "file-manger-server/db"
- "file-manger-server/domain"
- )
- type UserDao struct{}
- func (dao UserDao) TableName() string {
- return "user"
- }
- func (dao UserDao) GetAll(user domain.User) ([]domain.User, int64, error) {
- var users []domain.User
- count, err := db.Engin.Table("user").FindAndCount(&users, &user)
- return users, count, err
- }
- func (dao UserDao) GetById(id int64) (domain.User, error) {
- var user domain.User
- res, err := db.Engin.Table("user").Where("id=?", id).Get(&user)
- if !res {
- return user, errors.New("用户不存在")
- }
- return user, err
- }
- func (dao UserDao) GetByUsername(username string) (domain.User, error) {
- var user domain.User
- res, err := db.Engin.Table("user").Where("username=?", username).Get(&user)
- if !res {
- return user, errors.New("用户不存在")
- }
- return user, err
- }
- func (dao UserDao) Login(username, password string) (domain.User, error) {
- var user domain.User
- pwd := PasswordHashCompute(password)
- _, err := db.Engin.Table("user").Where("username=? and password=?", username, pwd).Get(&user)
- if err != nil {
- return user, err
- }
- if user.Id != 0 {
- return user, nil
- } else {
- return user, errors.New("用户名或密码错误")
- }
- }
- // Register 简单注册功能
- func (dao UserDao) Register(username, password string) error {
- count, err := db.Engin.Table("user").Where("username=?", username).Count()
- if err != nil {
- return err
- }
- if count > 0 {
- return errors.New("用户名已存在")
- }
- user := domain.User{
- Username: username,
- Password: PasswordHashCompute(password),
- Status: 1,
- }
- _, err = db.Engin.Table("user").Insert(&user)
- return err
- }
|