package wechatrepo

import (
	"context"
	"github.com/wechatpay-apiv3/wechatpay-go/services/cashcoupons"
	"voucher/internal/biz/bo"
	"voucher/internal/biz/vo"
)

type WechatCpnRepo interface {
	Order(ctx context.Context, order *bo.OrderBo) (couponId string, err error)
	Query(ctx context.Context, order *bo.OrderBo) (vo.OrderStatus, error)
	QueryCoupon(ctx context.Context, orderWechat *bo.OrderBo) (*cashcoupons.Coupon, error)
	QueryProduct(ctx context.Context, stockCreatorMchId, stockId string) (*cashcoupons.Stock, error)
	QueryCallback(ctx context.Context) (*cashcoupons.Callback, error)
	SetCallback(ctx context.Context, url string) (*cashcoupons.SetCallbackResponse, error)
	RegisterNotifyTag(ctx context.Context, stockID string) error
}
