mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-05-04 09:09:02 +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"
|
"Open_IM/pkg/common/log"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
promePkg "Open_IM/pkg/common/prometheus"
|
||||||
"Open_IM/pkg/proto/msg"
|
"Open_IM/pkg/proto/msg"
|
||||||
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
go_redis "github.com/go-redis/redis/v8"
|
go_redis "github.com/go-redis/redis/v8"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (rpc *rpcChat) GetSuperGroupMsg(context context.Context, req *msg.GetSuperGroupMsgReq) (*msg.GetSuperGroupMsgResp, error) {
|
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)
|
resp := new(msg.GetSuperGroupMsgResp)
|
||||||
redisMsgList, failedSeqList, err := commonDB.DB.GetMessageListBySeq(req.GroupID, []uint32{req.Seq}, req.OperationID)
|
redisMsgList, failedSeqList, err := commonDB.DB.GetMessageListBySeq(req.GroupID, []uint32{req.Seq}, req.OperationID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -40,6 +42,7 @@ func (rpc *rpcChat) GetSuperGroupMsg(context context.Context, req *msg.GetSuperG
|
|||||||
resp.MsgData = m
|
resp.MsgData = m
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
log.Debug(req.OperationID, utils.GetSelfFuncName(), resp.String())
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,29 +161,33 @@ func (rpc *rpcChat) messageVerification(data *pbChat.SendMsgReq) (bool, int32, s
|
|||||||
return false, 201, err.Error(), nil
|
return false, 201, err.Error(), nil
|
||||||
}
|
}
|
||||||
if data.MsgData.ContentType == constant.AdvancedRevoke {
|
if data.MsgData.ContentType == constant.AdvancedRevoke {
|
||||||
revokeMesage := new(MessageRevoked)
|
revokeMessage := new(MessageRevoked)
|
||||||
err := utils.JsonStringToStruct(string(data.MsgData.Content), revokeMesage)
|
err := utils.JsonStringToStruct(string(data.MsgData.Content), revokeMessage)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(data.OperationID, "json unmarshal err:", err.Error())
|
log.Error(data.OperationID, "json unmarshal err:", err.Error())
|
||||||
return false, 201, err.Error(), nil
|
return false, 201, err.Error(), nil
|
||||||
}
|
}
|
||||||
req := pbChat.GetSuperGroupMsgReq{OperationID: data.OperationID, Seq: revokeMesage.Seq, GroupID: data.MsgData.GroupID}
|
log.Debug(data.OperationID, "revoke message is", *revokeMessage)
|
||||||
resp, err := rpc.GetSuperGroupMsg(context.Background(), &req)
|
|
||||||
if err != nil {
|
if revokeMessage.RevokerID != revokeMessage.SourceMessageSendID {
|
||||||
log.Error(data.OperationID, "GetSuperGroupMsgReq err:", err.Error())
|
req := pbChat.GetSuperGroupMsgReq{OperationID: data.OperationID, Seq: revokeMessage.Seq, GroupID: data.MsgData.GroupID}
|
||||||
} else if resp.ErrCode != 0 {
|
resp, err := rpc.GetSuperGroupMsg(context.Background(), &req)
|
||||||
log.Error(data.OperationID, "GetSuperGroupMsgReq err:", err.Error())
|
if err != nil {
|
||||||
} else {
|
log.Error(data.OperationID, "GetSuperGroupMsgReq err:", err.Error())
|
||||||
if resp.MsgData != nil && resp.MsgData.ClientMsgID == revokeMesage.ClientMsgID && resp.MsgData.Seq == revokeMesage.Seq {
|
} else if resp.ErrCode != 0 {
|
||||||
revokeMesage.SourceMessageSendTime = resp.MsgData.SendTime
|
log.Error(data.OperationID, "GetSuperGroupMsgReq err:", err.Error())
|
||||||
revokeMesage.SourceMessageSenderNickname = resp.MsgData.SenderNickname
|
|
||||||
revokeMesage.SourceMessageSendID = resp.MsgData.SendID
|
|
||||||
data.MsgData.Content = []byte(utils.StructToJsonString(revokeMesage))
|
|
||||||
} else {
|
} 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 {
|
if groupInfo.GroupType == constant.SuperGroup {
|
||||||
return true, 0, "", nil
|
return true, 0, "", nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user