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") }