From 63d75bb68bf26ae057822745c247402267a57a6f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 17:36:12 +0800 Subject: [PATCH] reaction message add expiration --- internal/rpc/msg/extend_msg.notification.go | 19 ++++++++++++++++--- pkg/base_info/msg.go | 11 +++++++++++ pkg/proto/sdk_ws/ws.proto | 2 ++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index cf91463cd..0c8b3b126 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -1,6 +1,7 @@ package msg import ( + "Open_IM/pkg/base_info" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" @@ -14,9 +15,21 @@ import ( func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool) { - m := make(map[string]interface{}) - m["rep"] = req - m["resp"] = resp + var m base_info.ReactionMessageModifierNotification + m.SourceID = req.SourceID + m.OpUserID = req.OpUserID + m.SessionType = req.SessionType + keyMap := make(map[string]*open_im_sdk.KeyValue) + for _, valueResp := range resp.Result { + if valueResp.ErrCode == 0 { + keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue + } + } + m.SuccessReactionExtensionList = keyMap + m.ClientMsgID = req.ClientMsgID + m.IsReact = resp.IsReact + m.IsExternalExtensions = req.IsExternalExtensions + m.MsgFirstModifyTime = resp.MsgFirstModifyTime messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory) } func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool) { diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 30d9adfce..bf02d311f 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -105,3 +105,14 @@ type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp type DeleteMessageReactionExtensionsReq OperateMessageListReactionExtensionsReq type DeleteMessageReactionExtensionsResp OperateMessageListReactionExtensionsResp + +type ReactionMessageModifierNotification struct { + SourceID string `json:"sourceID" binding:"required"` + OpUserID string `json:"opUserID" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` + SuccessReactionExtensionList map[string]*sdk_ws.KeyValue `json:"reactionExtensionList,omitempty" binding:"required"` + ClientMsgID string `json:"clientMsgID" binding:"required"` + IsReact bool `json:"isReact"` + IsExternalExtensions bool `json:"isExternalExtensions"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index b0b531f8f..3ead6360c 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -729,3 +729,5 @@ message KeyValue { int64 latestUpdateTime = 3; } + +