2019-04-22 02:59:20 +00:00

49 lines
1.1 KiB
Go

package dao
import (
"context"
"net/http"
"go-common/app/admin/ep/melloi/model"
"go-common/library/ecode"
"go-common/library/log"
)
const (
_dapperDependUri = "/x/internal/dapper/service-depend?service_name="
_dapperRspCode = 0
)
// QueryServiceDepend query service depend
func (d *Dao) QueryServiceDepend(c context.Context, serviceName string) (ret []string, err error) {
var (
req *http.Request
DependURL = d.c.Dapper.Host + _dapperDependUri + serviceName
res struct {
Code int `json:"code"`
Data *model.DependResponse `json:"data"`
Message string `json:"message"`
}
)
if req, err = d.newRequest(http.MethodGet, DependURL, nil); err != nil {
return
}
if err = d.httpClient.Do(c, req, &res); err != nil {
log.Error("d.Depend url(%s) res($s) error(%v)", DependURL, res, err)
return
}
if res.Code != _dapperRspCode {
err = ecode.MelloiTreeRequestErr
log.Error("d.Tree.Response url(%s) resCode(%s) error(%v)", DependURL, res.Code, err)
return
}
for _, item := range res.Data.Items {
ret = append(ret, item.ServiceName)
}
return
}