ai_task_record.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package rag
  2. import (
  3. "database/sql"
  4. "eta/eta_api/global"
  5. "eta/eta_api/utils"
  6. "fmt"
  7. "time"
  8. )
  9. // AiTaskRecord AI任务的子记录
  10. type AiTaskRecord struct {
  11. AiTaskRecordID int `gorm:"primaryKey;column:ai_task_record_id" json:"-"` // 任务记录id
  12. AiTaskID int `gorm:"column:ai_task_id" json:"aiTaskId"` // 任务id
  13. Parameters string `gorm:"column:parameters" json:"parameters"` // 子任务参数
  14. Status string `gorm:"column:status" json:"status"` // 状态
  15. Remark string `gorm:"column:remark" json:"remark"` // 备注
  16. ModifyTime time.Time `gorm:"column:modify_time" json:"modifyTime"` // 最后一次修改时间
  17. CreateTime time.Time `gorm:"column:create_time" json:"createTime"` // 任务创建时间
  18. }
  19. // TableName get sql table name.获取数据库表名
  20. func (m *AiTaskRecord) TableName() string {
  21. return "ai_task_record"
  22. }
  23. // AiTaskRecordColumns get sql column name.获取数据库列名
  24. var AiTaskRecordColumns = struct {
  25. AiTaskRecordID string
  26. AiTaskID string
  27. Parameters string
  28. Status string
  29. Remark string
  30. ModifyTime string
  31. CreateTime string
  32. }{
  33. AiTaskRecordID: "ai_task_record_id",
  34. AiTaskID: "ai_task_id",
  35. Parameters: "parameters",
  36. Status: "status",
  37. Remark: "remark",
  38. ModifyTime: "modify_time",
  39. CreateTime: "create_time",
  40. }
  41. func (m *AiTaskRecord) Create() (err error) {
  42. err = global.DbMap[utils.DbNameAI].Create(&m).Error
  43. return
  44. }
  45. func (m *AiTaskRecord) Update(updateCols []string) (err error) {
  46. err = global.DbMap[utils.DbNameAI].Select(updateCols).Updates(&m).Error
  47. return
  48. }
  49. func (m *AiTaskRecord) Del() (err error) {
  50. err = global.DbMap[utils.DbNameAI].Delete(&m).Error
  51. return
  52. }
  53. func (m *AiTaskRecord) GetByID(id int) (item *AiTaskRecord, err error) {
  54. err = global.DbMap[utils.DbNameAI].Where(fmt.Sprintf("%s = ?", AiTaskRecordColumns.AiTaskRecordID), id).First(&item).Error
  55. return
  56. }
  57. func (m *AiTaskRecord) GetByCondition(condition string, pars []interface{}) (item *AiTaskRecord, err error) {
  58. sqlStr := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s`, m.TableName(), condition)
  59. err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).First(&item).Error
  60. return
  61. }
  62. func (m *AiTaskRecord) GetAllListByCondition(field, condition string, pars []interface{}) (items []*AiTaskRecord, err error) {
  63. if field == "" {
  64. field = "*"
  65. }
  66. sqlStr := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s order by ai_task_record_id desc `, field, m.TableName(), condition)
  67. err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Find(&items).Error
  68. return
  69. }
  70. func (m *AiTaskRecord) GetListByCondition(field, condition string, pars []interface{}, startSize, pageSize int) (items []*AiTaskRecord, err error) {
  71. if field == "" {
  72. field = "*"
  73. }
  74. sqlStr := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s order by ai_task_record_id desc LIMIT ?,?`, field, m.TableName(), condition)
  75. pars = append(pars, startSize, pageSize)
  76. err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Find(&items).Error
  77. return
  78. }
  79. func (m *AiTaskRecord) GetCountByCondition(condition string, pars []interface{}) (total int, err error) {
  80. var intNull sql.NullInt64
  81. sqlStr := fmt.Sprintf(`SELECT COUNT(1) total FROM %s WHERE 1=1 %s`, m.TableName(), condition)
  82. err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Scan(&intNull).Error
  83. if err == nil && intNull.Valid {
  84. total = int(intNull.Int64)
  85. }
  86. return
  87. }
  88. // QuestionGenerateAbstractParam
  89. // @Description:
  90. type QuestionGenerateAbstractParam struct {
  91. QuestionId int `json:"questionId"`
  92. ArticleType string `json:"articleType"`
  93. ArticleId int `json:"articleId"`
  94. }