package rag import ( "database/sql" "eta/eta_task/global" "eta/eta_task/utils" "fmt" "time" ) // AiTaskRecord AI任务的子记录 type AiTaskRecord struct { AiTaskRecordID int `gorm:"primaryKey;column:ai_task_record_id" json:"-"` // 任务记录id AiTaskID int `gorm:"column:ai_task_id" json:"aiTaskId"` // 任务id Parameters string `gorm:"column:parameters" json:"parameters"` // 子任务参数 Status string `gorm:"column:status" json:"status"` // 状态 Remark string `gorm:"column:remark" json:"remark"` // 备注 ModifyTime time.Time `gorm:"column:modify_time" json:"modifyTime"` // 最后一次修改时间 CreateTime time.Time `gorm:"column:create_time" json:"createTime"` // 任务创建时间 } // TableName get sql table name.获取数据库表名 func (m *AiTaskRecord) TableName() string { return "ai_task_record" } // AiTaskRecordColumns get sql column name.获取数据库列名 var AiTaskRecordColumns = struct { AiTaskRecordID string AiTaskID string Parameters string Status string Remark string ModifyTime string CreateTime string }{ AiTaskRecordID: "ai_task_record_id", AiTaskID: "ai_task_id", Parameters: "parameters", Status: "status", Remark: "remark", ModifyTime: "modify_time", CreateTime: "create_time", } func (m *AiTaskRecord) Create() (err error) { err = global.DbMap[utils.DbNameAI].Create(&m).Error return } func (m *AiTaskRecord) Update(updateCols []string) (err error) { err = global.DbMap[utils.DbNameAI].Select(updateCols).Updates(&m).Error return } func (m *AiTaskRecord) Del() (err error) { err = global.DbMap[utils.DbNameAI].Delete(&m).Error return } func (m *AiTaskRecord) GetByID(id int) (item *AiTaskRecord, err error) { err = global.DbMap[utils.DbNameAI].Where(fmt.Sprintf("%s = ?", AiTaskRecordColumns.AiTaskRecordID), id).First(&item).Error return } func (m *AiTaskRecord) GetByCondition(condition string, pars []interface{}) (item *AiTaskRecord, err error) { sqlStr := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s`, m.TableName(), condition) err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).First(&item).Error return } func (m *AiTaskRecord) GetAllListByCondition(field, condition string, pars []interface{}) (items []*AiTaskRecord, err error) { if field == "" { field = "*" } sqlStr := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s order by ai_task_record_id desc `, field, m.TableName(), condition) err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Find(&items).Error return } func (m *AiTaskRecord) GetListByCondition(field, condition string, pars []interface{}, startSize, pageSize int) (items []*AiTaskRecord, err error) { if field == "" { field = "*" } sqlStr := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s order by ai_task_record_id desc LIMIT ?,?`, field, m.TableName(), condition) pars = append(pars, startSize, pageSize) err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Find(&items).Error return } func (m *AiTaskRecord) GetCountByCondition(condition string, pars []interface{}) (total int, err error) { var intNull sql.NullInt64 sqlStr := fmt.Sprintf(`SELECT COUNT(1) total FROM %s WHERE 1=1 %s`, m.TableName(), condition) err = global.DbMap[utils.DbNameAI].Raw(sqlStr, pars...).Scan(&intNull).Error if err == nil && intNull.Valid { total = int(intNull.Int64) } return } // QuestionGenerateAbstractParam // @Description: type QuestionGenerateAbstractParam struct { QuestionId int `json:"questionId"` ArticleType string `json:"articleType"` ArticleId int `json:"articleId"` }