package middleware import ( "fmt" "surveyService/response" "surveyService/util" "surveyService/util/constants" "github.com/gin-gonic/gin" "gogs.uu.mdfitnesscao.com/hys/sdk" sdk_constants "gogs.uu.mdfitnesscao.com/hys/sdk/constants" ) func PermissionCheckStaff(routePermission string) gin.HandlerFunc { return func(c *gin.Context) { currentUser, _ := util.GetFromGinContext[*sdk.AuthMechanism](c, constants.MechanismCacheKey) if !currentUser.FullPermission { if !util.InArrayString(routePermission, currentUser.Permissions) { response.Fail(c, &response.ErrCode{ Code: response.PERMISSION_NOT_ALLOWED, Msg: fmt.Sprintf("您没有权限进行该操作,缺少权限【%s】", sdk_constants.MechanismStaffPermissionNames[routePermission].Name), }) return } } c.Next() } }