package cmb

import (
	"voucher/internal/biz/mixrepos"
	"voucher/internal/biz/repo"
	"voucher/internal/biz/wechatrepo"
	"voucher/internal/conf"
)

type Cmb struct {
	bc              *conf.Bootstrap
	OrderRepo       repo.OrderRepo
	OrderWechatRepo repo.OrderWechatRepo
	ProductRepo     repo.ProductRepo
	OrderNotifyRepo repo.OrderNotifyRepo
	WechatCpnRepo   wechatrepo.WechatCpnRepo
	GenerateMixRepo mixrepos.GenerateMixRepo
	CmbMixRepo      mixrepos.CmbMixRepo
}

func NewCmb(
	bc *conf.Bootstrap,
	orderRepo repo.OrderRepo,
	OrderWechatRepo repo.OrderWechatRepo,
	ProductRepo repo.ProductRepo,
	OrderNotifyRepo repo.OrderNotifyRepo,
	WechatCpnRepo wechatrepo.WechatCpnRepo,
	GenerateMixRepo mixrepos.GenerateMixRepo,
	CmbMixRepo mixrepos.CmbMixRepo,
) *Cmb {
	return &Cmb{
		bc:              bc,
		OrderRepo:       orderRepo,
		OrderWechatRepo: OrderWechatRepo,
		ProductRepo:     ProductRepo,
		OrderNotifyRepo: OrderNotifyRepo,
		WechatCpnRepo:   WechatCpnRepo,
		GenerateMixRepo: GenerateMixRepo,
		CmbMixRepo:      CmbMixRepo,
	}
}
