zhangzengfei
2023-09-04 e8e536d1cb52d2126c8c7ce2ba1c7a76f7208678
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
}