main.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. package graph
  2. import (
  3. "fmt"
  4. "strings"
  5. "github.com/guonaihong/gout"
  6. "gogs.uu.mdfitnesscao.com/cuiguohai/sdk"
  7. "gogs.uu.mdfitnesscao.com/cuiguohai/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) + len(importId),
  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 GetNodeRelationShip(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 GetNodeRelationShips(id, relationName, importId string, reverse bool) (*sdk.BaseResponse[[]map[string]any], *response.ErrCode) {
  78. var resp *sdk.BaseResponse[[]map[string]any]
  79. var isReverse int64 = 0
  80. if reverse {
  81. isReverse = 1
  82. }
  83. resp, err := getReq[*sdk.BaseResponse[[]map[string]any]]("/graphService/open/node/relationships", gout.H{
  84. "ids": id,
  85. "rName": relationName,
  86. "importId": importId,
  87. "reverse": isReverse,
  88. })
  89. if err != nil {
  90. return nil, &response.ErrCode{
  91. Code: response.PLATFORM_ERROR,
  92. Msg: err.Error(),
  93. }
  94. }
  95. if resp.Code != 200 {
  96. return nil, &response.ErrCode{
  97. Code: resp.Code,
  98. Msg: resp.Message,
  99. }
  100. }
  101. return resp, nil
  102. }
  103. // 获取节点关系
  104. func GetNodeRelationd(id, relationName, importId string) (*sdk.BaseResponse[[]map[string]any], *response.ErrCode) {
  105. var resp *sdk.BaseResponse[[]map[string]any]
  106. resp, err := getReq[*sdk.BaseResponse[[]map[string]any]]("/graphService/open/node/related", gout.H{
  107. "id": id,
  108. "relationship": relationName,
  109. "importId": importId,
  110. })
  111. if err != nil {
  112. return nil, &response.ErrCode{
  113. Code: response.PLATFORM_ERROR,
  114. Msg: err.Error(),
  115. }
  116. }
  117. if resp.Code != 200 {
  118. return nil, &response.ErrCode{
  119. Code: resp.Code,
  120. Msg: resp.Message,
  121. }
  122. }
  123. return resp, nil
  124. }
  125. // postReq 发送post请求
  126. func postReq[T any](path string, data gout.H) (T, error) {
  127. var res T
  128. fmt.Println(sdk.GetConfig())
  129. // 检查配置
  130. if sdk.GetConfig().ApiDomain == "" {
  131. return res, fmt.Errorf("请先配置请求域名")
  132. }
  133. url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path)
  134. fmt.Println("请求地址 ===>", url)
  135. err := gout.POST(url).Debug(sdk.GetConfig().AppDebug).
  136. SetHeader(gout.H{}).
  137. SetJSON(data).
  138. BindJSON(&res).
  139. Do()
  140. if err != nil {
  141. fmt.Println("请求失败: ", err)
  142. return res, err
  143. }
  144. return res, nil
  145. }
  146. // postReq 发送post请求
  147. func getReq[T any](path string, data gout.H) (T, error) {
  148. var res T
  149. fmt.Println(sdk.GetConfig())
  150. // 检查配置
  151. if sdk.GetConfig().ApiDomain == "" {
  152. return res, fmt.Errorf("请先配置请求域名")
  153. }
  154. url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path)
  155. fmt.Println("请求地址 ===>", url)
  156. err := gout.GET(url).Debug(sdk.GetConfig().AppDebug).
  157. SetHeader(gout.H{}).
  158. SetQuery(data).
  159. BindJSON(&res).
  160. Do()
  161. if err != nil {
  162. fmt.Println("请求失败: ", err)
  163. return res, err
  164. }
  165. return res, nil
  166. }