package connect import ( "context" "speech-nlu-parse/global" "speech-nlu-parse/model" "speech-nlu-parse/pkg/logger" "speech-nlu-parse/pkg/proto" "time" ) const ( Alarm = "alarm_remind" ) func AlarmGrpc(params *model.SpeechDomainParams, api, extra, object string) (*proto.AlarmRemindSkillResponse, error) { conn, err := GrpcConn(Alarm) 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.NewAlarmRemindSkillClient(conn) req := &proto.AlarmRemindSkillRequest{ AppInfo: &proto.AlarmRemindSkillRequest_AppInfo{ AppId: "speech-nlu-parse", RequestId: params.RequestId, }, DevInfo: &proto.AlarmRemindSkillRequest_DevInfo{ Mac: params.Mac, Mid: params.Mid, Vender: params.MidType, Hid: "", HomeId: "", Uid: "", }, Command: &proto.AlarmRemindSkillRequest_Command{ Api: api, Extra: extra, Object: object, }, AsrRecognize: params.Query, } resp, err := c.HandleSpeechCommand(ctx, req) if err != nil { global.Logger.WithFields(logger.Fields{ "requestId": params.RequestId, "AlarmGrpc serverName": Alarm, "AlarmGrpc request": req, }).Errorf("alarm grpc error: %v", err) return nil, err } global.Logger.WithFields(logger.Fields{ "requestId": params.RequestId, "AlarmGrpc serverName": Alarm, "AlarmGrpc request": req, "AlarmGrpc response": resp, }).Info("AlarmGrpc") return resp, nil }