diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 82d1840b6..5937d1b8f 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -922,7 +922,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa for k, _ := range valid { if roleMap[k] != "" || marketManPhoneRoleMap[k] != "" { - menus, _ := dao.GetMenu(db, "结算权限", 0, 1, ctx.GetUserID()) + menus, _ := dao.GetMenuWithUser(dao.GetDB(), "结算权限", 0, 1, ctx.GetUserID()) if len(menus) == 0 { return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改此字段!", ctx.GetUserName())) } diff --git a/business/jxstore/permission/permission.go b/business/jxstore/permission/permission.go index 1af04da96..6756a44b1 100644 --- a/business/jxstore/permission/permission.go +++ b/business/jxstore/permission/permission.go @@ -20,7 +20,7 @@ func GetMenu(ctx *jxcontext.Context, userID string) (menus []*model.Menu, err er } else { if user, err := dao.GetUserByID(dao.GetDB(), "user_id", userID); err == nil { if user.Type&model.UserTypeRole != 0 { - return dao.GetMenuWithUser(dao.GetDB(), "", 0, userID) + return dao.GetMenuWithUser(dao.GetDB(), "", 0, 0, userID) } else { return dao.GetMenu(dao.GetDB(), "", 0, 0, "") } diff --git a/business/model/dao/permission.go b/business/model/dao/permission.go index eeff516a9..cd6ad0d2b 100644 --- a/business/model/dao/permission.go +++ b/business/model/dao/permission.go @@ -38,7 +38,7 @@ func GetMenu(db *DaoDB, name string, level, menuType int, userID string) (menus return menus, err } -func GetMenuWithUser(db *DaoDB, name string, level int, userID string) (menus []*model.Menu, err error) { +func GetMenuWithUser(db *DaoDB, name string, level, menuType int, userID string) (menus []*model.Menu, err error) { sql := ` SELECT DISTINCT b.* FROM ( SELECT a.id,a.parent_id @@ -47,9 +47,10 @@ func GetMenuWithUser(db *DaoDB, name string, level int, userID string) (menus [] JOIN role_menu c ON c.menu_id = a.id AND c.role_id = b.role_id AND c.deleted_at = ? WHERE a.deleted_at = ?)a JOIN menu b ON (b.id = a.id OR b.id = a.parent_id) + WHERE b.type = ? ORDER BY b.id ` - sqlParams := []interface{}{userID, utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue} + sqlParams := []interface{}{userID, utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, menuType} err = GetRows(db, &menus, sql, sqlParams) return menus, err }