diff --git a/internal/msg_gateway/gate/rpc_server.go b/internal/msg_gateway/gate/rpc_server.go index 8b050476e..8d799ec20 100644 --- a/internal/msg_gateway/gate/rpc_server.go +++ b/internal/msg_gateway/gate/rpc_server.go @@ -209,11 +209,13 @@ func (r *RPCServer) OnlineBatchPushOneMsg(_ context.Context, req *pbRelay.Online log.Debug(req.OperationID, "GetSingleUserMsgForPushPlatforms ", req.MsgData.Seq, v, platformList, len(needPushMapList)) for platform, list := range needPushMapList { if list != nil { + log.Debug(req.OperationID, "GetSingleUserMsgForPushPlatforms ", "userID: ", v, "platform: ", platform, "push msg num:", len(list)) for _, v := range list { req.MsgData.MsgDataList = append(req.MsgData.MsgDataList, v) } replyBytes, err := r.encodeWsData(req.MsgData, req.OperationID) if err != nil { + log.Error(req.OperationID, "encodeWsData failed ", req.MsgData.String()) continue } resultCode := sendMsgBatchToUser(userConnMap[platform], replyBytes.Bytes(), req, platform, v) @@ -227,7 +229,6 @@ func (r *RPCServer) OnlineBatchPushOneMsg(_ context.Context, req *pbRelay.Online } resp = append(resp, temp) } - } else { if utils.IsContainInt(platform, r.pushTerminal) { tempT.OnlinePush = true @@ -293,11 +294,11 @@ func sendMsgBatchToUser(conn *UserConn, bMsg []byte, in *pbRelay.OnlineBatchPush err := ws.writeMsg(conn, websocket.BinaryMessage, bMsg) if err != nil { log.NewError(in.OperationID, "PushMsgToUser is failed By Ws", "Addr", conn.RemoteAddr().String(), - "error", err, "senderPlatform", constant.PlatformIDToName(int(in.MsgData.SenderPlatformID)), "recvPlatform", RecvPlatForm, "args", in.String(), "recvID", RecvID) + "error", err, "senderPlatform", constant.PlatformIDToName(int(in.MsgData.SenderPlatformID)), "recv Platform", RecvPlatForm, "args", in.String(), "recvID", RecvID) ResultCode = -2 return ResultCode } else { - log.NewDebug(in.OperationID, "PushMsgToUser is success By Ws", "args", in.String(), "recvPlatForm", RecvPlatForm, "recvID", RecvID) + log.NewDebug(in.OperationID, "PushMsgToUser is success By Ws", "args", in.String(), "recv PlatForm", RecvPlatForm, "recvID", RecvID) ResultCode = 0 return ResultCode } diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index fb42fe609..79c186013 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -18,12 +18,12 @@ import ( pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" + "google.golang.org/grpc" + "math/big" "net" "strconv" "strings" "time" - - "google.golang.org/grpc" ) type groupServer struct { @@ -96,7 +96,10 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR groupId := req.GroupInfo.GroupID if groupId == "" { - groupId = utils.Md5(strconv.FormatInt(time.Now().UnixNano(), 10)) + groupId = utils.Md5(req.OperationID + strconv.FormatInt(time.Now().UnixNano(), 10)) + bi := big.NewInt(0) + bi.SetString(groupId[0:8], 16) + groupId = bi.String() } //to group groupInfo := db.Group{}