ai_pormpt.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. package ai_summary
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "time"
  6. )
  7. type AiPrompt struct {
  8. AiPromptId int `orm:"column(ai_prompt_id);pk" gorm:"primaryKey"` // ai纪要提示词id
  9. PromptContent string // 原始内容
  10. SysAdminId int // 创建人ID
  11. SysAdminName string // 创建人姓名
  12. Title string // 文档标题
  13. CreateTime time.Time // 创建时间
  14. ModifyTime time.Time // 更新时间
  15. IsShare int // 是否分享,0:不分享,1:分享
  16. Sort int // 排序
  17. }
  18. type AiPromptItem struct {
  19. AiPromptId int `orm:"column(ai_prompt_id);pk" gorm:"primaryKey"` // ai纪要提示词id
  20. PromptContent string // 原始内容
  21. SysAdminId int // 创建人ID
  22. SysAdminName string // 创建人姓名
  23. Title string // 文档标题
  24. CreateTime string // 创建时间
  25. ModifyTime string // 更新时间
  26. IsShare int // 是否分享,0:不分享,1:分享
  27. Sort int // 排序
  28. }
  29. func GetAiPromptList(sysUserId, isShare int) (items []*AiPromptItem, err error) {
  30. sql := ``
  31. if isShare == 1 {
  32. sql = ` SELECT * FROM ai_prompt WHERE sys_admin_id=? and is_share=1 ORDER BY sort `
  33. } else {
  34. sql = ` SELECT * FROM ai_prompt WHERE sys_admin_id=? ORDER BY sort `
  35. }
  36. o := global.DbMap[utils.DbNameMaster]
  37. err = o.Raw(sql, sysUserId).Find(&items).Error
  38. return
  39. }
  40. func GetAiPromptShareList() (items []*AiPromptItem, err error) {
  41. sql := ``
  42. sql = ` SELECT * FROM ai_prompt WHERE is_share=1 ORDER BY create_time DESC `
  43. o := global.DbMap[utils.DbNameMaster]
  44. err = o.Raw(sql).Find(&items).Error
  45. return
  46. }
  47. type RespGroupListItem struct {
  48. GroupId int64 `description:"目录id"`
  49. GroupName string `description:"目录名称"`
  50. AdminId int `description:"目录创建者账号ID"`
  51. IsShare int8 `description:"是否共享,0私有,1共享"`
  52. PromptList []*AiPromptItem
  53. }
  54. type AiPromptAddReq struct {
  55. PromptContent string // 原始内容
  56. Title string // 文档标题
  57. }
  58. func AddPropmt(item *AiPrompt) (lastId int64, err error) {
  59. o := global.DbMap[utils.DbNameMaster]
  60. err = o.Create(item).Error
  61. if err != nil {
  62. return
  63. }
  64. lastId = int64(item.AiPromptId)
  65. return
  66. }
  67. type AiPromptEditReq struct {
  68. PromptContent string // 原始内容
  69. Title string // 文档标题
  70. AiPromptId int // ai纪要提示词id
  71. }
  72. // Update
  73. func (aiPrompt *AiPrompt) Update(cols []string) (err error) {
  74. o := global.DbMap[utils.DbNameMaster]
  75. err = o.Select(cols).Updates(aiPrompt).Error
  76. return
  77. }
  78. // DelAiSummaryById 根据纪要id删除纪要
  79. func DelAiPromptyId(aiPromptId int) (err error) {
  80. o := global.DbMap[utils.DbNameMaster]
  81. sql := `delete from ai_prompt where ai_prompt_id = ? `
  82. err = o.Exec(sql, aiPromptId).Error
  83. return
  84. }
  85. func GetAiPromptById(promptId int) (item *AiPrompt, err error) {
  86. o := global.DbMap[utils.DbNameMaster]
  87. sql := `SELECT * FROM ai_prompt WHERE 1=1 AND ai_prompt_id=? `
  88. err = o.Raw(sql, promptId).First(&item).Error
  89. return
  90. }
  91. type DeleteAipromptReq struct {
  92. AiPromptId int // ai纪要提示词id
  93. }
  94. type ReqMovePrompt struct {
  95. AiPromptId int `description:"当前被移动的目录里的ppt绑定序号"`
  96. PrevAiPromptId int `description:"上一个目录里的ppt绑定序号,ppt最终在目录中置顶,则传0值"`
  97. NextAiPromptId int `description:"下一个目录里的ppt绑定序号,ppt最终在目录末尾,则传0值"`
  98. }
  99. // GetAiPromptMaxSort 获取ai提示词下最大的排序数
  100. func GetAiPromptMaxSort(adminId int) (sort int, err error) {
  101. o := global.DbMap[utils.DbNameMaster]
  102. sql := `SELECT COALESCE(MAX(sort), 0) AS sort FROM ai_prompt WHERE sys_admin_id=? `
  103. err = o.Raw(sql, adminId).Scan(&sort).Error
  104. return
  105. }
  106. // MoveDownPromptBySort 往下移动提示词
  107. func MoveDownPromptBySort(sysAdminId, prevSort, currentSort int) (err error) {
  108. o := global.DbMap[utils.DbNameMaster]
  109. sql := `update ai_prompt set sort = sort - 1 where sys_admin_id = ? and sort <= ? and sort> ? `
  110. err = o.Exec(sql, sysAdminId, prevSort, currentSort).Error
  111. return
  112. }
  113. // MoveUpPromptBySort 往上移动提示词
  114. func MoveUpPromptBySort(sysAdminId, nextSort, currentSort int) (err error) {
  115. o := global.DbMap[utils.DbNameMaster]
  116. sql := `update ai_prompt set sort = sort + 1 where sys_admin_id = ? and sort >= ? and sort< ?`
  117. err = o.Exec(sql, sysAdminId, nextSort, currentSort).Error
  118. return
  119. }