mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-12-19 12:47:06 +08:00
fix bug: multiple gateway kick user
This commit is contained in:
parent
f2bb02d1d2
commit
1dbc8fe882
@ -214,6 +214,7 @@ func (m *MessageApi) SendMessage(c *gin.Context) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.ZError(c, "decodeData failed", err)
|
log.ZError(c, "decodeData failed", err)
|
||||||
apiresp.GinError(c, err)
|
apiresp.GinError(c, err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
sendMsgReq.MsgData.RecvID = req.RecvID
|
sendMsgReq.MsgData.RecvID = req.RecvID
|
||||||
var status int
|
var status int
|
||||||
@ -259,6 +260,7 @@ func (m *MessageApi) BatchSendMsg(c *gin.Context) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.ZError(c, "GetAllUserIDs failed", err)
|
log.ZError(c, "GetAllUserIDs failed", err)
|
||||||
apiresp.GinError(c, err)
|
apiresp.GinError(c, err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if len(recvIDsPart) < showNumber {
|
if len(recvIDsPart) < showNumber {
|
||||||
recvIDs = append(recvIDs, recvIDsPart...)
|
recvIDs = append(recvIDs, recvIDsPart...)
|
||||||
@ -274,6 +276,7 @@ func (m *MessageApi) BatchSendMsg(c *gin.Context) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.ZError(c, "decodeData failed", err)
|
log.ZError(c, "decodeData failed", err)
|
||||||
apiresp.GinError(c, err)
|
apiresp.GinError(c, err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
for _, recvID := range recvIDs {
|
for _, recvID := range recvIDs {
|
||||||
sendMsgReq.MsgData.RecvID = recvID
|
sendMsgReq.MsgData.RecvID = recvID
|
||||||
|
|||||||
@ -185,9 +185,10 @@ func (s *Server) KickUserOffline(
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
s.LongConnServer.UnRegister(client)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
log.ZWarn(ctx, "conn not exist", nil, "userID", v, "platformID", req.PlatformID)
|
log.ZInfo(ctx, "conn not exist", nil, "userID", v, "platformID", req.PlatformID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return &msggateway.KickUserOfflineResp{}, nil
|
return &msggateway.KickUserOfflineResp{}, nil
|
||||||
|
|||||||
@ -23,6 +23,7 @@ import (
|
|||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/cache"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/cache"
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/controller"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/controller"
|
||||||
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/mcontext"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/mcontext"
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/tokenverify"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/tokenverify"
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry"
|
||||||
@ -129,6 +130,7 @@ func (s *authServer) forceKickOff(ctx context.Context, userID string, platformID
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
log.ZDebug(ctx, "forceKickOff", "conns", conns)
|
||||||
for _, v := range conns {
|
for _, v := range conns {
|
||||||
client := msggateway.NewMsgGatewayClient(v)
|
client := msggateway.NewMsgGatewayClient(v)
|
||||||
kickReq := &msggateway.KickUserOfflineReq{KickUserIDList: []string{userID}, PlatformID: platformID}
|
kickReq := &msggateway.KickUserOfflineReq{KickUserIDList: []string{userID}, PlatformID: platformID}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user