package connect import ( "context" "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 } 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.Errorf("MusicGrpc error: %v", err) return nil, err } global.Logger.WithFields(logger.Fields{ "MusicGrpc serverName": MusicSpot, "MusicGrpc request": req, "MusicGrpc response": resp, }).Info("MusicGrpc") return resp, nil }