package paopaoqueue import ( "context" "encoding/json" "git.banshen.xyz/huangguangrong/paopaoqueue/types" "github.com/zeromicro/go-queue/kq" ) type MsgChatTransferClient interface { Push(msg *types.MsgChatTransfer) error } type msgChatTransferClient struct { pusher *kq.Pusher } func NewMsgChatTransferClient(addr []string, topic string, opts ...kq.Pusher) MsgChatTransferClient { return &msgChatTransferClient{pusher: kq.NewPusher(addr, topic)} } func (m *msgChatTransferClient) Push(msg *types.MsgChatTransfer) error { data, err := json.Marshal(msg) if err != nil { return err } return m.pusher.Push(context.Background(), string(data)) } type MsgReadTransferClient interface { Push(msg *types.MsgMarkRead) error } type msgReadTransferClient struct { pusher *kq.Pusher } func NewMsgReadTransferClient(addr []string, topic string, opts ...kq.Pusher) MsgReadTransferClient { return &msgReadTransferClient{pusher: kq.NewPusher(addr, topic)} } func (m *msgReadTransferClient) Push(msg *types.MsgMarkRead) error { data, err := json.Marshal(msg) if err != nil { return err } return m.pusher.Push(context.Background(), string(data)) }