feat: 完善用户基础操作
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user