Fix set convsation (#2564)

* fix: set conversation unequal check

* fix: check update list
pull/2578/head
icey-yu 3 months ago committed by GitHub
parent bcd5324b48
commit bb4cbcbc78
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -293,49 +293,48 @@ func (c *conversationServer) SetConversations(ctx context.Context, req *pbconver
unequal := len(m) unequal := len(m)
if req.Conversation.RecvMsgOpt != nil { if req.Conversation.RecvMsgOpt != nil {
if req.Conversation.RecvMsgOpt.Value != conversationMap[userID].RecvMsgOpt { if req.Conversation.RecvMsgOpt.Value == conversationMap[userID].RecvMsgOpt {
unequal-- unequal--
} }
} }
if req.Conversation.AttachedInfo != nil { if req.Conversation.AttachedInfo != nil {
if req.Conversation.AttachedInfo.Value != conversationMap[userID].AttachedInfo { if req.Conversation.AttachedInfo.Value == conversationMap[userID].AttachedInfo {
unequal-- unequal--
} }
} }
if req.Conversation.Ex != nil { if req.Conversation.Ex != nil {
if req.Conversation.Ex.Value != conversationMap[userID].Ex { if req.Conversation.Ex.Value == conversationMap[userID].Ex {
unequal-- unequal--
} }
} }
if req.Conversation.IsPinned != nil { if req.Conversation.IsPinned != nil {
m["is_pinned"] = req.Conversation.IsPinned.Value if req.Conversation.IsPinned.Value == conversationMap[userID].IsPinned {
if req.Conversation.IsPinned.Value != conversationMap[userID].IsPinned {
unequal-- unequal--
} }
} }
if req.Conversation.GroupAtType != nil { if req.Conversation.GroupAtType != nil {
if req.Conversation.GroupAtType.Value != conversationMap[userID].GroupAtType { if req.Conversation.GroupAtType.Value == conversationMap[userID].GroupAtType {
unequal-- unequal--
} }
} }
if req.Conversation.MsgDestructTime != nil { if req.Conversation.MsgDestructTime != nil {
if req.Conversation.MsgDestructTime.Value != conversationMap[userID].MsgDestructTime { if req.Conversation.MsgDestructTime.Value == conversationMap[userID].MsgDestructTime {
unequal-- unequal--
} }
} }
if req.Conversation.IsMsgDestruct != nil { if req.Conversation.IsMsgDestruct != nil {
if req.Conversation.IsMsgDestruct.Value != conversationMap[userID].IsMsgDestruct { if req.Conversation.IsMsgDestruct.Value == conversationMap[userID].IsMsgDestruct {
unequal-- unequal--
} }
} }
if req.Conversation.BurnDuration != nil { if req.Conversation.BurnDuration != nil {
if req.Conversation.BurnDuration.Value != conversationMap[userID].BurnDuration { if req.Conversation.BurnDuration.Value == conversationMap[userID].BurnDuration {
unequal-- unequal--
} }
} }
@ -363,7 +362,7 @@ func (c *conversationServer) SetConversations(ctx context.Context, req *pbconver
req.Conversation.IsPrivateChat.Value, req.Conversation.ConversationID) req.Conversation.IsPrivateChat.Value, req.Conversation.ConversationID)
} }
} else { } else {
if len(m) != 0 { if len(m) != 0 && len(needUpdateUsersList) != 0 {
if err := c.conversationDatabase.SetUsersConversationFieldTx(ctx, needUpdateUsersList, &conversation, m); err != nil { if err := c.conversationDatabase.SetUsersConversationFieldTx(ctx, needUpdateUsersList, &conversation, m); err != nil {
return nil, err return nil, err
} }

Loading…
Cancel
Save