From 5cc11c437bb2d8e4b33b352c54b05503ca44ae44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=96=87=E9=9D=99?= <1319697849@qq.com> Date: Tue, 20 May 2025 11:14:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=9B=B8=E5=85=B3=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/speech.go | 6 ++++++ service/speechNlu/domain.go | 18 ++++++++++++++++++ service/speechNlu/news.go | 6 +++--- service/speechNlu/rabbitmq.go | 4 ++-- service/speechNlu/register.go | 1 + 5 files changed, 30 insertions(+), 5 deletions(-) diff --git a/model/speech.go b/model/speech.go index 1dd2ca0..0c74f82 100644 --- a/model/speech.go +++ b/model/speech.go @@ -1,5 +1,7 @@ package model +import "encoding/json" + type SpeechDomainParams struct { SpeechWsResp *SpeechWsResp Query string @@ -121,3 +123,7 @@ type Result struct { Year int `json:"year"` Event string `json:"event"` } + +type ExtraParams struct { + Content json.RawMessage `json:"content"` +} diff --git a/service/speechNlu/domain.go b/service/speechNlu/domain.go index 58ed995..8688837 100644 --- a/service/speechNlu/domain.go +++ b/service/speechNlu/domain.go @@ -432,6 +432,24 @@ func alarmDomain(params *model.SpeechDomainParams) []byte { extra := params.SpeechWsResp.Dm.Command.Param.Extra object := params.SpeechWsResp.Dm.Command.Param.Object + var extraParam model.ExtraParams + if err := json.Unmarshal([]byte(extra), &extraParam); err != nil { + global.Logger.WithFields(logger.Fields{ + "requestId": params.RequestId, + "mac": params.Mac, + "mid": params.Mid, + "vender": params.MidType, + }).Errorf("json.Unmarshal error: %v", err) + } + if len(extraParam.Content) > 0 { + var content map[string]interface{} + if err := json.Unmarshal(extraParam.Content, &content); err == nil { + if len(content) == 0 { + return Marshal(params, &result) + } + } + } + if object == "闹钟" { result.Header.Semantic.Domain = "alarm" } else { diff --git a/service/speechNlu/news.go b/service/speechNlu/news.go index 89295fa..54be198 100644 --- a/service/speechNlu/news.go +++ b/service/speechNlu/news.go @@ -37,14 +37,14 @@ type FeedBackResp struct { Source string `json:"source"` } -func FeedBackNews(actionType, duration int, ip, sid, uid string) (*FeedBackResp, error) { +func FeedBackNews(actionType, duration int, sid, uid string) (*FeedBackResp, error) { url := "http://apis.duiopen.com/feedback/letingv4?productId=279629895&apikey=0c74988953dd4ed4bf31955527802cf3&uid=111" //url := global.SpeechSetting.FeedBackUrl + "?productId=" + global.SpeechSetting.ProductId + "&apikey=" + global.SpeechSetting.ApiKey + "&uid=" + uid request := FeedBackReq{ ActionType: actionType, Timestamp: time.Now().Unix(), - ClientIp: ip, //ip - Brand: "gree", + //ClientIp: ip, //ip + Brand: "gree", Data: []map[string]interface{}{ { "sid": sid, //"m6J2LW-4z-H2dtxea5Sv6_voziweppX1K_aGb7fKtdjq3y36awwXd_NeoKgBXD7a" diff --git a/service/speechNlu/rabbitmq.go b/service/speechNlu/rabbitmq.go index 9b69dc8..fc00da0 100644 --- a/service/speechNlu/rabbitmq.go +++ b/service/speechNlu/rabbitmq.go @@ -194,8 +194,8 @@ func (c *Consumer) Consume() { // 处理消息逻辑 state, offset, mediaId := parseData(&resp) uid := util.EncodeMD5(resp.Mac) - ip := "14.215.222.17" //todo:待改 - if _, err := FeedBackNews(state, offset, ip, mediaId, uid); err != nil { + //ip := "14.215.222.17" //todo:待改 + if _, err := FeedBackNews(state, offset, mediaId, uid); err != nil { global.Logger.Errorf("Feedback error: %v", err) _ = d.Nack(false, true) continue diff --git a/service/speechNlu/register.go b/service/speechNlu/register.go index f15153b..5c322cc 100644 --- a/service/speechNlu/register.go +++ b/service/speechNlu/register.go @@ -51,6 +51,7 @@ func register() { DomainRegister(HOLIDAY, holidayDomain) DomainRegister(RELATION, speechOtherDomain) DomainRegister(WASTESORTING, speechOtherDomain) + DomainRegister("", speechOtherDomain) // //DomainRegisterV2(CHAT, chatDomainV2) -- GitLab