diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 0521ca795..a35e06dca 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1074,15 +1074,21 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa for k, _ := range valid { if earningInfoMap[k] != "" || marketInfoMap[k] != "" { - menus, _ := dao.GetMenuWithUser(dao.GetDB(), "结算权限", 0, 1, ctx.GetUserID()) - if len(menus) == 0 { - if marketInfoMap[k] != "" { - menus2, _ := dao.GetMenuWithUser(dao.GetDB(), "市场信息", 0, 1, ctx.GetUserID()) - if len(menus2) == 0 { + //增加权限校验 + userRole, err := dao.GetUserRole(dao.GetDB(), []string{ctx.GetUserID()}, []int{model.RoleUpdateSettle}) + if err != nil || len(userRole) == 0 { + return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改此字段!", ctx.GetUserName())) + } else { + menus, _ := dao.GetMenuWithUser(dao.GetDB(), "结算权限", 0, 1, ctx.GetUserID()) + if len(menus) == 0 { + if marketInfoMap[k] != "" { + menus2, _ := dao.GetMenuWithUser(dao.GetDB(), "市场信息", 0, 1, ctx.GetUserID()) + if len(menus2) == 0 { + return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改此字段!", ctx.GetUserName())) + } + } else { return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改此字段!", ctx.GetUserName())) } - } else { - return 0, errors.New(fmt.Sprintf("当前用户 [%v] 无权限修改此字段!", ctx.GetUserName())) } } } diff --git a/business/model/user.go b/business/model/user.go index e915c6d8a..2019314d6 100644 --- a/business/model/user.go +++ b/business/model/user.go @@ -12,11 +12,13 @@ const ( ) const ( - UserTypeConsumer = 1 - UserTypeStoreBoss = 2 - UserTypeOperator = 4 - UserTypeBoss = 8 - UserTypeRole = 16 + UserTypeConsumer = 1 + UserTypeStoreBoss = 2 + UserTypeOperator = 4 + UserTypeBoss = 8 + UserTypeRole = 16 + RoleUpdateSettle = 19 //修改市场权限 + UserTypeNonConsumer = ^1 MemberTypeDiscountCard = 1 //会员折扣卡