// 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 model import ( "context" "gorm.io/gorm" "gorm.io/gorm/clause" "gorm.io/gorm/schema" "gorm.io/gen" "gorm.io/gen/field" "gorm.io/plugin/dbresolver" "icloudapp.cn/tools/service/entity" ) func newGroup(db *gorm.DB, opts ...gen.DOOption) MGroup { _MGroup := MGroup{} _MGroup.MGroupDo.UseDB(db, opts...) _MGroup.MGroupDo.UseModel(&entity.Group{}) tableName := _MGroup.MGroupDo.TableName() _MGroup.ALL = field.NewAsterisk(tableName) _MGroup.GroupID = field.NewInt64(tableName, "group_id") _MGroup.GroupName = field.NewString(tableName, "group_name") _MGroup.Roles = field.NewString(tableName, "roles") _MGroup.GroupStatus = field.NewInt64(tableName, "group_status") _MGroup.OperatorUID = field.NewInt64(tableName, "operator_uid") _MGroup.CreateAt = field.NewTime(tableName, "create_at") _MGroup.UpdateAt = field.NewTime(tableName, "update_at") _MGroup.fillFieldMap() return _MGroup } type MGroup struct { MGroupDo MGroupDo ALL field.Asterisk GroupID field.Int64 GroupName field.String // 分组名称 Roles field.String // 权限,roles 的id,对应的模块 GroupStatus field.Int64 // 分组状态 OperatorUID field.Int64 // 操作人 CreateAt field.Time // 创建时间 UpdateAt field.Time // 更新时间 fieldMap map[string]field.Expr } func (g MGroup) Table(newTableName string) *MGroup { g.MGroupDo.UseTable(newTableName) return g.updateTableName(newTableName) } func (g MGroup) As(alias string) *MGroup { g.MGroupDo.DO = *(g.MGroupDo.As(alias).(*gen.DO)) return g.updateTableName(alias) } func (g *MGroup) updateTableName(table string) *MGroup { g.ALL = field.NewAsterisk(table) g.GroupID = field.NewInt64(table, "group_id") g.GroupName = field.NewString(table, "group_name") g.Roles = field.NewString(table, "roles") g.GroupStatus = field.NewInt64(table, "group_status") g.OperatorUID = field.NewInt64(table, "operator_uid") g.CreateAt = field.NewTime(table, "create_at") g.UpdateAt = field.NewTime(table, "update_at") g.fillFieldMap() return g } func (g *MGroup) WithContext(ctx context.Context) IGroupDo { return g.MGroupDo.WithContext(ctx) } func (g MGroup) TableName() string { return g.MGroupDo.TableName() } func (g MGroup) Alias() string { return g.MGroupDo.Alias() } func (g *MGroup) GetFieldByName(fieldName string) (field.OrderExpr, bool) { _f, ok := g.fieldMap[fieldName] if !ok || _f == nil { return nil, false } _oe, ok := _f.(field.OrderExpr) return _oe, ok } func (g *MGroup) fillFieldMap() { g.fieldMap = make(map[string]field.Expr, 7) g.fieldMap["group_id"] = g.GroupID g.fieldMap["group_name"] = g.GroupName g.fieldMap["roles"] = g.Roles g.fieldMap["group_status"] = g.GroupStatus g.fieldMap["operator_uid"] = g.OperatorUID g.fieldMap["create_at"] = g.CreateAt g.fieldMap["update_at"] = g.UpdateAt } func (g MGroup) clone(db *gorm.DB) MGroup { g.MGroupDo.ReplaceConnPool(db.Statement.ConnPool) return g } func (g MGroup) replaceDB(db *gorm.DB) MGroup { g.MGroupDo.ReplaceDB(db) return g } type MGroupDo struct{ gen.DO } type IGroupDo interface { gen.SubQuery Debug() IGroupDo WithContext(ctx context.Context) IGroupDo WithResult(fc func(tx gen.Dao)) gen.ResultInfo ReplaceDB(db *gorm.DB) ReadDB() IGroupDo WriteDB() IGroupDo As(alias string) gen.Dao Session(config *gorm.Session) IGroupDo Columns(cols ...field.Expr) gen.Columns Clauses(conds ...clause.Expression) IGroupDo Not(conds ...gen.Condition) IGroupDo Or(conds ...gen.Condition) IGroupDo Select(conds ...field.Expr) IGroupDo Where(conds ...gen.Condition) IGroupDo Order(conds ...field.Expr) IGroupDo Distinct(cols ...field.Expr) IGroupDo Omit(cols ...field.Expr) IGroupDo Join(table schema.Tabler, on ...field.Expr) IGroupDo LeftJoin(table schema.Tabler, on ...field.Expr) IGroupDo RightJoin(table schema.Tabler, on ...field.Expr) IGroupDo Group(cols ...field.Expr) IGroupDo Having(conds ...gen.Condition) IGroupDo Limit(limit int) IGroupDo Offset(offset int) IGroupDo Count() (count int64, err error) Scopes(funcs ...func(gen.Dao) gen.Dao) IGroupDo Unscoped() IGroupDo Create(values ...*entity.Group) error CreateInBatches(values []*entity.Group, batchSize int) error Save(values ...*entity.Group) error First() (*entity.Group, error) Take() (*entity.Group, error) Last() (*entity.Group, error) Find() ([]*entity.Group, error) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*entity.Group, err error) FindInBatches(result *[]*entity.Group, batchSize int, fc func(tx gen.Dao, batch int) error) error Pluck(column field.Expr, dest interface{}) error Delete(...*entity.Group) (info gen.ResultInfo, err error) Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) Updates(value interface{}) (info gen.ResultInfo, err error) UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) UpdateColumns(value interface{}) (info gen.ResultInfo, err error) UpdateFrom(q gen.SubQuery) gen.Dao Attrs(attrs ...field.AssignExpr) IGroupDo Assign(attrs ...field.AssignExpr) IGroupDo Joins(fields ...field.RelationField) IGroupDo Preload(fields ...field.RelationField) IGroupDo FirstOrInit() (*entity.Group, error) FirstOrCreate() (*entity.Group, error) FindByPage(offset int, limit int) (result []*entity.Group, count int64, err error) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) Scan(result interface{}) (err error) Returning(value interface{}, columns ...string) IGroupDo UnderlyingDB() *gorm.DB schema.Tabler } func (g MGroupDo) Debug() IGroupDo { return g.withDO(g.DO.Debug()) } func (g MGroupDo) WithContext(ctx context.Context) IGroupDo { return g.withDO(g.DO.WithContext(ctx)) } func (g MGroupDo) ReadDB() IGroupDo { return g.Clauses(dbresolver.Read) } func (g MGroupDo) WriteDB() IGroupDo { return g.Clauses(dbresolver.Write) } func (g MGroupDo) Session(config *gorm.Session) IGroupDo { return g.withDO(g.DO.Session(config)) } func (g MGroupDo) Clauses(conds ...clause.Expression) IGroupDo { return g.withDO(g.DO.Clauses(conds...)) } func (g MGroupDo) Returning(value interface{}, columns ...string) IGroupDo { return g.withDO(g.DO.Returning(value, columns...)) } func (g MGroupDo) Not(conds ...gen.Condition) IGroupDo { return g.withDO(g.DO.Not(conds...)) } func (g MGroupDo) Or(conds ...gen.Condition) IGroupDo { return g.withDO(g.DO.Or(conds...)) } func (g MGroupDo) Select(conds ...field.Expr) IGroupDo { return g.withDO(g.DO.Select(conds...)) } func (g MGroupDo) Where(conds ...gen.Condition) IGroupDo { return g.withDO(g.DO.Where(conds...)) } func (g MGroupDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) IGroupDo { return g.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB())) } func (g MGroupDo) Order(conds ...field.Expr) IGroupDo { return g.withDO(g.DO.Order(conds...)) } func (g MGroupDo) Distinct(cols ...field.Expr) IGroupDo { return g.withDO(g.DO.Distinct(cols...)) } func (g MGroupDo) Omit(cols ...field.Expr) IGroupDo { return g.withDO(g.DO.Omit(cols...)) } func (g MGroupDo) Join(table schema.Tabler, on ...field.Expr) IGroupDo { return g.withDO(g.DO.Join(table, on...)) } func (g MGroupDo) LeftJoin(table schema.Tabler, on ...field.Expr) IGroupDo { return g.withDO(g.DO.LeftJoin(table, on...)) } func (g MGroupDo) RightJoin(table schema.Tabler, on ...field.Expr) IGroupDo { return g.withDO(g.DO.RightJoin(table, on...)) } func (g MGroupDo) Group(cols ...field.Expr) IGroupDo { return g.withDO(g.DO.Group(cols...)) } func (g MGroupDo) Having(conds ...gen.Condition) IGroupDo { return g.withDO(g.DO.Having(conds...)) } func (g MGroupDo) Limit(limit int) IGroupDo { return g.withDO(g.DO.Limit(limit)) } func (g MGroupDo) Offset(offset int) IGroupDo { return g.withDO(g.DO.Offset(offset)) } func (g MGroupDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IGroupDo { return g.withDO(g.DO.Scopes(funcs...)) } func (g MGroupDo) Unscoped() IGroupDo { return g.withDO(g.DO.Unscoped()) } func (g MGroupDo) Create(values ...*entity.Group) error { if len(values) == 0 { return nil } return g.DO.Create(values) } func (g MGroupDo) CreateInBatches(values []*entity.Group, batchSize int) error { return g.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 (g MGroupDo) Save(values ...*entity.Group) error { if len(values) == 0 { return nil } return g.DO.Save(values) } func (g MGroupDo) First() (*entity.Group, error) { if result, err := g.DO.First(); err != nil { return nil, err } else { return result.(*entity.Group), nil } } func (g MGroupDo) Take() (*entity.Group, error) { if result, err := g.DO.Take(); err != nil { return nil, err } else { return result.(*entity.Group), nil } } func (g MGroupDo) Last() (*entity.Group, error) { if result, err := g.DO.Last(); err != nil { return nil, err } else { return result.(*entity.Group), nil } } func (g MGroupDo) Find() ([]*entity.Group, error) { result, err := g.DO.Find() return result.([]*entity.Group), err } func (g MGroupDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*entity.Group, err error) { buf := make([]*entity.Group, 0, batchSize) err = g.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 (g MGroupDo) FindInBatches(result *[]*entity.Group, batchSize int, fc func(tx gen.Dao, batch int) error) error { return g.DO.FindInBatches(result, batchSize, fc) } func (g MGroupDo) Attrs(attrs ...field.AssignExpr) IGroupDo { return g.withDO(g.DO.Attrs(attrs...)) } func (g MGroupDo) Assign(attrs ...field.AssignExpr) IGroupDo { return g.withDO(g.DO.Assign(attrs...)) } func (g MGroupDo) Joins(fields ...field.RelationField) IGroupDo { for _, _f := range fields { g = *g.withDO(g.DO.Joins(_f)) } return &g } func (g MGroupDo) Preload(fields ...field.RelationField) IGroupDo { for _, _f := range fields { g = *g.withDO(g.DO.Preload(_f)) } return &g } func (g MGroupDo) FirstOrInit() (*entity.Group, error) { if result, err := g.DO.FirstOrInit(); err != nil { return nil, err } else { return result.(*entity.Group), nil } } func (g MGroupDo) FirstOrCreate() (*entity.Group, error) { if result, err := g.DO.FirstOrCreate(); err != nil { return nil, err } else { return result.(*entity.Group), nil } } func (g MGroupDo) FindByPage(offset int, limit int) (result []*entity.Group, count int64, err error) { result, err = g.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 = g.Offset(-1).Limit(-1).Count() return } func (g MGroupDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { count, err = g.Count() if err != nil { return } err = g.Offset(offset).Limit(limit).Scan(result) return } func (g MGroupDo) Scan(result interface{}) (err error) { return g.DO.Scan(result) } func (g MGroupDo) Delete(models ...*entity.Group) (result gen.ResultInfo, err error) { return g.DO.Delete(models) } func (g *MGroupDo) withDO(do gen.Dao) *MGroupDo { g.DO = *do.(*gen.DO) return g }