feat: 完善用户基础操作

This commit is contained in:
landaiqing
2024-07-31 21:04:03 +08:00
parent c187b102ed
commit 38422871fe
10 changed files with 567 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
package models
import (
"fmt"
"go-chat/utils"
"gorm.io/gorm"
"time"
@@ -10,6 +11,7 @@ type UserBasic struct {
gorm.Model
Username string
Password string
Avatar string
Phone string `valid:"matches(^1[3-9]{1}\\d{9}$)"`
Email string `valid:"email"`
Identity string
@@ -20,6 +22,7 @@ type UserBasic struct {
LoginOutTime *time.Time `gorm:"column:login_out_time" json:"login_out_time"`
IsLogout bool
DeviceInfo string
Salt string
}
func (table *UserBasic) TableName() string {
@@ -31,3 +34,36 @@ func GetUserList() []*UserBasic {
utils.InitMySQL().Find(&data)
return data
}
func CreateUser(user UserBasic) *gorm.DB {
return utils.InitMySQL().Create(&user)
}
func DeleteUser(user UserBasic) *gorm.DB {
return utils.InitMySQL().Delete(&user)
}
func UpdateUser(user UserBasic) *gorm.DB {
return utils.InitMySQL().Model(&user).Updates(UserBasic{Username: user.Username, Password: user.Password, Phone: user.Phone, Email: user.Email, Avatar: user.Avatar})
}
func FindUserByName(name string) UserBasic {
user := UserBasic{}
utils.InitMySQL().Where("username = ?", name).Find(&user)
return user
}
func FindUserByPhone(phone string) *gorm.DB {
user := UserBasic{}
return utils.InitMySQL().Where("phone= ?", phone).Find(&user)
}
func FindUserByEmail(email string) *gorm.DB {
user := UserBasic{}
return utils.InitMySQL().Where("email = ?", email).First(&user)
}
func FindUserByNameAndPwd(name string, password string) UserBasic {
user := UserBasic{}
utils.InitMySQL().Where("name = ? and password = ?", name, password).First(&user)
//token加密
str := fmt.Sprintf("%d", time.Now().Unix())
temp := utils.MD5Encode(str)
utils.InitMySQL().Model(&user).Where("id = ?", user.ID).Update("identity", temp)
return user
}