package graph import ( "fmt" "strings" "github.com/guonaihong/gout" "gogs.uu.mdfitnesscao.com/cuiguohai/sdk" "gogs.uu.mdfitnesscao.com/cuiguohai/sdk/response" ) // 获取节点列表 func PaginateNode(ids []string, name string, tags []string, pageSize int64) (*sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]] resp, err := postReq[*sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]]]("/graphService/open/node/paginate", gout.H{ "id": strings.Join(ids, ","), "pageSize": pageSize, "name": name, "tag": strings.Join(tags, ","), }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 获取节点列表 func ListNode(ids []string, importId []string) (*sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]] resp, err := postReq[*sdk.BaseResponse[sdk.PaginateResponse[*sdk.GraphNode]]]("/graphService/open/node/paginate", gout.H{ "id": strings.Join(ids, ","), "pageSize": len(ids) + len(importId), "importId": strings.Join(importId, ","), }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 获取节点关系 func GetNodeRelationShip(id, relationName, importId string) (*sdk.BaseResponse[[]map[string]any], *response.ErrCode) { var resp *sdk.BaseResponse[[]map[string]any] resp, err := getReq[*sdk.BaseResponse[[]map[string]any]]("/graphService/open/node/relationship", gout.H{ "id": id, "rName": relationName, "importId": importId, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 获取节点关系 func GetNodeRelationShips(id, relationName, importId string, reverse bool) (*sdk.BaseResponse[[]map[string]any], *response.ErrCode) { var resp *sdk.BaseResponse[[]map[string]any] var isReverse int64 = 0 if reverse { isReverse = 1 } resp, err := getReq[*sdk.BaseResponse[[]map[string]any]]("/graphService/open/node/relationships", gout.H{ "ids": id, "rName": relationName, "importId": importId, "reverse": isReverse, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // 获取节点关系 func GetNodeRelationd(id, relationName, importId string) (*sdk.BaseResponse[[]map[string]any], *response.ErrCode) { var resp *sdk.BaseResponse[[]map[string]any] resp, err := getReq[*sdk.BaseResponse[[]map[string]any]]("/graphService/open/node/related", gout.H{ "id": id, "relationship": relationName, "importId": importId, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // postReq 发送post请求 func postReq[T any](path string, data gout.H) (T, error) { var res T fmt.Println(sdk.GetConfig()) // 检查配置 if sdk.GetConfig().ApiDomain == "" { return res, fmt.Errorf("请先配置请求域名") } url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path) fmt.Println("请求地址 ===>", url) err := gout.POST(url).Debug(sdk.GetConfig().AppDebug). SetHeader(gout.H{}). SetJSON(data). BindJSON(&res). Do() if err != nil { fmt.Println("请求失败: ", err) return res, err } return res, nil } // postReq 发送post请求 func getReq[T any](path string, data gout.H) (T, error) { var res T fmt.Println(sdk.GetConfig()) // 检查配置 if sdk.GetConfig().ApiDomain == "" { return res, fmt.Errorf("请先配置请求域名") } url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path) fmt.Println("请求地址 ===>", url) err := gout.GET(url).Debug(sdk.GetConfig().AppDebug). SetHeader(gout.H{}). SetQuery(data). BindJSON(&res). Do() if err != nil { fmt.Println("请求失败: ", err) return res, err } return res, nil }