api.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package cg_sdk
  2. import (
  3. "errors"
  4. "git.sxidc.com/go-tools/api_binding/http_binding/response"
  5. "git.sxidc.com/go-tools/utils/http_client"
  6. "time"
  7. )
  8. var timeoutDuration = TimeoutSec * time.Second
  9. var baseUrl string
  10. var httpClient *http_client.Client
  11. const (
  12. TimeoutSec = 30
  13. servicePrefix = "/cg/api/v1"
  14. )
  15. func Destroy() {
  16. if httpClient == nil {
  17. return
  18. }
  19. http_client.Destroy(httpClient)
  20. httpClient = nil
  21. }
  22. func Init(configBaseUrl string) error {
  23. baseUrl = configBaseUrl + servicePrefix
  24. if httpClient == nil {
  25. httpClient = http_client.New()
  26. }
  27. return nil
  28. }
  29. // 创建编码
  30. func createEncode(req CreateEncodeJsonBody) (string, error) {
  31. postResponse, err := httpClient.NewRequest(http_client.WithNewRequestTimeout(timeoutDuration)).
  32. Post(baseUrl+"/encodeRule/encode/create", req)
  33. if err != nil {
  34. return "", err
  35. }
  36. resp := new(response.InfoResponse[string])
  37. err = postResponse.Json(resp)
  38. if err != nil {
  39. return "", err
  40. }
  41. if !resp.Success {
  42. return "", errors.New(resp.Msg)
  43. }
  44. return resp.Info, nil
  45. }
  46. // 查询编码配置
  47. func getEncodeConfigInfo(tenantId string, namespace string, configName string) (*EncodeConfigInfo, error) {
  48. getResponse, err := httpClient.NewRequest(http_client.WithNewRequestTimeout(timeoutDuration)).
  49. Get(baseUrl+"/encodeConfig/get",
  50. http_client.WithRequestQueryParams(map[string]string{
  51. "tenantId": tenantId,
  52. "namespace": namespace,
  53. "configName": configName,
  54. }))
  55. if err != nil {
  56. return nil, err
  57. }
  58. resp := new(response.InfosResponse[EncodeConfigInfo])
  59. err = getResponse.Json(resp)
  60. if err != nil {
  61. return nil, err
  62. }
  63. if !resp.Success {
  64. return nil, errors.New(resp.Msg)
  65. }
  66. //TODO 到时候这里要修改下 编码配置
  67. if len(resp.Infos) != 1 {
  68. return nil, errors.New("编码配置查询错误")
  69. }
  70. return &resp.Infos[0], nil
  71. }
  72. func updateCodeStatusFree(req *UpdateEncodeJsonBody) error {
  73. putResponse, err := httpClient.NewRequest(http_client.WithNewRequestTimeout(timeoutDuration)).
  74. Put(baseUrl+"/encode/status/free", req)
  75. resp := new(response.IDResponse[string])
  76. err = putResponse.Json(resp)
  77. if err != nil {
  78. return err
  79. }
  80. if !resp.Success {
  81. return errors.New(resp.Msg)
  82. }
  83. return nil
  84. }
  85. // 修改编码状态为在使用中
  86. func updateCodeStatusUse(req *UpdateEncodeJsonBody) error {
  87. putResponse, err := httpClient.NewRequest(http_client.WithNewRequestTimeout(timeoutDuration)).
  88. Put(baseUrl+"/encode/status/receive", req)
  89. resp := new(response.IDResponse[string])
  90. err = putResponse.Json(resp)
  91. if err != nil {
  92. return err
  93. }
  94. if !resp.Success {
  95. return errors.New(resp.Msg)
  96. }
  97. return nil
  98. }