package model import ( "time" "gorm.io/gorm" ) type User struct { ID string `json:"id" gorm:"column:id; primaryKey;autoIncrement:false"` UserName string `json:"username" gorm:"column:username; comment:'用户昵称'"` PassWord string `json:"password" gorm:"column:password; comment:'密码'"` Root int `json:"root" gorm:"comment:'权限'; default:0"` Salt string `json:"salt" gorm:"comment:'密码盐'"` RealName string `json:"realname" gorm:"column:realname; comment:'真实姓名'"` Avatar string `json:"avatar" gorm:"comment:'头像'"` LoginTime time.Time `json:"login_time" gorm:"comment:'登录时间';default:null"` LoginIp string `json:"login_ip" gorm:"comment:'登录IP'"` Disable int `json:"disable" gorm:"comment:'有效状态';default:0"` DelFlag int `json:"del_flag" gorm:"comment:'删除状态';default:0"` CreatedAt time.Time `json:"created_at" gorm:"column:created_at;comment:'创建时间'"` UpdatedAt time.Time `json:"updated_at" gorm:"column:updated_at;comment:'修改时间'"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"column:deleted_at;comment:'删除时间'"` } func (u User) TableName() string { return "sys_auth_user" } func GetUserByUserName(db *gorm.DB, username string) (User, error) { user := User{} err := db.Where("username = ?", username).First(&user).Error if err != nil && err != gorm.ErrRecordNotFound { return user, err } return user, nil } func GetUserById(db *gorm.DB, id string) (User, error) { user := User{} err := db.Where("id = ?", id).First(&user).Error if err != nil && err != gorm.ErrRecordNotFound { return user, err } return user, nil } func GetUserList(db *gorm.DB, username string, realname string, offset int, limit int) ([]User, error) { users := []User{} err := db.Order("created_at desc").Where("username like ? and realname like ?", "%"+username+"%", "%"+realname+"%").Offset(offset).Limit(limit).Find(&users).Error if err != nil && err != gorm.ErrRecordNotFound { return users, err } return users, nil }