package data import ( "context" "gokratos-base/app/service/demo/internal/biz" "gokratos-base/app/service/demo/internal/model" "time" ) type demoRepo struct { data *Data } var _ biz.DemoRepo = &demoRepo{} // NewDemoRepo . func NewDemoRepo(data *Data) biz.DemoRepo { return &demoRepo{ data: data, } } func (r *demoRepo) Save(ctx context.Context, m *model.Demo) error { err := r.data.DB.Model(&model.Demo{}).Create(m).Error return err } func (r *demoRepo) Update(ctx context.Context, m *model.Demo) error { err := r.data.DB.Where("id = ?", m.Id).Updates(&model.Demo{ Name: m.Name, Value: m.Value, UpdatedAt: int(time.Now().Unix()), }).Error return err } func (r *demoRepo) GetByID(ctx context.Context, id int) (res *model.Demo, err error) { res = &model.Demo{} err = r.data.DB.Model(&model.Demo{}).Where("id = ?", id).Take(res).Error return } func (r *demoRepo) List(ctx context.Context, limit, offset int) (res []*model.Demo, err error) { res = make([]*model.Demo, 0) err = r.data.DB.Model(&model.Demo{}).Limit(limit).Offset(offset).Order("id desc").Find(&res).Error return } func (r *demoRepo) DeleteByID(ctx context.Context, id int) (err error) { err = r.data.DB.Model(&model.Demo{}).Where("id = ?", id).Delete(&model.Demo{}).Error return }