37 lines
944 B
Go
37 lines
944 B
Go
![]() |
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.ReqModifyTimeOffsetId: onModifyTimeOffset,
|
||
|
|
||
|
proto.ReqGenerateCodeId: onReqGenerateCode,
|
||
|
proto.ReqUseCodeId: onReqUseCode,
|
||
|
proto.ReqCodeUseQueryId: onReqCodeUseQuery,
|
||
|
proto.ReqCodeUsePlayerQueryId: onReqCodeUsePlayerQuery,
|
||
|
}
|
||
|
|
||
|
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.Other)); err != nil {
|
||
|
log.Error(err.Error())
|
||
|
return false
|
||
|
}
|
||
|
}
|
||
|
if err := s.QueueBind(QueueName(), routingKey.Other, util.Direct(servername.Other)); err != nil {
|
||
|
log.Error(err.Error())
|
||
|
return false
|
||
|
}
|
||
|
return true
|
||
|
}
|