diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 60127c425..753fc856d 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -200,9 +200,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR if req.GroupInfo.GroupType != constant.SuperGroup { chat.GroupCreatedNotification(req.OperationID, req.OpUserID, groupId, okUserIDList) } else { - for _, userID := range okUserIDList { - chat.SuperGroupNotification(req.OperationID, req.OpUserID, userID) - } + chat.SuperGroupNotification(req.OperationID, req.OpUserID, groupId) } return resp, nil @@ -385,9 +383,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite if groupInfo.GroupType != constant.SuperGroup { chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, req.Reason, okUserIDList) } else { - for _, userID := range okUserIDList { - chat.SuperGroupNotification(req.OperationID, req.OpUserID, userID) - } + chat.SuperGroupNotification(req.OperationID, req.OpUserID, req.GroupID) } log.NewInfo(req.OperationID, "InviteUserToGroup rpc return ") @@ -589,9 +585,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou if groupInfo.GroupType != constant.SuperGroup { chat.MemberKickedNotification(req, okUserIDList) } else { - for _, userID := range okUserIDList { - chat.SuperGroupNotification(req.OperationID, req.OpUserID, userID) - } + chat.SuperGroupNotification(req.OperationID, req.OpUserID, req.GroupID) } log.NewInfo(req.OperationID, "GetGroupMemberList rpc return ", resp.String()) return &resp, nil diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index b38e573e2..6290168fb 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -511,7 +511,7 @@ func Notification(n *NotificationMsg) { msg.ClientMsgID = utils.GetMsgID(n.SendID) msg.Options = make(map[string]bool, 7) switch n.SessionType { - case constant.GroupChatType: + case constant.GroupChatType, constant.SuperGroupChatType: msg.RecvID = "" msg.GroupID = n.RecvID } @@ -732,6 +732,8 @@ func Notification(n *NotificationMsg) { unReadCount = config.Config.Notification.ConversationSetPrivate.Conversation.UnreadCount case constant.DeleteMessageNotification: reliabilityLevel = constant.ReliableNotificationNoMsg + case constant.SuperGroupUpdateNotification: + reliabilityLevel = constant.UnreliableNotification } switch reliabilityLevel { case constant.UnreliableNotification: diff --git a/internal/rpc/msg/super_group_notification.go b/internal/rpc/msg/super_group_notification.go index 32e86e167..52e2e17a2 100644 --- a/internal/rpc/msg/super_group_notification.go +++ b/internal/rpc/msg/super_group_notification.go @@ -9,7 +9,8 @@ import ( //"github.com/golang/protobuf/proto" ) -func SuperGroupNotification(operationID, sendID, recvID string) { +func SuperGroupNotification(operationID, sendID, groupID string) { + //var tips sdk.TipsComm //var err error //marshaler := jsonpb.Marshaler{ @@ -20,10 +21,10 @@ func SuperGroupNotification(operationID, sendID, recvID string) { //tips.JsonDetail, _ = marshaler.MarshalToString(m) n := &NotificationMsg{ SendID: sendID, - RecvID: recvID, - MsgFrom: constant.UserMsgType, + RecvID: groupID, + MsgFrom: constant.SysMsgType, ContentType: constant.SuperGroupUpdateNotification, - SessionType: constant.SingleChatType, + SessionType: constant.SuperGroupChatType, OperationID: operationID, } //n.Content, err = proto.Marshal(&tips)