init
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package models
|
||||
|
||||
type RolePrivilege struct {
|
||||
RolePrivilegeID uint `orm:"pk"` // role_privilege_id
|
||||
RoleID uint // role_id
|
||||
PrivilegeID uint // privilege_id
|
||||
IsDelete int8 // is_delete
|
||||
CreateTime uint // create_time
|
||||
UpdateTime uint // update_time
|
||||
|
||||
}
|
||||
|
||||
//根据 role_id 获取权限
|
||||
func (rolePrivilege *RolePrivilege) GetRolePrivilegesByRoleId(roleId int) (rolePrivileges []map[string]string, err error) {
|
||||
|
||||
db := G.DB()
|
||||
res, err := db.Query(db.AR().From("role_privilege").Where(map[string]interface{}{
|
||||
"role_id": roleId,
|
||||
}))
|
||||
if(err != nil) {
|
||||
return
|
||||
}
|
||||
|
||||
rolePrivileges = res.Rows()
|
||||
return
|
||||
}
|
||||
|
||||
//角色授权
|
||||
func (rolePrivilege *RolePrivilege) GrantRolePrivileges(roleId int, privilegeIds []string) (res bool, err error) {
|
||||
|
||||
res = false
|
||||
db := G.DB()
|
||||
//先删除
|
||||
_, err = db.Exec(db.AR().Delete("role_privilege", map[string]interface{}{
|
||||
"role_id": roleId,
|
||||
}))
|
||||
if(err != nil) {
|
||||
return
|
||||
}
|
||||
|
||||
rolePrivileges := []map[string]interface{}{}
|
||||
for _, privilegeId := range privilegeIds {
|
||||
rolePrivilege := map[string]interface{}{
|
||||
"role_id": roleId,
|
||||
"privilege_id": privilegeId,
|
||||
}
|
||||
rolePrivileges = append(rolePrivileges, rolePrivilege)
|
||||
}
|
||||
//批量插入
|
||||
_, err = db.Exec(db.AR().InsertBatch("role_privilege", rolePrivileges))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
res = true
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user