// Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. package dao import ( "context" "gorm.io/gorm" "gorm.io/gorm/clause" "gorm.io/gorm/schema" "gorm.io/gen" "gorm.io/gen/field" "gorm.io/plugin/dbresolver" "joybuywork/internal/repository/model" ) func newLibraryQa(db *gorm.DB, opts ...gen.DOOption) libraryQa { _libraryQa := libraryQa{} _libraryQa.libraryQaDo.UseDB(db, opts...) _libraryQa.libraryQaDo.UseModel(&model.LibraryQa{}) tableName := _libraryQa.libraryQaDo.TableName() _libraryQa.ALL = field.NewAsterisk(tableName) _libraryQa.ID = field.NewInt64(tableName, "id") _libraryQa.CreatedAt = field.NewInt64(tableName, "created_at") _libraryQa.UpdatedAt = field.NewInt64(tableName, "updated_at") _libraryQa.IsDel = field.NewInt8(tableName, "is_del") _libraryQa.HashID = field.NewString(tableName, "hash_id") _libraryQa.ProjectID = field.NewInt64(tableName, "project_id") _libraryQa.GroupID = field.NewInt64(tableName, "group_id") _libraryQa.Mark = field.NewString(tableName, "mark") _libraryQa.Title = field.NewString(tableName, "title") _libraryQa.LinkURL = field.NewString(tableName, "link_url") _libraryQa.CoverURL = field.NewString(tableName, "cover_url") _libraryQa.ExplainText = field.NewString(tableName, "explain_text") _libraryQa.ExplainImg = field.NewString(tableName, "explain_img") _libraryQa.AnswerMark = field.NewString(tableName, "answer_mark") _libraryQa.fillFieldMap() return _libraryQa } type libraryQa struct { libraryQaDo libraryQaDo ALL field.Asterisk ID field.Int64 CreatedAt field.Int64 UpdatedAt field.Int64 IsDel field.Int8 // 是否已删除(1-是,0-否) HashID field.String // 对外hash_id ProjectID field.Int64 // 项目id(project表) GroupID field.Int64 // 题库组id(libary_qa_group表) Mark field.String // 问题类型(image_text-图文,video-视频,audio-音频) Title field.String // 题目 LinkURL field.String // 附件链接地址 CoverURL field.String // 封面图地址 ExplainText field.String // 答案讲解文本 ExplainImg field.String // 答案讲解图 AnswerMark field.String // 答案类型(image_text-图文,text-文本) fieldMap map[string]field.Expr } func (l libraryQa) Table(newTableName string) *libraryQa { l.libraryQaDo.UseTable(newTableName) return l.updateTableName(newTableName) } func (l libraryQa) As(alias string) *libraryQa { l.libraryQaDo.DO = *(l.libraryQaDo.As(alias).(*gen.DO)) return l.updateTableName(alias) } func (l *libraryQa) updateTableName(table string) *libraryQa { l.ALL = field.NewAsterisk(table) l.ID = field.NewInt64(table, "id") l.CreatedAt = field.NewInt64(table, "created_at") l.UpdatedAt = field.NewInt64(table, "updated_at") l.IsDel = field.NewInt8(table, "is_del") l.HashID = field.NewString(table, "hash_id") l.ProjectID = field.NewInt64(table, "project_id") l.GroupID = field.NewInt64(table, "group_id") l.Mark = field.NewString(table, "mark") l.Title = field.NewString(table, "title") l.LinkURL = field.NewString(table, "link_url") l.CoverURL = field.NewString(table, "cover_url") l.ExplainText = field.NewString(table, "explain_text") l.ExplainImg = field.NewString(table, "explain_img") l.AnswerMark = field.NewString(table, "answer_mark") l.fillFieldMap() return l } func (l *libraryQa) WithContext(ctx context.Context) *libraryQaDo { return l.libraryQaDo.WithContext(ctx) } func (l libraryQa) TableName() string { return l.libraryQaDo.TableName() } func (l libraryQa) Alias() string { return l.libraryQaDo.Alias() } func (l *libraryQa) GetFieldByName(fieldName string) (field.OrderExpr, bool) { _f, ok := l.fieldMap[fieldName] if !ok || _f == nil { return nil, false } _oe, ok := _f.(field.OrderExpr) return _oe, ok } func (l *libraryQa) fillFieldMap() { l.fieldMap = make(map[string]field.Expr, 14) l.fieldMap["id"] = l.ID l.fieldMap["created_at"] = l.CreatedAt l.fieldMap["updated_at"] = l.UpdatedAt l.fieldMap["is_del"] = l.IsDel l.fieldMap["hash_id"] = l.HashID l.fieldMap["project_id"] = l.ProjectID l.fieldMap["group_id"] = l.GroupID l.fieldMap["mark"] = l.Mark l.fieldMap["title"] = l.Title l.fieldMap["link_url"] = l.LinkURL l.fieldMap["cover_url"] = l.CoverURL l.fieldMap["explain_text"] = l.ExplainText l.fieldMap["explain_img"] = l.ExplainImg l.fieldMap["answer_mark"] = l.AnswerMark } func (l libraryQa) clone(db *gorm.DB) libraryQa { l.libraryQaDo.ReplaceConnPool(db.Statement.ConnPool) return l } func (l libraryQa) replaceDB(db *gorm.DB) libraryQa { l.libraryQaDo.ReplaceDB(db) return l } type libraryQaDo struct{ gen.DO } func (l libraryQaDo) Debug() *libraryQaDo { return l.withDO(l.DO.Debug()) } func (l libraryQaDo) WithContext(ctx context.Context) *libraryQaDo { return l.withDO(l.DO.WithContext(ctx)) } func (l libraryQaDo) ReadDB() *libraryQaDo { return l.Clauses(dbresolver.Read) } func (l libraryQaDo) WriteDB() *libraryQaDo { return l.Clauses(dbresolver.Write) } func (l libraryQaDo) Session(config *gorm.Session) *libraryQaDo { return l.withDO(l.DO.Session(config)) } func (l libraryQaDo) Clauses(conds ...clause.Expression) *libraryQaDo { return l.withDO(l.DO.Clauses(conds...)) } func (l libraryQaDo) Returning(value interface{}, columns ...string) *libraryQaDo { return l.withDO(l.DO.Returning(value, columns...)) } func (l libraryQaDo) Not(conds ...gen.Condition) *libraryQaDo { return l.withDO(l.DO.Not(conds...)) } func (l libraryQaDo) Or(conds ...gen.Condition) *libraryQaDo { return l.withDO(l.DO.Or(conds...)) } func (l libraryQaDo) Select(conds ...field.Expr) *libraryQaDo { return l.withDO(l.DO.Select(conds...)) } func (l libraryQaDo) Where(conds ...gen.Condition) *libraryQaDo { return l.withDO(l.DO.Where(conds...)) } func (l libraryQaDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *libraryQaDo { return l.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB())) } func (l libraryQaDo) Order(conds ...field.Expr) *libraryQaDo { return l.withDO(l.DO.Order(conds...)) } func (l libraryQaDo) Distinct(cols ...field.Expr) *libraryQaDo { return l.withDO(l.DO.Distinct(cols...)) } func (l libraryQaDo) Omit(cols ...field.Expr) *libraryQaDo { return l.withDO(l.DO.Omit(cols...)) } func (l libraryQaDo) Join(table schema.Tabler, on ...field.Expr) *libraryQaDo { return l.withDO(l.DO.Join(table, on...)) } func (l libraryQaDo) LeftJoin(table schema.Tabler, on ...field.Expr) *libraryQaDo { return l.withDO(l.DO.LeftJoin(table, on...)) } func (l libraryQaDo) RightJoin(table schema.Tabler, on ...field.Expr) *libraryQaDo { return l.withDO(l.DO.RightJoin(table, on...)) } func (l libraryQaDo) Group(cols ...field.Expr) *libraryQaDo { return l.withDO(l.DO.Group(cols...)) } func (l libraryQaDo) Having(conds ...gen.Condition) *libraryQaDo { return l.withDO(l.DO.Having(conds...)) } func (l libraryQaDo) Limit(limit int) *libraryQaDo { return l.withDO(l.DO.Limit(limit)) } func (l libraryQaDo) Offset(offset int) *libraryQaDo { return l.withDO(l.DO.Offset(offset)) } func (l libraryQaDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *libraryQaDo { return l.withDO(l.DO.Scopes(funcs...)) } func (l libraryQaDo) Unscoped() *libraryQaDo { return l.withDO(l.DO.Unscoped()) } func (l libraryQaDo) Create(values ...*model.LibraryQa) error { if len(values) == 0 { return nil } return l.DO.Create(values) } func (l libraryQaDo) CreateInBatches(values []*model.LibraryQa, batchSize int) error { return l.DO.CreateInBatches(values, batchSize) } // Save : !!! underlying implementation is different with GORM // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) func (l libraryQaDo) Save(values ...*model.LibraryQa) error { if len(values) == 0 { return nil } return l.DO.Save(values) } func (l libraryQaDo) First() (*model.LibraryQa, error) { if result, err := l.DO.First(); err != nil { return nil, err } else { return result.(*model.LibraryQa), nil } } func (l libraryQaDo) Take() (*model.LibraryQa, error) { if result, err := l.DO.Take(); err != nil { return nil, err } else { return result.(*model.LibraryQa), nil } } func (l libraryQaDo) Last() (*model.LibraryQa, error) { if result, err := l.DO.Last(); err != nil { return nil, err } else { return result.(*model.LibraryQa), nil } } func (l libraryQaDo) Find() ([]*model.LibraryQa, error) { result, err := l.DO.Find() return result.([]*model.LibraryQa), err } func (l libraryQaDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.LibraryQa, err error) { buf := make([]*model.LibraryQa, 0, batchSize) err = l.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { defer func() { results = append(results, buf...) }() return fc(tx, batch) }) return results, err } func (l libraryQaDo) FindInBatches(result *[]*model.LibraryQa, batchSize int, fc func(tx gen.Dao, batch int) error) error { return l.DO.FindInBatches(result, batchSize, fc) } func (l libraryQaDo) Attrs(attrs ...field.AssignExpr) *libraryQaDo { return l.withDO(l.DO.Attrs(attrs...)) } func (l libraryQaDo) Assign(attrs ...field.AssignExpr) *libraryQaDo { return l.withDO(l.DO.Assign(attrs...)) } func (l libraryQaDo) Joins(fields ...field.RelationField) *libraryQaDo { for _, _f := range fields { l = *l.withDO(l.DO.Joins(_f)) } return &l } func (l libraryQaDo) Preload(fields ...field.RelationField) *libraryQaDo { for _, _f := range fields { l = *l.withDO(l.DO.Preload(_f)) } return &l } func (l libraryQaDo) FirstOrInit() (*model.LibraryQa, error) { if result, err := l.DO.FirstOrInit(); err != nil { return nil, err } else { return result.(*model.LibraryQa), nil } } func (l libraryQaDo) FirstOrCreate() (*model.LibraryQa, error) { if result, err := l.DO.FirstOrCreate(); err != nil { return nil, err } else { return result.(*model.LibraryQa), nil } } func (l libraryQaDo) FindByPage(offset int, limit int) (result []*model.LibraryQa, count int64, err error) { result, err = l.Offset(offset).Limit(limit).Find() if err != nil { return } if size := len(result); 0 < limit && 0 < size && size < limit { count = int64(size + offset) return } count, err = l.Offset(-1).Limit(-1).Count() return } func (l libraryQaDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { count, err = l.Count() if err != nil { return } err = l.Offset(offset).Limit(limit).Scan(result) return } func (l libraryQaDo) Scan(result interface{}) (err error) { return l.DO.Scan(result) } func (l libraryQaDo) Delete(models ...*model.LibraryQa) (result gen.ResultInfo, err error) { return l.DO.Delete(models) } func (l *libraryQaDo) withDO(do gen.Dao) *libraryQaDo { l.DO = *do.(*gen.DO) return l }