ai_summary.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package ai_summary
  2. import (
  3. "fmt"
  4. "github.com/beego/beego/v2/client/orm"
  5. "time"
  6. )
  7. type AiSummary struct {
  8. AiSummaryId int `orm:"column(ai_summary_id);pk"` // ai纪要id
  9. SaDocId int // 文档ID
  10. OriginContent string // 原始内容
  11. ClassifyId int // 分类id
  12. SysUserId int // 创建人ID
  13. SysUserRealName string // 创建人姓名
  14. Title string // 文档标题
  15. CreateTime time.Time // 创建时间
  16. ModifyTime time.Time // 更新时间
  17. OpenaiFileName string // 文件名称
  18. OpenaiFilePath string // 文件路径
  19. Sort int // 排序字段,越小越靠前,默认值:10
  20. }
  21. func GetAiChatTopicList(sysUserId int) (item []*AiSummary, err error) {
  22. sql := ` SELECT * FROM ai_summary WHERE classify_id=? ORDER BY create_time DESC `
  23. o := orm.NewOrm()
  24. _, err = o.Raw(sql, sysUserId).QueryRows(&item)
  25. return
  26. }
  27. // GetAiSummaryById 根据纪要id获取沙盘详情
  28. func GetAiSummaryById(aiSummaryId int) (sandboxInfo *AiSummary, err error) {
  29. o := orm.NewOrm()
  30. sql := `select * from ai_summary where ai_summary_id = ? `
  31. err = o.Raw(sql, aiSummaryId).QueryRow(&sandboxInfo)
  32. return
  33. }
  34. // DelAiSummaryById 根据纪要id删除纪要
  35. func DelAiSummaryById(aiSummaryId int) (err error) {
  36. o := orm.NewOrm()
  37. sql := `delete from ai_summary where ai_summary_id = ? `
  38. _,err = o.Raw(sql, aiSummaryId).Exec()
  39. return
  40. }
  41. func MoveAiSummary(aiSummaryId, classifyId int) (err error) {
  42. o := orm.NewOrm()
  43. sql := ` UPDATE ai_summary
  44. SET
  45. classify_id = ?
  46. WHERE ai_summary_id = ?`
  47. _, err = o.Raw(sql, classifyId, aiSummaryId).Exec()
  48. return
  49. }
  50. // GetFirstAiSummaryByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
  51. func GetFirstAiSummaryByClassifyId(classifyId int) (item *AiSummary, err error) {
  52. o := orm.NewOrm()
  53. sql := ` SELECT * FROM ai_summary WHERE classify_id=? order by sort asc,ai_summary_id asc limit 1`
  54. err = o.Raw(sql, classifyId).QueryRow(&item)
  55. return
  56. }
  57. // Update
  58. func (aiSummary *AiSummary) Update(cols []string) (err error) {
  59. o := orm.NewOrm()
  60. _, err = o.Update(aiSummary, cols...)
  61. return
  62. }
  63. // UpdateSandboxSortByClassifyId 根据纪要id更新排序
  64. func UpdateAiSummarySortByClassifyId(classifyId, nowSort, prevAiSummaryId int, updateSort string) (err error) {
  65. o := orm.NewOrm()
  66. sql := ` update ai_summary set sort = ` + updateSort + ` WHERE classify_id=? AND `
  67. if prevAiSummaryId > 0 {
  68. sql += ` (sort > ? or (ai_summary_id > ` + fmt.Sprint(prevAiSummaryId) + ` and sort = ` + fmt.Sprint(nowSort) + `))`
  69. }
  70. _, err = o.Raw(sql, classifyId, nowSort).Exec()
  71. return
  72. }