goweb/model/user/user.go

54 lines
980 B
Go

package user
import (
"web/common/page"
"web/database"
"web/model/usergroup"
)
type User struct {
ID int `gorm:"primaryKey;column:id" json:"id"`
Username string `gorm:"column:username" json:"username"`
GroupID int `gorm:"column:group_id" json:"group_id"`
UserGroup usergroup.UserGroup `gorm:"foreignKey:ID;references:GroupID" json:"user_group"`
}
func (User) TableName() string {
return "users"
}
func GetUser() User {
u := User{}
database.DB.Preload("UserGroup").First(&u, "id = ?", 2)
return u
}
func GetUserList(pd page.PageData) page.PageData {
var (
list []User
count int64
)
database.DB.Model(&User{}).
Count(&count).
Preload("UserGroup").
Limit(pd.PageSize).
Offset(pd.Offset).
Find(&list)
pd.Data = list
pd.Total = count
return pd
}
func SetName(id int, name string) bool {
u := User{
ID: id,
Username: name,
}
d := database.DB.Save(&u)
return d.Error == nil
}