package models
|
|
type SysRole struct {
|
Id string `gorm:"primary_key;column:id" json:"id"`
|
Name string `gorm:"column:name" json:"name"`
|
}
|
|
func (SysRole) TableName() string {
|
return "sys_role"
|
}
|
|
func (sr *SysRole) Insert() bool {
|
result := db.Table("sys_role").Create(&sr)
|
if result.Error !=nil {
|
return false
|
}
|
return result.RowsAffected>0
|
}
|
|
func (sr *SysRole) Update() bool {
|
result := db.Table("sys_role").Update(&sr)
|
if result.Error !=nil {
|
return false
|
}
|
return result.RowsAffected>0
|
}
|
|
func (sr *SysRole) SelectById(id string) bool{
|
result := db.Table("sys_role").Where("id=?", id).First(&sr)
|
if result.Error !=nil {
|
return false
|
}
|
return result.RecordNotFound()
|
}
|
|
func (sr *SysRole) FindByUserId(userId string) (roles []SysRole){
|
if err:=db.Raw("select distinct sr.* from sys_role sr join sys_user_role sur on sr.id=sur.role_id where sur.user_id=?",userId).Scan(&roles).Error;err !=nil{
|
return nil
|
}
|
return roles
|
}
|
|
func (sr *SysRole) FindAll() (roles []SysRole,err error) {
|
result := db.Table("sys_role").Find(&roles)
|
return roles,result.Error
|
}
|
|
func (su *SysRole) FindByName(name string) (rows int64,err error){
|
result := db.Table("sys_role").Where("name=?",name).First(&su)
|
if result.Error !=nil && result.Error.Error() != RecordNotFound {
|
return 0,result.Error
|
}
|
return result.RowsAffected,nil
|
}
|