From e538f49beaeef9aeb2ca7ee85077a2ddaed57fc1 Mon Sep 17 00:00:00 2001 From: fuzhongyun <15339891972@163.com> Date: Tue, 13 Jan 2026 17:42:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20taskindex=20?= =?UTF-8?q?=E9=94=99=E4=B9=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/biz/do/ctx.go | 18 ++++-------------- internal/data/constants/task.go | 13 +++++++++++++ internal/entitys/chat_history.go | 26 +++++++++----------------- 3 files changed, 26 insertions(+), 31 deletions(-) diff --git a/internal/biz/do/ctx.go b/internal/biz/do/ctx.go index 18babd3..9527177 100644 --- a/internal/biz/do/ctx.go +++ b/internal/biz/do/ctx.go @@ -2,6 +2,7 @@ package do import ( "ai_scheduler/internal/config" + "ai_scheduler/internal/data/constants" errors "ai_scheduler/internal/data/error" "ai_scheduler/internal/data/impl" "ai_scheduler/internal/data/model" @@ -419,22 +420,11 @@ func (d *Do) getTaskIdByChat(chat []entitys.Response) (taskId int32) { return } - var irregularTaskToolIndexMap = map[string]string{ - "zltxProduct": "product_diagnosis", - "zltxOrderDetail": "order_diagnosis", - "knowledgeBase": "knowledge_qa", - "zltxOrderStatistics": "account_statistics", - "normalChat": "chat", - "zltxOrderAfterSaleSupplier": "after_sale_supplier", - "zltxOrderAfterSaleReseller": "after_sale_reseller", - "zltxOrderAfterSaleResellerBatch": "after_sale_reseller_batch", - "zltxLossRiskSearch": "loss_order_direct", - } - + // 解析 taskIndex taskIndex := chat[0].Index - if _, ok := irregularTaskToolIndexMap[taskIndex]; ok { - taskIndex = irregularTaskToolIndexMap[taskIndex] + if _, ok := constants.IrregularTaskToolIndexMap[taskIndex]; ok { + taskIndex = constants.IrregularTaskToolIndexMap[taskIndex] } // 通过 taskIndex 获取 taskId diff --git a/internal/data/constants/task.go b/internal/data/constants/task.go index 8ba18a9..935d10d 100644 --- a/internal/data/constants/task.go +++ b/internal/data/constants/task.go @@ -9,3 +9,16 @@ const ( Enable = 1 Disable = 2 ) + +// IrregularTaskToolIndexMap 不规则任务工具索引映射 +var IrregularTaskToolIndexMap = map[string]string{ + "zltxProduct": "product_diagnosis", + "zltxOrderDetail": "order_diagnosis", + "knowledgeBase": "knowledge_qa", + "zltxOrderStatistics": "account_statistics", + "normalChat": "chat", + "zltxOrderAfterSaleSupplier": "after_sale_supplier", + "zltxOrderAfterSaleReseller": "after_sale_reseller", + "zltxOrderAfterSaleResellerBatch": "after_sale_reseller_batch", + "zltxLossRiskSearch": "loss_order_direct", +} diff --git a/internal/entitys/chat_history.go b/internal/entitys/chat_history.go index 50bbb0b..084adfe 100644 --- a/internal/entitys/chat_history.go +++ b/internal/entitys/chat_history.go @@ -50,7 +50,7 @@ func (c *ChatHisQueryResponse) FromModel(chat model.AiChatHi, task model.AiTask) c.TaskID = chat.TaskID c.TaskName = task.Name c.Contents = make([]string, 0) - c.TaskIndex = c.parseTaskIndex(task.Index, chat.Ans) + c.TaskIndex = c.parseTaskIndex(task.Index) // 解析Content if "" != chat.Content { @@ -62,26 +62,18 @@ func (c *ChatHisQueryResponse) FromModel(chat model.AiChatHi, task model.AiTask) } } -func (c *ChatHisQueryResponse) parseTaskIndex(taskIndex string, ans string) string { - if taskIndex != "" { - return taskIndex +func (c *ChatHisQueryResponse) parseTaskIndex(taskIndex string) string { + // 反转 IrregularTaskToolIndexMap + reverseMap := make(map[string]string) + for k, v := range constants.IrregularTaskToolIndexMap { + reverseMap[v] = k } - if ans == "" { - return "" - } - var resp []Response - err := json.Unmarshal([]byte(ans), &resp) - if err != nil { - log.Println("解析Ans失败 error: ", err) - return "" + if _, ok := reverseMap[taskIndex]; !ok { + return reverseMap[taskIndex] } - if 0 < len(resp) { - return resp[0].Index - } - - return "" + return taskIndex } type UpdateContentRequest struct {