package gateway import ( "git.sxidc.com/go-framework/baize/framework/core/api" "git.sxidc.com/go-tools/utils/strutils" ) func AddJsonBodyTenantIDAndUserID(c *api.Context, tenantIDField string, userIDField string) (map[string]any, error) { bodyMap := make(map[string]any) err := c.ReadJsonBody(&bodyMap) if err != nil { return nil, err } _, ok := bodyMap[tenantIDField] if !ok { tenantInfo := c.GetTenantInfo() if tenantInfo != nil { bodyMap[tenantIDField] = tenantInfo.GetID() } else { bodyMap[tenantIDField] = "guest-" + strutils.SimpleUUID()[:26] } } _, ok = bodyMap[userIDField] if !ok { userInfo := c.GetUserInfo() if userInfo != nil { bodyMap[userIDField] = userInfo.GetID() } else { bodyMap[userIDField] = "guest-" + strutils.SimpleUUID()[:26] } } err = c.ReplaceJsonBody(bodyMap) if err != nil { return nil, err } return bodyMap, nil } func AddQueryParamsTenantIDAndUserID(c *api.Context, tenantIDField string, userIDField string) (map[string]string, error) { queryParams := c.GetAllQueryParams() if c.GetTenantInfo() != nil { _, ok := queryParams[tenantIDField] if !ok { queryParams[tenantIDField] = c.GetTenantInfo().GetID() } } if c.GetUserInfo() != nil { _, ok := queryParams[userIDField] if !ok { queryParams[userIDField] = c.GetUserInfo().GetID() } } return queryParams, nil }