package repo

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

type ProductRepo interface {
	GetById(ctx context.Context, id int32) (*bo.ProductBo, error)
	FindWarningBudget(ctx context.Context, fun func(ctx context.Context, rows []*bo.ProductBo) error) error
	GetByBatchNo(ctx context.Context, batchNo string) (*bo.ProductBo, error)
	GetByMchStockId(ctx context.Context, mchId, stockId string) (*bo.ProductBo, error)
	GetByProductNo(ctx context.Context, productNo string) (*bo.ProductBo, error)
	DelCacheByProductNo(ctx context.Context, productNo string) error
	UpdateByWxResp(ctx context.Context, id int32, req *do.WxResp) error
}
