This commit is contained in:
苏尹岚
2020-09-27 15:24:36 +08:00
parent 4dd0e7dd8f
commit 5c9b56b5f4
4 changed files with 90 additions and 0 deletions

View File

@@ -72,3 +72,31 @@ func UpdateMenu(ctx *jxcontext.Context, menuID int, payload map[string]interface
dao.Commit(db)
return num, err
}
func GetRole(ctx *jxcontext.Context) (roles []*model.Role, err error) {
return dao.GetRole(dao.GetDB(), "")
}
func AddRole(ctx *jxcontext.Context, name string) (err error) {
var (
db = dao.GetDB()
)
roles, err := dao.GetRole(db, name)
if len(roles) > 0 {
return fmt.Errorf("添加失败!已存在相同名称的 role name : %v", name)
}
role := &model.Role{
Name: name,
}
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
dao.WrapAddIDCULDEntity(role, ctx.GetUserName())
err = dao.CreateEntity(db, role)
dao.Commit(db)
return err
}

View File

@@ -25,3 +25,20 @@ func GetMenu(db *DaoDB, name string, level int) (menus []*model.Menu, err error)
err = GetRows(db, &menus, sql, sqlParams)
return menus, err
}
func GetRole(db *DaoDB, name string) (roles []*model.Role, err error) {
sql := `
SELECT *
FROM role
WHERE deleted_at = ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
if name != "" {
sql += " AND name LIKE ?"
sqlParams = append(sqlParams, "%"+name+"%")
}
err = GetRows(db, &roles, sql, sqlParams)
return roles, err
}