package handler import ( "github.com/rabbitmq/amqp091-go" "samba/pkg/log" "samba/pkg/servername" "samba/pkg/service" "samba/proto" "samba/util/routingKey" "samba/util/util" ) var MsgHandler = map[string]MessageHandler{ proto.NtfUserOnlineId: onUserOnline, proto.NtfUserOfflineId: onUserOffline, proto.ReqUserInClubGameId: onUserInClubGame, proto.ReqClubMainPageId: onClubMainPage, proto.ReqCreatePlayGameId: onCreatePlayGame, proto.ReqGetPlayGamesId: onGetPlayGames, proto.ReqUpdatePlayGameId: onUpdatePlayGame, proto.ReqDeletePlayGameId: onDeletePlayGame, proto.ReqSetPlayGameValidId: onSetPlayGameValid, proto.ReqClubPlayingRoomsId: onClubPlayingRooms, proto.ReqSetPlayGameTopId: onSetPlayGameTop, } type MessageHandler func(d *amqp091.Delivery, data map[string]interface{}) func RegisterMsgHandler(s service.IService) bool { for msgId := range MsgHandler { if err := s.QueueBind(QueueName(), msgId, util.Direct(servername.Club)); err != nil { log.Error(err.Error()) return false } } if err := s.QueueBind(QueueName(), routingKey.Club, util.Direct(servername.Club)); err != nil { log.Error(err.Error()) return false } if err := s.QueueBind(QueueName(), routingKey.UserOnline, util.Topic(servername.User)); err != nil { log.Error(err.Error()) return false } if err := s.QueueBind(QueueName(), routingKey.UserOffline, util.Topic(servername.User)); err != nil { log.Error(err.Error()) return false } return true }