fix: 增加一个兼容的 TaskIndex 字段

This commit is contained in:
fuzhongyun 2026-01-09 18:01:46 +08:00
parent b4dddb0635
commit 44155c058d
1 changed files with 27 additions and 3 deletions

View File

@ -33,9 +33,10 @@ type ChatHisQueryResponse struct {
Files string `gorm:"column:files;not null" json:"files"` Files string `gorm:"column:files;not null" json:"files"`
Useful int32 `gorm:"column:useful;not null;comment:0不评价,1有用其他为无用" json:"useful"` // 0不评价,1有用其他为无用 Useful int32 `gorm:"column:useful;not null;comment:0不评价,1有用其他为无用" json:"useful"` // 0不评价,1有用其他为无用
CreateAt string `gorm:"column:create_at;default:CURRENT_TIMESTAMP" json:"create_at"` CreateAt string `gorm:"column:create_at;default:CURRENT_TIMESTAMP" json:"create_at"`
TaskID int32 `gorm:"column:task_id;not null" json:"task_id"` // 任务ID TaskID int32 `gorm:"column:task_id;not null" json:"task_id"` // 任务ID
TaskName string `gorm:"column:task_name;not null" json:"task_name"` // 任务名称 TaskName string `gorm:"column:task_name;not null" json:"task_name"` // 任务名称
Contents []string `gorm:"column:contents" json:"contents"` // 前端回传数据 Contents []string `gorm:"column:contents" json:"contents"` // 前端回传数据
TaskIndex string `gorm:"column:task_index;not null" json:"task_index"` // 任务索引
} }
func (c *ChatHisQueryResponse) FromModel(chat model.AiChatHi, task model.AiTask) { func (c *ChatHisQueryResponse) FromModel(chat model.AiChatHi, task model.AiTask) {
@ -49,6 +50,7 @@ func (c *ChatHisQueryResponse) FromModel(chat model.AiChatHi, task model.AiTask)
c.TaskID = chat.TaskID c.TaskID = chat.TaskID
c.TaskName = task.Name c.TaskName = task.Name
c.Contents = make([]string, 0) c.Contents = make([]string, 0)
c.TaskIndex = c.parseTaskIndex(task.Index, chat.Ans)
// 解析Content // 解析Content
if "" != chat.Content { if "" != chat.Content {
@ -60,6 +62,28 @@ func (c *ChatHisQueryResponse) FromModel(chat model.AiChatHi, task model.AiTask)
} }
} }
func (c *ChatHisQueryResponse) parseTaskIndex(taskIndex string, ans string) string {
if taskIndex != "" {
return taskIndex
}
if ans == "" {
return ""
}
var resp []Response
err := json.Unmarshal([]byte(ans), &resp)
if err != nil {
log.Println("解析Ans失败 error: ", err)
return ""
}
if 0 < len(resp) {
return resp[0].Index
}
return ""
}
type UpdateContentRequest struct { type UpdateContentRequest struct {
HisID int64 `json:"his_id" validate:"required"` HisID int64 `json:"his_id" validate:"required"`
Content string `json:"content" validate:"required"` Content string `json:"content" validate:"required"`