ai_summary.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. type AiSummaryItems struct {
  22. AiSummaryId int `orm:"column(ai_summary_id);pk"` // ai纪要id
  23. SaDocId int // 文档ID
  24. OriginContent string // 原始内容
  25. ClassifyId int // 分类id
  26. SysUserId int // 创建人ID
  27. SysUserRealName string // 创建人姓名
  28. Title string // 文档标题
  29. CreateTime string // 创建时间
  30. ModifyTime string // 更新时间
  31. OpenaiFileName string // 文件名称
  32. OpenaiFilePath string // 文件路径
  33. Sort int // 排序字段,越小越靠前,默认值:10
  34. ParentIds string
  35. }
  36. func GetAiChatTopicList(sysUserId int) (item []*AiSummary, err error) {
  37. sql := ` SELECT * FROM ai_summary WHERE classify_id=? ORDER BY create_time DESC `
  38. o := orm.NewOrm()
  39. _, err = o.Raw(sql, sysUserId).QueryRows(&item)
  40. return
  41. }
  42. // GetAiSummaryById 根据纪要id获取沙盘详情
  43. func GetAiSummaryById(aiSummaryId int) (sandboxInfo *AiSummary, err error) {
  44. o := orm.NewOrm()
  45. sql := `select * from ai_summary where ai_summary_id = ? `
  46. err = o.Raw(sql, aiSummaryId).QueryRow(&sandboxInfo)
  47. return
  48. }
  49. // DelAiSummaryById 根据纪要id删除纪要
  50. func DelAiSummaryById(aiSummaryId int) (err error) {
  51. o := orm.NewOrm()
  52. sql := `delete from ai_summary where ai_summary_id = ? `
  53. _, err = o.Raw(sql, aiSummaryId).Exec()
  54. return
  55. }
  56. func MoveAiSummary(aiSummaryId, classifyId int) (err error) {
  57. o := orm.NewOrm()
  58. sql := ` UPDATE ai_summary
  59. SET
  60. classify_id = ?
  61. WHERE ai_summary_id = ?`
  62. _, err = o.Raw(sql, classifyId, aiSummaryId).Exec()
  63. return
  64. }
  65. // GetFirstAiSummaryByClassifyId 获取当前分类下,且排序数相同 的排序第一条的数据
  66. func GetFirstAiSummaryByClassifyId(classifyId int) (item *AiSummary, err error) {
  67. o := orm.NewOrm()
  68. sql := ` SELECT * FROM ai_summary WHERE classify_id=? order by sort asc,ai_summary_id asc limit 1`
  69. err = o.Raw(sql, classifyId).QueryRow(&item)
  70. return
  71. }
  72. // Update
  73. func (aiSummary *AiSummary) Update(cols []string) (err error) {
  74. o := orm.NewOrm()
  75. _, err = o.Update(aiSummary, cols...)
  76. return
  77. }
  78. // UpdateSandboxSortByClassifyId 根据纪要id更新排序
  79. func UpdateAiSummarySortByClassifyId(classifyId, nowSort, prevAiSummaryId int, updateSort string) (err error) {
  80. o := orm.NewOrm()
  81. sql := ` update ai_summary set sort = ` + updateSort + ` WHERE classify_id=? AND `
  82. if prevAiSummaryId > 0 {
  83. sql += ` (sort > ? or (ai_summary_id > ` + fmt.Sprint(prevAiSummaryId) + ` and sort = ` + fmt.Sprint(nowSort) + `))`
  84. }
  85. _, err = o.Raw(sql, classifyId, nowSort).Exec()
  86. return
  87. }
  88. func GetAiSummaryListByCondition(condition string, pars []interface{}, startSize, pageSize int) (item []*AiSummaryItems, err error) {
  89. o := orm.NewOrm()
  90. sql := ` SELECT * FROM ai_summary WHERE 1=1 `
  91. if condition != "" {
  92. sql += condition
  93. }
  94. sql += " ORDER BY create_time DESC LIMIT ?,? "
  95. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
  96. return
  97. }
  98. func GetAiSummaryListCountByCondition(condition string, pars []interface{}) (count int, err error) {
  99. o := orm.NewOrm()
  100. sql := ` SELECT COUNT(1) AS count FROM ai_summary WHERE 1=1 `
  101. if condition != "" {
  102. sql += condition
  103. }
  104. err = o.Raw(sql, pars).QueryRow(&count)
  105. return
  106. }