package ai_summary import ( "fmt" "github.com/beego/beego/v2/client/orm" "time" ) type AiSummary struct { AiSummaryId int `orm:"column(ai_summary_id);pk"` // ai纪要id SaDocId int // 文档ID OriginContent string // 原始内容 ClassifyId int // 分类id SysUserId int // 创建人ID SysUserRealName string // 创建人姓名 Title string // 文档标题 CreateTime time.Time // 创建时间 ModifyTime time.Time // 更新时间 OpenaiFileName string // 文件名称 OpenaiFilePath string // 文件路径 Sort int // 排序字段,越小越靠前,默认值:10 } func GetAiChatTopicList(sysUserId int) (item []*AiSummary, err error) { sql := ` SELECT * FROM ai_summary WHERE classify_id=? ORDER BY create_time DESC ` o := orm.NewOrm() _, err = o.Raw(sql, sysUserId).QueryRows(&item) return } // GetAiSummaryById 根据纪要id获取沙盘详情 func GetAiSummaryById(aiSummaryId int) (sandboxInfo *AiSummary, err error) { o := orm.NewOrm() sql := `select * from ai_summary where ai_summary_id = ? ` err = o.Raw(sql, aiSummaryId).QueryRow(&sandboxInfo) return } // DelAiSummaryById 根据纪要id删除纪要 func DelAiSummaryById(aiSummaryId int) (err error) { o := orm.NewOrm() sql := `delete from ai_summary where ai_summary_id = ? ` _,err = o.Raw(sql, aiSummaryId).Exec() return } func MoveAiSummary(aiSummaryId, classifyId int) (err error) { o := orm.NewOrm() sql := ` UPDATE ai_summary SET classify_id = ? WHERE ai_summary_id = ?` _, err = o.Raw(sql, classifyId, aiSummaryId).Exec() return } // GetFirstAiSummaryByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据 func GetFirstAiSummaryByClassifyId(classifyId int) (item *AiSummary, err error) { o := orm.NewOrm() sql := ` SELECT * FROM ai_summary WHERE classify_id=? order by sort asc,ai_summary_id asc limit 1` err = o.Raw(sql, classifyId).QueryRow(&item) return } // Update func (aiSummary *AiSummary) Update(cols []string) (err error) { o := orm.NewOrm() _, err = o.Update(aiSummary, cols...) return } // UpdateSandboxSortByClassifyId 根据纪要id更新排序 func UpdateAiSummarySortByClassifyId(classifyId, nowSort, prevAiSummaryId int, updateSort string) (err error) { o := orm.NewOrm() sql := ` update ai_summary set sort = ` + updateSort + ` WHERE classify_id=? AND ` if prevAiSummaryId > 0 { sql += ` (sort > ? or (ai_summary_id > ` + fmt.Sprint(prevAiSummaryId) + ` and sort = ` + fmt.Sprint(nowSort) + `))` } _, err = o.Raw(sql, classifyId, nowSort).Exec() return }