You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.7 KiB
Go

package models
import (
"errors"
"fmt"
"go_mqtt/mydb"
"gorm.io/gorm"
)
type User struct {
Username string `gorm:"primaryKey;size:100"`
Password string `gorm:"size:255"`
Date string `gorm:"size:255"`
Imeinum string `gorm:"size:50"`
Sysversion string `gorm:"size:100"`
Phonemodel string `gorm:"size:255"`
Appversion string `gorm:"size:255"`
Name string `gorm:"size:255"`
}
// Userdyw
func init() {
fmt.Println("User init()")
mydb.DB.AutoMigrate(&User{})
}
// TableName 会将 User 的表名重写为 `user`
func (User) TableName() string {
return "user"
}
func SaveUser(user *User) {
result := mydb.DB.Create(&user)
if result.Error != nil {
fmt.Println("Failed to create User:", result.Error)
} else {
fmt.Println("User created successfully!")
}
}
func UpdateUser(item *User) {
fmt.Println("用户存在,更新操作")
var user User
//mydb.DB.First(&user, item.Username)
mydb.DB.Where("username = ?", item.Username).First(&user)
user.Password = item.Password
user.Date = item.Date
user.Imeinum = item.Imeinum
user.Sysversion = item.Sysversion
user.Phonemodel = item.Phonemodel
user.Appversion = item.Appversion
user.Name = item.Name
mydb.DB.Save(&user)
}
func GetUser(item *User) bool {
var user User
//mydb.DB.First(&user, item.Username)
//result := mydb.DB.First(&user, item.Username).Error
result := mydb.DB.Where("username = ?", item.Username).First(&user).Error
fmt.Println("-----user---->>")
fmt.Println(user)
if errors.Is(result, gorm.ErrRecordNotFound) {
// 记录不存在
fmt.Println("用户不存在")
} else if result == nil {
// 记录存在
fmt.Println("用户存在")
return true
} else {
// 其他错误
fmt.Println("查询出错")
}
return false
}