ai_pormpt.go 6.3 KB

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