1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- package dao
- import (
- "errors"
- "fmt"
- "github.com/RaymondCode/simple-demo/entities"
- "github.com/RaymondCode/simple-demo/util"
- "gorm.io/gorm"
- "strconv"
- "sync"
- )
- type UserDao struct{}
- var (
- userDao *UserDao
- userOnce sync.Once
- )
- func NewUserDaoInstance() *UserDao {
- userOnce.Do(func() {
- userDao = &UserDao{}
- })
- return userDao
- }
- func GetUserByIdAndPassword(userId string, password string) (*entities.User, error) {
- //检查用户名是否存在
- var user entities.User
- result := Db.Table("user").Where("user_id = ?", userId).Limit(1).Find(&user)
- if result.RowsAffected == 0 {
- err := errors.New("username does not exist")
- return nil, err
- }
- //检查密码是否正确
- if util.GetMd5Val(password) != user.Password {
- err := errors.New("wrong password")
- return nil, err
- }
- return &user, nil
- }
- func GetUserById(tokenString string) entities.User {
- var res entities.User
- Db.Table("user").Where("user_id = ?", tokenString).Limit(1).Find(&res)
- fmt.Printf("%+v\n", res)
- return res
- }
- func GetUserByIdInt64(userId int64) entities.User {
- var res entities.User
- id := strconv.FormatInt(userId, 10)
- Db.Table("user").Where("id = ?", id).Limit(1).Find(&res)
- return res
- }
- func GetIdByUserId(userid string) string {
- var res entities.User
- Db.Table("user").Where("user_id = ?", userid).Limit(1).Find(&res)
- return strconv.FormatInt(res.Id, 10)
- }
- func GetUserByUserIdInt64(userId int64) entities.User {
- var res entities.User
- id := strconv.FormatInt(userId, 10)
- Db.Table("user").Where("user_id = ?", id).Limit(1).Find(&res)
- return res
- }
- func AddNewUser(user2 entities.User) error {
- err := Db.Transaction(func(tx *gorm.DB) error {
- // 在事务中执行一些 db 操作(从这里开始,您应该使用 'tx' 而不是 'db')
- if err := tx.Table("user").Create(user2).Error; err != nil {
- // 返回任何错误都会回滚事务
- fmt.Println("create new user error")
- return err
- }
- // 返回 nil 提交事务
- return nil
- })
- return err
- }
- func GetUserListByIdArray(list []int64) []entities.User {
- var temp []entities.User
- Db.Table("user").Where("id In ?", list).Debug().Find(&temp)
- return temp
- }
|