package gateway import ( "git.sxidc.com/go-tools/utils/strutils" ) func AddJsonBodyTenantIDAndUserID(requestBuilder *RequestBuilder, tenantIDField string, userIDField string) error { jsonBody, err := requestBuilder.c.GetJsonBody() if err != nil { return err } if strutils.IsStringNotEmpty(tenantIDField) { tenantID := jsonBody.Get(tenantIDField) if tenantID == nil { tenantInfo := requestBuilder.c.GetTenantInfo() if tenantInfo != nil { jsonBody.Set(tenantIDField, tenantInfo.GetID()) } else { jsonBody.Set(tenantIDField, "guest-"+strutils.SimpleUUID()[:26]) } } } if strutils.IsStringNotEmpty(userIDField) { userID := jsonBody.Get(userIDField) if userID == nil { userInfo := requestBuilder.c.GetUserInfo() if userInfo != nil { jsonBody.Set(userIDField, userInfo.GetID()) } else { jsonBody.Set(userIDField, "guest-"+strutils.SimpleUUID()[:26]) } } } return nil } func AddQueryParamsTenantIDAndUserID(requestBuilder *RequestBuilder, tenantIDField string, userIDField string) error { queryParams := requestBuilder.c.GetQueryParams() if requestBuilder.c.GetTenantInfo() != nil && strutils.IsStringNotEmpty(tenantIDField) { tenantID := queryParams.Get(tenantIDField) if strutils.IsStringEmpty(tenantID) { queryParams.Set(tenantIDField, requestBuilder.c.GetTenantInfo().GetID()) } } if requestBuilder.c.GetUserInfo() != nil && strutils.IsStringNotEmpty(userIDField) { userID := queryParams.Get(userIDField) if strutils.IsStringEmpty(userID) { queryParams.Set(userIDField, requestBuilder.c.GetUserInfo().GetID()) } } return nil }