main.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package graph
  2. import (
  3. "fmt"
  4. "strings"
  5. "github.com/guonaihong/gout"
  6. "gogs.uu.mdfitnesscao.com/Algor/sdk"
  7. "gogs.uu.mdfitnesscao.com/Algor/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) (*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. })
  39. if err != nil {
  40. return nil, &response.ErrCode{
  41. Code: response.PLATFORM_ERROR,
  42. Msg: err.Error(),
  43. }
  44. }
  45. if resp.Code != 200 {
  46. return nil, &response.ErrCode{
  47. Code: resp.Code,
  48. Msg: resp.Message,
  49. }
  50. }
  51. return resp, nil
  52. }
  53. // 获取节点关系
  54. func GetNodeRelationShips(id, relationName string) (*sdk.BaseResponse[[]map[string]any], *response.ErrCode) {
  55. var resp *sdk.BaseResponse[[]map[string]any]
  56. resp, err := getReq[*sdk.BaseResponse[[]map[string]any]]("/graphService/open/node/relationship", gout.H{
  57. "id": id,
  58. "rName": relationName,
  59. })
  60. if err != nil {
  61. return nil, &response.ErrCode{
  62. Code: response.PLATFORM_ERROR,
  63. Msg: err.Error(),
  64. }
  65. }
  66. if resp.Code != 200 {
  67. return nil, &response.ErrCode{
  68. Code: resp.Code,
  69. Msg: resp.Message,
  70. }
  71. }
  72. return resp, nil
  73. }
  74. // 获取节点关系
  75. func GetNodeRelationd(id, relationName string) (*sdk.BaseResponse[[]map[string]any], *response.ErrCode) {
  76. var resp *sdk.BaseResponse[[]map[string]any]
  77. resp, err := getReq[*sdk.BaseResponse[[]map[string]any]]("/graphService/open/node/related", gout.H{
  78. "id": id,
  79. "relationship": relationName,
  80. })
  81. if err != nil {
  82. return nil, &response.ErrCode{
  83. Code: response.PLATFORM_ERROR,
  84. Msg: err.Error(),
  85. }
  86. }
  87. if resp.Code != 200 {
  88. return nil, &response.ErrCode{
  89. Code: resp.Code,
  90. Msg: resp.Message,
  91. }
  92. }
  93. return resp, nil
  94. }
  95. // postReq 发送post请求
  96. func postReq[T any](path string, data gout.H) (T, error) {
  97. var res T
  98. fmt.Println(sdk.GetConfig())
  99. // 检查配置
  100. if sdk.GetConfig().AlgorApiDomain == "" {
  101. return res, fmt.Errorf("请先配置请求域名")
  102. }
  103. url := fmt.Sprintf("%s%s", sdk.GetConfig().AlgorApiDomain, path)
  104. fmt.Println("请求地址 ===>", url)
  105. err := gout.POST(url).Debug(sdk.GetConfig().AppDebug).
  106. SetHeader(gout.H{}).
  107. SetJSON(data).
  108. BindJSON(&res).
  109. Do()
  110. if err != nil {
  111. fmt.Println("请求失败: ", err)
  112. return res, err
  113. }
  114. return res, nil
  115. }
  116. // postReq 发送post请求
  117. func getReq[T any](path string, data gout.H) (T, error) {
  118. var res T
  119. fmt.Println(sdk.GetConfig())
  120. // 检查配置
  121. if sdk.GetConfig().AlgorApiDomain == "" {
  122. return res, fmt.Errorf("请先配置请求域名")
  123. }
  124. url := fmt.Sprintf("%s%s", sdk.GetConfig().AlgorApiDomain, path)
  125. fmt.Println("请求地址 ===>", url)
  126. err := gout.GET(url).Debug(sdk.GetConfig().AppDebug).
  127. SetHeader(gout.H{}).
  128. SetQuery(data).
  129. BindJSON(&res).
  130. Do()
  131. if err != nil {
  132. fmt.Println("请求失败: ", err)
  133. return res, err
  134. }
  135. return res, nil
  136. }