mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
fix bug
This commit is contained in:
parent
b32463df53
commit
d99b0893df
@ -4,6 +4,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/db"
|
"Open_IM/pkg/common/db"
|
||||||
|
rocksCache "Open_IM/pkg/common/db/rocks_cache"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/token_verify"
|
||||||
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
||||||
@ -128,34 +129,41 @@ func messageVerification(data *pbChat.SendMsgReq) (bool, int32, string, []string
|
|||||||
case constant.GroupChatType:
|
case constant.GroupChatType:
|
||||||
fallthrough
|
fallthrough
|
||||||
case constant.SuperGroupChatType:
|
case constant.SuperGroupChatType:
|
||||||
getGroupMemberIDListFromCacheReq := &pbCache.GetGroupMemberIDListFromCacheReq{OperationID: data.OperationID, GroupID: data.MsgData.GroupID}
|
groupInfo, err := rocksCache.GetGroupInfoFromCache(data.MsgData.GroupID)
|
||||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, data.OperationID)
|
|
||||||
if etcdConn == nil {
|
|
||||||
errMsg := data.OperationID + "getcdv3.GetConn == nil"
|
|
||||||
log.NewError(data.OperationID, errMsg)
|
|
||||||
//return returnMsg(&replay, pb, 201, errMsg, "", 0)
|
|
||||||
return false, 201, errMsg, nil
|
|
||||||
}
|
|
||||||
client := pbCache.NewCacheClient(etcdConn)
|
|
||||||
cacheResp, err := client.GetGroupMemberIDListFromCache(context.Background(), getGroupMemberIDListFromCacheReq)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.NewError(data.OperationID, "GetGroupMemberIDListFromCache rpc call failed ", err.Error())
|
|
||||||
//return returnMsg(&replay, pb, 201, "GetGroupMemberIDListFromCache failed", "", 0)
|
|
||||||
return false, 201, err.Error(), nil
|
return false, 201, err.Error(), nil
|
||||||
}
|
}
|
||||||
if cacheResp.CommonResp.ErrCode != 0 {
|
if groupInfo.GroupType == constant.SuperGroup {
|
||||||
log.NewError(data.OperationID, "GetGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
|
return true, 0, "", nil
|
||||||
//return returnMsg(&replay, pb, 201, "GetGroupMemberIDListFromCache logic failed", "", 0)
|
} else {
|
||||||
return false, cacheResp.CommonResp.ErrCode, cacheResp.CommonResp.ErrMsg, nil
|
getGroupMemberIDListFromCacheReq := &pbCache.GetGroupMemberIDListFromCacheReq{OperationID: data.OperationID, GroupID: data.MsgData.GroupID}
|
||||||
}
|
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, data.OperationID)
|
||||||
if !token_verify.IsManagerUserID(data.MsgData.SendID) {
|
if etcdConn == nil {
|
||||||
if !utils.IsContain(data.MsgData.SendID, cacheResp.UserIDList) {
|
errMsg := data.OperationID + "getcdv3.GetConn == nil"
|
||||||
//return returnMsg(&replay, pb, 202, "you are not in group", "", 0)
|
log.NewError(data.OperationID, errMsg)
|
||||||
return false, 202, "you are not in group", nil
|
//return returnMsg(&replay, pb, 201, errMsg, "", 0)
|
||||||
|
return false, 201, errMsg, nil
|
||||||
}
|
}
|
||||||
|
client := pbCache.NewCacheClient(etcdConn)
|
||||||
|
cacheResp, err := client.GetGroupMemberIDListFromCache(context.Background(), getGroupMemberIDListFromCacheReq)
|
||||||
|
if err != nil {
|
||||||
|
log.NewError(data.OperationID, "GetGroupMemberIDListFromCache rpc call failed ", err.Error())
|
||||||
|
//return returnMsg(&replay, pb, 201, "GetGroupMemberIDListFromCache failed", "", 0)
|
||||||
|
return false, 201, err.Error(), nil
|
||||||
|
}
|
||||||
|
if cacheResp.CommonResp.ErrCode != 0 {
|
||||||
|
log.NewError(data.OperationID, "GetGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String())
|
||||||
|
//return returnMsg(&replay, pb, 201, "GetGroupMemberIDListFromCache logic failed", "", 0)
|
||||||
|
return false, cacheResp.CommonResp.ErrCode, cacheResp.CommonResp.ErrMsg, nil
|
||||||
|
}
|
||||||
|
if !token_verify.IsManagerUserID(data.MsgData.SendID) {
|
||||||
|
if !utils.IsContain(data.MsgData.SendID, cacheResp.UserIDList) {
|
||||||
|
//return returnMsg(&replay, pb, 202, "you are not in group", "", 0)
|
||||||
|
return false, 202, "you are not in group", nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true, 0, "", cacheResp.UserIDList
|
||||||
}
|
}
|
||||||
return true, 0, "", cacheResp.UserIDList
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return true, 0, "", nil
|
return true, 0, "", nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user