package bus

import (
	"pay/conf"

	"infish.cn/comm"
)

var NatsCenter *comm.NatsBus

func NewNatsBus(app *conf.AppConf) *comm.NatsBus {

	multiPay := new(MultiPay)
	singlePay := new(SinglePay)

	bus, _ := comm.NewNatsBus2(app.Nats.Url, app.Nats.MaxReconnect, app.Nats.ReconnDelaySecond, []*comm.NatsStreamWather{
		singlePay.SuccPayStream(),
	}, []*comm.NatsMsgReplyer{
		multiPay.CreateQr(),
		singlePay.CreateQr(),
		multiPay.Refund(),
		multiPay.RefundQuery(),
		singlePay.Refund(),
		singlePay.RefundQuery(),
		PayPointList(),
		PayPointDetail(),
		GetPointAmount(),
		PayOrderCreate(),
		PayOrderDetail(),
	})
	NatsCenter = bus
	return NatsCenter
}
