mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-05-03 16:26:36 +08:00
Merge branch 'v2.3.0release' of github.com:OpenIMSDK/Open-IM-Server into v2.3.0release
This commit is contained in:
commit
151cf3daf2
@ -5,11 +5,13 @@ import (
|
||||
"Open_IM/pkg/common/log"
|
||||
promePkg "Open_IM/pkg/common/prometheus"
|
||||
"Open_IM/pkg/proto/msg"
|
||||
"Open_IM/pkg/utils"
|
||||
"context"
|
||||
go_redis "github.com/go-redis/redis/v8"
|
||||
)
|
||||
|
||||
func (rpc *rpcChat) GetSuperGroupMsg(context context.Context, req *msg.GetSuperGroupMsgReq) (*msg.GetSuperGroupMsgResp, error) {
|
||||
log.Debug(req.OperationID, utils.GetSelfFuncName(), req.String())
|
||||
resp := new(msg.GetSuperGroupMsgResp)
|
||||
redisMsgList, failedSeqList, err := commonDB.DB.GetMessageListBySeq(req.GroupID, []uint32{req.Seq}, req.OperationID)
|
||||
if err != nil {
|
||||
@ -40,6 +42,7 @@ func (rpc *rpcChat) GetSuperGroupMsg(context context.Context, req *msg.GetSuperG
|
||||
resp.MsgData = m
|
||||
}
|
||||
}
|
||||
log.Debug(req.OperationID, utils.GetSelfFuncName(), resp.String())
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
|
@ -161,29 +161,33 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s
|
||||
return false, 201, err.Error(), nil
|
||||
}
|
||||
if data.MsgData.ContentType == constant.AdvancedRevoke {
|
||||
revokeMesage := new(MessageRevoked)
|
||||
err := utils.JsonStringToStruct(string(data.MsgData.Content), revokeMesage)
|
||||
revokeMessage := new(MessageRevoked)
|
||||
err := utils.JsonStringToStruct(string(data.MsgData.Content), revokeMessage)
|
||||
if err != nil {
|
||||
log.Error(data.OperationID, "json unmarshal err:", err.Error())
|
||||
return false, 201, err.Error(), nil
|
||||
}
|
||||
req := pbChat.GetSuperGroupMsgReq{OperationID: data.OperationID, Seq: revokeMesage.Seq, GroupID: data.MsgData.GroupID}
|
||||
resp, err := rpc.GetSuperGroupMsg(context.Background(), &req)
|
||||
if err != nil {
|
||||
log.Error(data.OperationID, "GetSuperGroupMsgReq err:", err.Error())
|
||||
} else if resp.ErrCode != 0 {
|
||||
log.Error(data.OperationID, "GetSuperGroupMsgReq err:", err.Error())
|
||||
} else {
|
||||
if resp.MsgData != nil && resp.MsgData.ClientMsgID == revokeMesage.ClientMsgID && resp.MsgData.Seq == revokeMesage.Seq {
|
||||
revokeMesage.SourceMessageSendTime = resp.MsgData.SendTime
|
||||
revokeMesage.SourceMessageSenderNickname = resp.MsgData.SenderNickname
|
||||
revokeMesage.SourceMessageSendID = resp.MsgData.SendID
|
||||
data.MsgData.Content = []byte(utils.StructToJsonString(revokeMesage))
|
||||
log.Debug(data.OperationID, "revoke message is", *revokeMessage)
|
||||
|
||||
if revokeMessage.RevokerID != revokeMessage.SourceMessageSendID {
|
||||
req := pbChat.GetSuperGroupMsgReq{OperationID: data.OperationID, Seq: revokeMessage.Seq, GroupID: data.MsgData.GroupID}
|
||||
resp, err := rpc.GetSuperGroupMsg(context.Background(), &req)
|
||||
if err != nil {
|
||||
log.Error(data.OperationID, "GetSuperGroupMsgReq err:", err.Error())
|
||||
} else if resp.ErrCode != 0 {
|
||||
log.Error(data.OperationID, "GetSuperGroupMsgReq err:", err.Error())
|
||||
} else {
|
||||
return false, 201, errors.New("msg err").Error(), nil
|
||||
if resp.MsgData != nil && resp.MsgData.ClientMsgID == revokeMessage.ClientMsgID && resp.MsgData.Seq == revokeMessage.Seq {
|
||||
revokeMessage.SourceMessageSendTime = resp.MsgData.SendTime
|
||||
revokeMessage.SourceMessageSenderNickname = resp.MsgData.SenderNickname
|
||||
revokeMessage.SourceMessageSendID = resp.MsgData.SendID
|
||||
log.Debug(data.OperationID, "new revoke message is ", revokeMessage)
|
||||
data.MsgData.Content = []byte(utils.StructToJsonString(revokeMessage))
|
||||
} else {
|
||||
return false, 201, errors.New("msg err").Error(), nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if groupInfo.GroupType == constant.SuperGroup {
|
||||
return true, 0, "", nil
|
||||
|
Loading…
x
Reference in New Issue
Block a user