common.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package gateway
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/api"
  4. "git.sxidc.com/go-tools/utils/strutils"
  5. )
  6. func AddJsonBodyTenantIDAndUserID(c *api.Context, tenantIDField string, userIDField string) (map[string]any, error) {
  7. bodyMap := make(map[string]any)
  8. err := c.ReadJsonBody(&bodyMap)
  9. if err != nil {
  10. return nil, err
  11. }
  12. _, ok := bodyMap[tenantIDField]
  13. if !ok {
  14. tenantInfo := c.GetTenantInfo()
  15. if tenantInfo != nil {
  16. bodyMap[tenantIDField] = tenantInfo.GetID()
  17. } else {
  18. bodyMap[tenantIDField] = "guest-" + strutils.SimpleUUID()[:26]
  19. }
  20. }
  21. _, ok = bodyMap[userIDField]
  22. if !ok {
  23. userInfo := c.GetUserInfo()
  24. if userInfo != nil {
  25. bodyMap[userIDField] = userInfo.GetID()
  26. } else {
  27. bodyMap[userIDField] = "guest-" + strutils.SimpleUUID()[:26]
  28. }
  29. }
  30. err = c.ReplaceJsonBody(bodyMap)
  31. if err != nil {
  32. return nil, err
  33. }
  34. return bodyMap, nil
  35. }
  36. func AddQueryParamsTenantIDAndUserID(c *api.Context, tenantIDField string, userIDField string) (map[string]string, error) {
  37. queryParams := c.GetAllQueryParams()
  38. if c.GetTenantInfo() != nil {
  39. _, ok := queryParams[tenantIDField]
  40. if !ok {
  41. queryParams[tenantIDField] = c.GetTenantInfo().GetID()
  42. }
  43. }
  44. if c.GetUserInfo() != nil {
  45. _, ok := queryParams[userIDField]
  46. if !ok {
  47. queryParams[userIDField] = c.GetUserInfo().GetID()
  48. }
  49. }
  50. return queryParams, nil
  51. }