package ai_summary import ( "eta_gn/eta_api/global" "time" ) type AiPrompt struct { AiPromptId int `gorm:"primaryKey;column:ai_prompt_id;type:int(10) unsigned;not null"` // ai纪要提示词id PromptContent string `gorm:"column:prompt_content;type:longtext"` // 提示词内容 SysAdminId int `gorm:"column:sys_admin_id;type:int(10) unsigned;not null;default:0"` // 创建人ID SysAdminName string `gorm:"column:sys_admin_name;type:varchar(128);not null;default:''"` // 创建人姓名 Title string `gorm:"column:title;type:varchar(255);not null;default:''"` // 文档标题 CreateTime time.Time `gorm:"column:create_time;type:datetime"` // 创建时间 ModifyTime time.Time `gorm:"column:modify_time;type:datetime"` // 更新时间 IsShare int `gorm:"column:is_share;type:tinyint(9) unsigned;default:0"` // 是否分享,0:不分享,1:分享 Sort int `gorm:"column:sort;type:int(9) unsigned;default:10"` // 排序字段,越小越靠前,默认值:10 } type AiPromptItem struct { AiPromptId int `gorm:"primaryKey;column:ai_prompt_id;type:int(10) unsigned;not null"` // ai纪要提示词id PromptContent string `gorm:"column:prompt_content;type:longtext"` // 提示词内容 SysAdminId int `gorm:"column:sys_admin_id;type:int(10) unsigned;not null;default:0"` // 创建人ID SysAdminName string `gorm:"column:sys_admin_name;type:varchar(128);not null;default:''"` // 创建人姓名 Title string `gorm:"column:title;type:varchar(255);not null;default:''"` // 文档标题 CreateTime string `gorm:"column:create_time;type:datetime"` // 创建时间 ModifyTime string `gorm:"column:modify_time;type:datetime"` // 更新时间 IsShare int `gorm:"column:is_share;type:tinyint(9) unsigned;default:0"` // 是否分享,0:不分享,1:分享 Sort int `gorm:"column:sort;type:int(9) unsigned;default:10"` // 排序字段,越小越靠前,默认值:10 } func GetAiPromptList(sysUserId, isShare int) (items []*AiPromptItem, err error) { sql := `` if isShare == 1 { sql = ` SELECT * FROM ai_prompt WHERE sys_admin_id=? and is_share=1 ORDER BY sort ` } else { sql = ` SELECT * FROM ai_prompt WHERE sys_admin_id=? ORDER BY sort ` } err = global.DEFAULT_DmSQL.Raw(sql, sysUserId).Find(&items).Error return } func GetAiPromptShareList() (items []*AiPromptItem, err error) { sql := `` sql = ` SELECT * FROM ai_prompt WHERE is_share=1 ORDER BY create_time DESC ` err = global.DEFAULT_DmSQL.Raw(sql).Find(&items).Error return } type RespGroupListItem struct { GroupId int64 `description:"目录id"` GroupName string `description:"目录名称"` AdminId int `description:"目录创建者账号ID"` IsShare int8 `description:"是否共享,0私有,1共享"` PromptList []*AiPromptItem } type AiPromptAddReq struct { PromptContent string // 原始内容 Title string // 文档标题 } func AddPropmt(item *AiPrompt) (lastId int64, err error) { err = global.DEFAULT_DmSQL.Create(item).Error lastId = int64(item.AiPromptId) return } type AiPromptEditReq struct { PromptContent string // 原始内容 Title string // 文档标题 AiPromptId int // ai纪要提示词id } func (aiPrompt *AiPrompt) Update(cols []string) (err error) { err = global.DEFAULT_DmSQL.Select(cols).Updates(aiPrompt).Error return } // DelAiPromptyId 根据纪要id删除纪要 func DelAiPromptyId(aiPromptId int) (err error) { sql := `delete from ai_prompt where ai_prompt_id = ? ` err = global.DEFAULT_DmSQL.Exec(sql, aiPromptId).Error return } func GetAiPromptById(promptId int) (item *AiPrompt, err error) { sql := `SELECT * FROM ai_prompt WHERE 1=1 AND ai_prompt_id=? ` err = global.DEFAULT_DmSQL.Raw(sql, promptId).First(&item).Error return } type DeleteAipromptReq struct { AiPromptId int // ai纪要提示词id } type ReqMovePrompt struct { AiPromptId int `description:"当前被移动的目录里的ppt绑定序号"` PrevAiPromptId int `description:"上一个目录里的ppt绑定序号,ppt最终在目录中置顶,则传0值"` NextAiPromptId int `description:"下一个目录里的ppt绑定序号,ppt最终在目录末尾,则传0值"` } // GetAiPromptMaxSort 获取ai提示词下最大的排序数 func GetAiPromptMaxSort(adminId int) (sort int, err error) { sql := `SELECT COALESCE(MAX(sort), 0) AS sort FROM ai_prompt WHERE sys_admin_id=? ` err = global.DEFAULT_DmSQL.Raw(sql, adminId).First(&sort).Error return } // MoveDownPromptBySort 往下移动提示词 func MoveDownPromptBySort(sysAdminId, prevSort, currentSort int) (err error) { sql := `update ai_prompt set sort = sort - 1 where sys_admin_id = ? and sort <= ? and sort> ? ` err = global.DEFAULT_DmSQL.Exec(sql, sysAdminId, prevSort, currentSort).Error return } // MoveUpPromptBySort 往上移动提示词 func MoveUpPromptBySort(sysAdminId, nextSort, currentSort int) (err error) { sql := `update ai_prompt set sort = sort + 1 where sys_admin_id = ? and sort >= ? and sort< ?` err = global.DEFAULT_DmSQL.Exec(sql, sysAdminId, nextSort, currentSort).Error return }