Selaa lähdekoodia

总线通知报文内容改为json格式

zhou.xiaoning 2 vuotta sitten
vanhempi
commit
ed1fbcb3fc
1 muutettua tiedostoa jossa 38 lisäystä ja 1 poistoa
  1. 38 1
      initialize/rabbitmq.go

+ 38 - 1
initialize/rabbitmq.go

@@ -100,6 +100,7 @@ func (t *MQProc) Process(topic, queuename string, msg *[]byte) {
 func (t *MQProc) onNtf(funcode uint32, sessionId uint32, bytes *[]byte) {
 	var clients []*client.Client
 	var err error
+	var sendBytes *[]byte
 
 	switch int(funcode) {
 	case global.LoginRsp: // 用户登录应答 - 主要记录旧Token
@@ -108,6 +109,12 @@ func (t *MQProc) onNtf(funcode uint32, sessionId uint32, bytes *[]byte) {
 			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
 			return
 		}
+		if bs, e := protojson.Marshal(&p); e != nil {
+			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
+			return
+		} else {
+			sendBytes = &bs
+		}
 
 		// 获取目标客户
 		for i := range client.Clients {
@@ -124,6 +131,12 @@ func (t *MQProc) onNtf(funcode uint32, sessionId uint32, bytes *[]byte) {
 			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
 			return
 		}
+		if bs, e := protojson.Marshal(&p); e != nil {
+			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
+			return
+		} else {
+			sendBytes = &bs
+		}
 
 		// 获取目标客户
 		clients = make([]*client.Client, 0)
@@ -139,6 +152,12 @@ func (t *MQProc) onNtf(funcode uint32, sessionId uint32, bytes *[]byte) {
 			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
 			return
 		}
+		if bs, e := protojson.Marshal(&p); e != nil {
+			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
+			return
+		} else {
+			sendBytes = &bs
+		}
 
 		// 获取目标客户
 		clients, err = accountSrv.GetClientsByAccountID(*p.AccountID)
@@ -151,6 +170,12 @@ func (t *MQProc) onNtf(funcode uint32, sessionId uint32, bytes *[]byte) {
 			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
 			return
 		}
+		if bs, e := protojson.Marshal(&p); e != nil {
+			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
+			return
+		} else {
+			sendBytes = &bs
+		}
 
 		// 获取目标客户
 		clients, err = accountSrv.GetClientsByAccountID(*p.AccountID)
@@ -163,6 +188,12 @@ func (t *MQProc) onNtf(funcode uint32, sessionId uint32, bytes *[]byte) {
 			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
 			return
 		}
+		if bs, e := protojson.Marshal(&p); e != nil {
+			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
+			return
+		} else {
+			sendBytes = &bs
+		}
 
 		// 获取目标客户
 		clients = make([]*client.Client, 0)
@@ -176,6 +207,12 @@ func (t *MQProc) onNtf(funcode uint32, sessionId uint32, bytes *[]byte) {
 			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
 			return
 		}
+		if bs, e := protojson.Marshal(&p); e != nil {
+			global.M2A_LOG.Error("总线数据反序列化失败", zap.Error(err))
+			return
+		} else {
+			sendBytes = &bs
+		}
 
 		// 获取目标客户
 		clients = make([]*client.Client, 0)
@@ -187,7 +224,7 @@ func (t *MQProc) onNtf(funcode uint32, sessionId uint32, bytes *[]byte) {
 
 	if err == nil && len(clients) > 0 {
 		// 组装待发送给客户端的5.0报文包
-		b, err := packet.BuildPacket(funcode, 0, 0, *bytes, true)
+		b, err := packet.BuildPacket(funcode, 0, 0, *sendBytes, true)
 		if err != nil {
 			global.M2A_LOG.Error("组装5.0报文失败", zap.Error(err))
 			return