package connect import ( "context" "fmt" "google.golang.org/grpc" "speech-nlu-parse/global" "speech-nlu-parse/model" "speech-nlu-parse/pkg/logger" "speech-nlu-parse/pkg/proto" "time" ) const ( MusicSpot = "music-spot" ) func MusicGrpc(params *model.SpeechDomainParams) (*proto.MusicSpotResponse, error) { //conn, err := GrpcConn(MusicSpot) //if err != nil { // global.Logger.Errorf("faild to connect: %v", err) // return nil, err //} // consul注册中心获取host port serviceInfo, err := global.ConsulObj.GetService(MusicSpot, "") if err != nil { return nil, err } // conn, err := grpc.Dial(fmt.Sprintf("%s:%d", global.AuthSetting.Ip, global.AuthSetting.GrpcPort), grpc.WithInsecure()) conn, err := grpc.Dial(fmt.Sprintf("%s:%d", serviceInfo.GetAddress(), serviceInfo.GetPort()), grpc.WithInsecure(), grpc.WithNoProxy()) if err != nil { return nil, err } defer conn.Close() ctx, cancel := context.WithTimeout(context.Background(), time.Second*2) defer cancel() c := proto.NewMusicSpotClient(conn) req := &proto.MusicSpotRequest{ AppInfo: &proto.MusicSpotRequest_AppInfo{ RequestId: params.RequestId, }, DevInfo: &proto.MusicSpotRequest_DevInfo{ Mac: params.Mac, SubMac: "", Mid: params.Mid, Vender: params.MidType, Hid: "", HomeId: params.HomeId, UserId: "", }, Data: &proto.MusicSpotRequest_Data{ Query: params.Query, }, } resp, err := c.GetMusicList(ctx, req) if err != nil { global.Logger.WithFields(logger.Fields{ "requestId": params.RequestId, "MusicGrpc serverName": MusicSpot, "MusicGrpc request": req, }).Errorf("MusicGrpc error: %v", err) return nil, err } global.Logger.WithFields(logger.Fields{ "requestId": params.RequestId, "MusicGrpc serverName": MusicSpot, "MusicGrpc request": req, "MusicGrpc response": resp, }).Info("MusicGrpc") return resp, nil }