package biz

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

type VoucherBiz struct {
	bc            *conf.Bootstrap
	rdb           *data.Rdb
	Cmb           *cmb.Cmb
	ProductRepo   repo.ProductRepo
	OrderRepo     repo.OrderRepo
	MqSendMixRepo mixrepos.MQSendMixRepo
	WechatCpnRepo wechatrepo.WechatCpnRepo
}

func NewVoucherBiz(
	bc *conf.Bootstrap,
	rdb *data.Rdb,
	Cmb *cmb.Cmb,
	ProductRepo repo.ProductRepo,
	OrderRepo repo.OrderRepo,
	MqSendMixRepo mixrepos.MQSendMixRepo,
	WechatCpnRepo wechatrepo.WechatCpnRepo,
) *VoucherBiz {
	return &VoucherBiz{
		bc:            bc,
		rdb:           rdb,
		Cmb:           Cmb,
		ProductRepo:   ProductRepo,
		OrderRepo:     OrderRepo,
		MqSendMixRepo: MqSendMixRepo,
		WechatCpnRepo: WechatCpnRepo,
	}
}
