diff --git a/business/jxstore/cms/permission.go b/business/jxstore/cms/permission.go index eb0b260e6..bc8f0ea46 100644 --- a/business/jxstore/cms/permission.go +++ b/business/jxstore/cms/permission.go @@ -78,14 +78,14 @@ func UpdateMenu(ctx *jxcontext.Context, menuID int, payload map[string]interface } func GetRole(ctx *jxcontext.Context) (roles []*model.Role, err error) { - return dao.GetRole(dao.GetDB(), "") + return dao.GetRole(dao.GetDB(), "", "") } func AddRole(ctx *jxcontext.Context, name string) (err error) { var ( db = dao.GetDB() ) - roles, err := dao.GetRole(db, name) + roles, err := dao.GetRole(db, "", name) if len(roles) > 0 { return fmt.Errorf("添加失败!已存在相同名称的 role name : %v", name) } diff --git a/business/model/dao/permission.go b/business/model/dao/permission.go index b995155c7..5ffa77c09 100644 --- a/business/model/dao/permission.go +++ b/business/model/dao/permission.go @@ -48,7 +48,7 @@ func GetMenuWithUser(db *DaoDB, name string, level int, userID string) (menus [] return menus, err } -func GetRole(db *DaoDB, name string) (roles []*model.Role, err error) { +func GetRole(db *DaoDB, name, name2 string) (roles []*model.Role, err error) { sql := ` SELECT * FROM role @@ -61,6 +61,10 @@ func GetRole(db *DaoDB, name string) (roles []*model.Role, err error) { sql += " AND name LIKE ?" sqlParams = append(sqlParams, "%"+name+"%") } + if name2 != "" { + sql += " AND name = ?" + sqlParams = append(sqlParams, name2) + } err = GetRows(db, &roles, sql, sqlParams) return roles, err }