package repo

import (
	"context"
	"voucher/internal/biz/bo"
	"voucher/internal/biz/do"
)

type OrderBakRepo interface {
	SpecifyFindInBatches(ctx context.Context, w *bo.FindInBatchesBo, fun func(ctx context.Context, rows []*bo.OrderBo) error) error
	FindRetryQuery(ctx context.Context, req *do.RetryQueryNotice, fun func(ctx context.Context, rows []*bo.OrderBo) error) error
	GetByID(ctx context.Context, id uint64) (*bo.OrderBo, error)

	Used(ctx context.Context, id uint64) error
	Available(ctx context.Context, id uint64) error
	Expired(ctx context.Context, id uint64) error
}
