mirror of
https://github.com/xinliangnote/go-gin-api.git
synced 2024-04-21 12:31:46 +00:00
336 lines
7.2 KiB
Go
Executable File
336 lines
7.2 KiB
Go
Executable File
///////////////////////////////////////////////////////////
|
|
// THIS FILE IS AUTO GENERATED by gormgen, DON'T EDIT IT //
|
|
// ANY CHANGES DONE HERE WILL BE LOST //
|
|
///////////////////////////////////////////////////////////
|
|
|
|
package admin_menu
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/xinliangnote/go-gin-api/internal/repository/mysql"
|
|
|
|
"github.com/pkg/errors"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func NewModel() *AdminMenu {
|
|
return new(AdminMenu)
|
|
}
|
|
|
|
func NewQueryBuilder() *adminMenuQueryBuilder {
|
|
return new(adminMenuQueryBuilder)
|
|
}
|
|
|
|
func (t *AdminMenu) Create(db *gorm.DB) (id int32, err error) {
|
|
if err = db.Create(t).Error; err != nil {
|
|
return 0, errors.Wrap(err, "create err")
|
|
}
|
|
return t.Id, nil
|
|
}
|
|
|
|
type adminMenuQueryBuilder struct {
|
|
order []string
|
|
where []struct {
|
|
prefix string
|
|
value interface{}
|
|
}
|
|
limit int
|
|
offset int
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) buildQuery(db *gorm.DB) *gorm.DB {
|
|
ret := db
|
|
for _, where := range qb.where {
|
|
ret = ret.Where(where.prefix, where.value)
|
|
}
|
|
for _, order := range qb.order {
|
|
ret = ret.Order(order)
|
|
}
|
|
ret = ret.Limit(qb.limit).Offset(qb.offset)
|
|
return ret
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) Updates(db *gorm.DB, m map[string]interface{}) (err error) {
|
|
db = db.Model(&AdminMenu{})
|
|
|
|
for _, where := range qb.where {
|
|
db.Where(where.prefix, where.value)
|
|
}
|
|
|
|
if err = db.Updates(m).Error; err != nil {
|
|
return errors.Wrap(err, "updates err")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) Delete(db *gorm.DB) (err error) {
|
|
for _, where := range qb.where {
|
|
db = db.Where(where.prefix, where.value)
|
|
}
|
|
|
|
if err = db.Delete(&AdminMenu{}).Error; err != nil {
|
|
return errors.Wrap(err, "delete err")
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) Count(db *gorm.DB) (int64, error) {
|
|
var c int64
|
|
res := qb.buildQuery(db).Model(&AdminMenu{}).Count(&c)
|
|
if res.Error != nil && res.Error == gorm.ErrRecordNotFound {
|
|
c = 0
|
|
}
|
|
return c, res.Error
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) First(db *gorm.DB) (*AdminMenu, error) {
|
|
ret := &AdminMenu{}
|
|
res := qb.buildQuery(db).First(ret)
|
|
if res.Error != nil && res.Error == gorm.ErrRecordNotFound {
|
|
ret = nil
|
|
}
|
|
return ret, res.Error
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) QueryOne(db *gorm.DB) (*AdminMenu, error) {
|
|
qb.limit = 1
|
|
ret, err := qb.QueryAll(db)
|
|
if len(ret) > 0 {
|
|
return ret[0], err
|
|
}
|
|
return nil, err
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) QueryAll(db *gorm.DB) ([]*AdminMenu, error) {
|
|
var ret []*AdminMenu
|
|
err := qb.buildQuery(db).Find(&ret).Error
|
|
return ret, err
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) Limit(limit int) *adminMenuQueryBuilder {
|
|
qb.limit = limit
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) Offset(offset int) *adminMenuQueryBuilder {
|
|
qb.offset = offset
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereId(p mysql.Predicate, value int32) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "id", p),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereIdIn(value []int32) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "id", "IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereIdNotIn(value []int32) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "id", "NOT IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) OrderById(asc bool) *adminMenuQueryBuilder {
|
|
order := "DESC"
|
|
if asc {
|
|
order = "ASC"
|
|
}
|
|
|
|
qb.order = append(qb.order, "id "+order)
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereAdminId(p mysql.Predicate, value int32) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "admin_id", p),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereAdminIdIn(value []int32) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "admin_id", "IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereAdminIdNotIn(value []int32) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "admin_id", "NOT IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) OrderByAdminId(asc bool) *adminMenuQueryBuilder {
|
|
order := "DESC"
|
|
if asc {
|
|
order = "ASC"
|
|
}
|
|
|
|
qb.order = append(qb.order, "admin_id "+order)
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereMenuId(p mysql.Predicate, value int32) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "menu_id", p),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereMenuIdIn(value []int32) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "menu_id", "IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereMenuIdNotIn(value []int32) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "menu_id", "NOT IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) OrderByMenuId(asc bool) *adminMenuQueryBuilder {
|
|
order := "DESC"
|
|
if asc {
|
|
order = "ASC"
|
|
}
|
|
|
|
qb.order = append(qb.order, "menu_id "+order)
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereCreatedAt(p mysql.Predicate, value time.Time) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "created_at", p),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereCreatedAtIn(value []time.Time) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "created_at", "IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereCreatedAtNotIn(value []time.Time) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "created_at", "NOT IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) OrderByCreatedAt(asc bool) *adminMenuQueryBuilder {
|
|
order := "DESC"
|
|
if asc {
|
|
order = "ASC"
|
|
}
|
|
|
|
qb.order = append(qb.order, "created_at "+order)
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereCreatedUser(p mysql.Predicate, value string) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "created_user", p),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereCreatedUserIn(value []string) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "created_user", "IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) WhereCreatedUserNotIn(value []string) *adminMenuQueryBuilder {
|
|
qb.where = append(qb.where, struct {
|
|
prefix string
|
|
value interface{}
|
|
}{
|
|
fmt.Sprintf("%v %v ?", "created_user", "NOT IN"),
|
|
value,
|
|
})
|
|
return qb
|
|
}
|
|
|
|
func (qb *adminMenuQueryBuilder) OrderByCreatedUser(asc bool) *adminMenuQueryBuilder {
|
|
order := "DESC"
|
|
if asc {
|
|
order = "ASC"
|
|
}
|
|
|
|
qb.order = append(qb.order, "created_user "+order)
|
|
return qb
|
|
}
|