main.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package graph
  2. import (
  3. "fmt"
  4. "strings"
  5. "github.com/guonaihong/gout"
  6. "gogs.uu.mdfitnesscao.com/hys/sdk"
  7. "gogs.uu.mdfitnesscao.com/hys/sdk/response"
  8. )
  9. // 获取节点列表
  10. func PaginateNode(ids []string, name string, tags []string, pageSize int64) (*sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]], *response.ErrCode) {
  11. var resp *sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]]
  12. resp, err := postReq[*sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]]]("/graphService/open/node/paginate", gout.H{
  13. "id": strings.Join(ids, ","),
  14. "pageSize": pageSize,
  15. "name": name,
  16. "tag": strings.Join(tags, ","),
  17. })
  18. if err != nil {
  19. return nil, &response.ErrCode{
  20. Code: response.PLATFORM_ERROR,
  21. Msg: err.Error(),
  22. }
  23. }
  24. if resp.Code != 200 {
  25. return nil, &response.ErrCode{
  26. Code: resp.Code,
  27. Msg: resp.Message,
  28. }
  29. }
  30. return resp, nil
  31. }
  32. // 获取节点列表
  33. func ListNode(ids []string, importId []string) (*sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]], *response.ErrCode) {
  34. var resp *sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]]
  35. resp, err := postReq[*sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]]]("/graphService/open/node/paginate", gout.H{
  36. "id": strings.Join(ids, ","),
  37. "pageSize": len(ids),
  38. "importId": strings.Join(importId, ","),
  39. })
  40. if err != nil {
  41. return nil, &response.ErrCode{
  42. Code: response.PLATFORM_ERROR,
  43. Msg: err.Error(),
  44. }
  45. }
  46. if resp.Code != 200 {
  47. return nil, &response.ErrCode{
  48. Code: resp.Code,
  49. Msg: resp.Message,
  50. }
  51. }
  52. return resp, nil
  53. }
  54. // 获取节点关系
  55. func GetNodeRelationShips(id, relationName, importId string) (*sdk.BaseResponse[[]map[string]any], *response.ErrCode) {
  56. var resp *sdk.BaseResponse[[]map[string]any]
  57. resp, err := getReq[*sdk.BaseResponse[[]map[string]any]]("/graphService/open/node/relationship", gout.H{
  58. "id": id,
  59. "rName": relationName,
  60. "importId": importId,
  61. })
  62. if err != nil {
  63. return nil, &response.ErrCode{
  64. Code: response.PLATFORM_ERROR,
  65. Msg: err.Error(),
  66. }
  67. }
  68. if resp.Code != 200 {
  69. return nil, &response.ErrCode{
  70. Code: resp.Code,
  71. Msg: resp.Message,
  72. }
  73. }
  74. return resp, nil
  75. }
  76. // 获取节点关系
  77. func GetNodeRelationd(id, relationName, importId string) (*sdk.BaseResponse[[]map[string]any], *response.ErrCode) {
  78. var resp *sdk.BaseResponse[[]map[string]any]
  79. resp, err := getReq[*sdk.BaseResponse[[]map[string]any]]("/graphService/open/node/related", gout.H{
  80. "id": id,
  81. "relationship": relationName,
  82. "importId": importId,
  83. })
  84. if err != nil {
  85. return nil, &response.ErrCode{
  86. Code: response.PLATFORM_ERROR,
  87. Msg: err.Error(),
  88. }
  89. }
  90. if resp.Code != 200 {
  91. return nil, &response.ErrCode{
  92. Code: resp.Code,
  93. Msg: resp.Message,
  94. }
  95. }
  96. return resp, nil
  97. }
  98. // postReq 发送post请求
  99. func postReq[T any](path string, data gout.H) (T, error) {
  100. var res T
  101. fmt.Println(sdk.GetConfig())
  102. // 检查配置
  103. if sdk.GetConfig().ApiDomain == "" {
  104. return res, fmt.Errorf("请先配置请求域名")
  105. }
  106. url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path)
  107. fmt.Println("请求地址 ===>", url)
  108. err := gout.POST(url).Debug(sdk.GetConfig().AppDebug).
  109. SetHeader(gout.H{}).
  110. SetJSON(data).
  111. BindJSON(&res).
  112. Do()
  113. if err != nil {
  114. fmt.Println("请求失败: ", err)
  115. return res, err
  116. }
  117. return res, nil
  118. }
  119. // postReq 发送post请求
  120. func getReq[T any](path string, data gout.H) (T, error) {
  121. var res T
  122. fmt.Println(sdk.GetConfig())
  123. // 检查配置
  124. if sdk.GetConfig().ApiDomain == "" {
  125. return res, fmt.Errorf("请先配置请求域名")
  126. }
  127. url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path)
  128. fmt.Println("请求地址 ===>", url)
  129. err := gout.GET(url).Debug(sdk.GetConfig().AppDebug).
  130. SetHeader(gout.H{}).
  131. SetQuery(data).
  132. BindJSON(&res).
  133. Do()
  134. if err != nil {
  135. fmt.Println("请求失败: ", err)
  136. return res, err
  137. }
  138. return res, nil
  139. }