41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package dao
|
|
|
|
import (
|
|
"context"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"ppgo_job/consts"
|
|
"ppgo_job/model/entity"
|
|
)
|
|
|
|
var Auth = new(authDao)
|
|
|
|
type authDao struct{}
|
|
|
|
func (d *authDao) Insert(ctx context.Context, data *entity.Auth) (id int64, err error) {
|
|
return InsertAndGetId(ctx, consts.TableAuth, data)
|
|
}
|
|
func (d *authDao) GetById(ctx context.Context, id int) (*entity.Auth, error) {
|
|
var result *entity.Auth
|
|
err := GetById(ctx, consts.TableAuth, id, &result)
|
|
return result, err
|
|
}
|
|
func (d *authDao) GetList(ctx context.Context, filters ...interface{}) ([]*entity.Auth, error) {
|
|
m := g.DB().Model(consts.TableAuth).Ctx(ctx)
|
|
m = buildFilters(m, filters)
|
|
order := extractOrder(filters)
|
|
var result []*entity.Auth
|
|
if order == "" {
|
|
order = entity.AuthCols.Sort + " asc, " + entity.AuthCols.Id + " asc"
|
|
}
|
|
err := m.Order(order).Scan(&result)
|
|
return result, err
|
|
}
|
|
func (d *authDao) GetByIds(ctx context.Context, ids []int) ([]*entity.Auth, error) {
|
|
var result []*entity.Auth
|
|
err := g.DB().Model(consts.TableAuth).Ctx(ctx).Where(entity.AuthCols.Id+"__in", ids).Scan(&result)
|
|
return result, err
|
|
}
|
|
func (d *authDao) Update(ctx context.Context, data *entity.Auth) error {
|
|
return Update(ctx, consts.TableAuth, data, g.Map{entity.AuthCols.Id: data.Id})
|
|
}
|