package models
|
|
import (
|
"errors"
|
"vamicro/extend/util"
|
)
|
|
type SysUser struct {
|
Id string `gorm:"column:id;primary_key;type:varchar(50);unique;not null;" json:"id"`
|
Username string `gorm:"column:username;type varchar(100);unique_index" json:"username"`
|
Password string `gorm:"column:password;type:varchar(100);" json:"password"`
|
Sort int `gorm:"column:sort;default:1;" json:"sort"`
|
Nickname string `gorm:"column:nickname;type varchar(100);default:'';" json:"nickname"`
|
HeadPic string `gorm:"column:headpic;type varchar(100);default:'';" json:"headpic"`
|
BackgroundPic string `gorm:"column:backgroundpic;type varchar(100);default:'';" json:"backgroundpic"`
|
|
UseIconType int `gorm:"column:useIconType;default:1;" json:"useIconType"`
|
}
|
|
const (
|
RecordNotFound = "record not found"
|
DefaultBgPic = "/images/desktop/background.png"
|
)
|
|
func (SysUser) TableName() string {
|
return "sys_user"
|
}
|
|
func (su *SysUser) FindByName(username string) (rows int64,err error){
|
result := db.Table("sys_user").Where("username=?",username).First(&su)
|
if result.Error !=nil && result.Error.Error() != RecordNotFound {
|
return 0,result.Error
|
}
|
return result.RowsAffected,nil
|
}
|
|
func (su *SysUser) SelectById(id string) (rows int64,err error) {
|
result := db.Table("sys_user").Where("id=?",id).First(&su)
|
if result.Error !=nil {
|
return 0,err
|
}
|
return result.RowsAffected,nil
|
}
|
|
func (su *SysUser) UpdatePwd(userId string, encryPwd string) bool {
|
result := db.Exec("update sys_user set password=? where id=?",encryPwd,userId)
|
if result.Error ==nil &&result.RowsAffected >0 {
|
return true
|
}
|
return false
|
}
|
|
func (su *SysUser) FindAll() (list []SysUser,err error) {
|
err = db.Table("sys_user").Order("sort asc").Find(&list).Error
|
if err !=nil {
|
return nil,err
|
} else {
|
return list,nil
|
}
|
}
|
|
func (su *SysUser) Insert()(bool,error){
|
if su.Id == ""{
|
su.Id = util.PseudoUuid()
|
}
|
result:=db.Table("sys_user").Create(&su)
|
if result.Error !=nil {
|
return false,result.Error
|
}
|
return result.RowsAffected>0,nil
|
}
|
|
func (su *SysUser) DeleteById(id string) (bool,error) {
|
result := db.Exec("delete from "+su.TableName()+" where id=?", id)
|
if result.Error != nil {
|
return false, result.Error
|
}
|
if result.RowsAffected >0 {
|
return true, nil
|
}
|
return false, errors.New("del user err")
|
}
|