49 lines
1.1 KiB
Go
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
|
|
}
|