123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414 |
- 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
- 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)
- }
- 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
- }
|