diff --git a/internal/rpc/msg/as_read.go b/internal/rpc/msg/as_read.go index 54e372fa2..c643f464f 100644 --- a/internal/rpc/msg/as_read.go +++ b/internal/rpc/msg/as_read.go @@ -55,10 +55,16 @@ func (m *msgServer) MarkMsgsAsRead(ctx context.Context, req *msg.MarkMsgsAsReadR if err != nil { return } - err = m.MsgDatabase.SetHasReadSeq(ctx, req.UserID, req.ConversationID, hasReadSeq) - if err != nil { + currentHasReadSeq, err := m.MsgDatabase.GetHasReadSeq(ctx, req.UserID, req.ConversationID) + if err != nil && errors.Unwrap(err) != redis.Nil { return } + if hasReadSeq > currentHasReadSeq { + err = m.MsgDatabase.SetHasReadSeq(ctx, req.UserID, req.ConversationID, hasReadSeq) + if err != nil { + return + } + } if err = m.sendMarkAsReadNotification(ctx, req.ConversationID, conversations[0].ConversationType, req.UserID, m.conversationAndGetRecvID(conversations[0], req.UserID), req.Seqs, hasReadSeq); err != nil { return } diff --git a/internal/rpc/msg/verify.go b/internal/rpc/msg/verify.go index 8fcb82ca8..6e0b2153c 100644 --- a/internal/rpc/msg/verify.go +++ b/internal/rpc/msg/verify.go @@ -78,15 +78,15 @@ func (m *msgServer) messageVerification(ctx context.Context, data *msg.SendMsgRe } if data.MsgData.ContentType <= constant.NotificationEnd && data.MsgData.ContentType >= constant.NotificationBegin { return nil - } else { - memberIDs, err := m.GroupLocalCache.GetGroupMemberIDs(ctx, data.MsgData.GroupID) - if err != nil { - return err - } - if !utils.IsContain(data.MsgData.SendID, memberIDs) { - return errs.ErrNotInGroupYet.Wrap() - } } + // memberIDs, err := m.GroupLocalCache.GetGroupMemberIDs(ctx, data.MsgData.GroupID) + // if err != nil { + // return err + // } + // if !utils.IsContain(data.MsgData.SendID, memberIDs) { + // return errs.ErrNotInGroupYet.Wrap() + // } + groupMemberInfo, err := m.Group.GetGroupMemberCache(ctx, data.MsgData.GroupID, data.MsgData.SendID) if err != nil { return err diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 8be23c10f..72cc34af8 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -241,15 +241,15 @@ const ( ) var ContentType2PushContent = map[int64]string{ - Picture: "[图片]", - Voice: "[语音]", - Video: "[视频]", - File: "[文件]", - Text: "你收到了一条文本消息", - AtText: "[有人@你]", - GroupMsg: "你收到一条群聊消息", - Common: "你收到一条新消息", - SignalMsg: "音视频通话邀请", + Picture: "[PICTURE]", + Voice: "[VOICE]", + Video: "[VIDEO]", + File: "[File]", + Text: "[TEXT]", + AtText: "[@TEXT]", + GroupMsg: "[GROUPMSG]]", + Common: "[NEWMSG]", + SignalMsg: "[SIGNALINVITE]", } const (