common.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package gateway
  2. import (
  3. "git.sxidc.com/go-tools/utils/strutils"
  4. )
  5. func AddJsonBodyTenantIDAndUserID(requestBuilder *RequestBuilder, tenantIDField string, userIDField string) error {
  6. jsonBody, err := requestBuilder.c.GetJsonBody()
  7. if err != nil {
  8. return err
  9. }
  10. if strutils.IsStringNotEmpty(tenantIDField) {
  11. tenantID := jsonBody.Get(tenantIDField)
  12. if tenantID == nil {
  13. tenantInfo := requestBuilder.c.GetTenantInfo()
  14. if tenantInfo != nil {
  15. jsonBody.Set(tenantIDField, tenantInfo.GetID())
  16. } else {
  17. jsonBody.Set(tenantIDField, "guest-"+strutils.SimpleUUID()[:26])
  18. }
  19. }
  20. }
  21. if strutils.IsStringNotEmpty(userIDField) {
  22. userID := jsonBody.Get(userIDField)
  23. if userID == nil {
  24. userInfo := requestBuilder.c.GetUserInfo()
  25. if userInfo != nil {
  26. jsonBody.Set(userIDField, userInfo.GetID())
  27. } else {
  28. jsonBody.Set(userIDField, "guest-"+strutils.SimpleUUID()[:26])
  29. }
  30. }
  31. }
  32. return nil
  33. }
  34. func AddQueryParamsTenantIDAndUserID(requestBuilder *RequestBuilder, tenantIDField string, userIDField string) error {
  35. queryParams := requestBuilder.c.GetQueryParams()
  36. if requestBuilder.c.GetTenantInfo() != nil && strutils.IsStringNotEmpty(tenantIDField) {
  37. tenantID := queryParams.Get(tenantIDField)
  38. if strutils.IsStringEmpty(tenantID) {
  39. queryParams.Set(tenantIDField, requestBuilder.c.GetTenantInfo().GetID())
  40. }
  41. }
  42. if requestBuilder.c.GetUserInfo() != nil && strutils.IsStringNotEmpty(userIDField) {
  43. userID := queryParams.Get(userIDField)
  44. if strutils.IsStringEmpty(userID) {
  45. queryParams.Set(userIDField, requestBuilder.c.GetUserInfo().GetID())
  46. }
  47. }
  48. return nil
  49. }