mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 08:29:33 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package conversation
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	dbModel "github.com/openimsdk/open-im-server/v3/pkg/common/storage/model"
 | |
| 	"github.com/openimsdk/protocol/conversation"
 | |
| )
 | |
| 
 | |
| func UpdateConversationsMap(ctx context.Context, req *conversation.SetConversationsReq) (m map[string]any, conversation dbModel.Conversation, err error) {
 | |
| 	m = make(map[string]any)
 | |
| 
 | |
| 	conversation.ConversationID = req.Conversation.ConversationID
 | |
| 	conversation.ConversationType = req.Conversation.ConversationType
 | |
| 	conversation.UserID = req.Conversation.UserID
 | |
| 	conversation.GroupID = req.Conversation.GroupID
 | |
| 
 | |
| 	if req.Conversation.RecvMsgOpt != nil {
 | |
| 		conversation.RecvMsgOpt = req.Conversation.RecvMsgOpt.Value
 | |
| 		m["recv_msg_opt"] = req.Conversation.RecvMsgOpt.Value
 | |
| 	}
 | |
| 
 | |
| 	if req.Conversation.AttachedInfo != nil {
 | |
| 		conversation.AttachedInfo = req.Conversation.AttachedInfo.Value
 | |
| 		m["attached_info"] = req.Conversation.AttachedInfo.Value
 | |
| 	}
 | |
| 
 | |
| 	if req.Conversation.Ex != nil {
 | |
| 		conversation.Ex = req.Conversation.Ex.Value
 | |
| 		m["ex"] = req.Conversation.Ex.Value
 | |
| 	}
 | |
| 	if req.Conversation.IsPinned != nil {
 | |
| 		conversation.IsPinned = req.Conversation.IsPinned.Value
 | |
| 		m["is_pinned"] = req.Conversation.IsPinned.Value
 | |
| 	}
 | |
| 	if req.Conversation.GroupAtType != nil {
 | |
| 		conversation.GroupAtType = req.Conversation.GroupAtType.Value
 | |
| 		m["group_at_type"] = req.Conversation.GroupAtType.Value
 | |
| 	}
 | |
| 	if req.Conversation.MsgDestructTime != nil {
 | |
| 		conversation.MsgDestructTime = req.Conversation.MsgDestructTime.Value
 | |
| 		m["msg_destruct_time"] = req.Conversation.MsgDestructTime.Value
 | |
| 	}
 | |
| 	if req.Conversation.IsMsgDestruct != nil {
 | |
| 		conversation.IsMsgDestruct = req.Conversation.IsMsgDestruct.Value
 | |
| 		m["is_msg_destruct"] = req.Conversation.IsMsgDestruct.Value
 | |
| 	}
 | |
| 	if req.Conversation.BurnDuration != nil {
 | |
| 		conversation.BurnDuration = req.Conversation.BurnDuration.Value
 | |
| 		m["burn_duration"] = req.Conversation.BurnDuration.Value
 | |
| 	}
 | |
| 
 | |
| 	return m, conversation, nil
 | |
| }
 | |
| 
 | |
| func UserUpdateCheckMap(ctx context.Context, userID string, req *conversation.ConversationReq, conversation *dbModel.Conversation) (unequal bool) {
 | |
| 	unequal = false
 | |
| 
 | |
| 	if req.RecvMsgOpt != nil && conversation.RecvMsgOpt != req.RecvMsgOpt.Value {
 | |
| 		unequal = true
 | |
| 	}
 | |
| 	if req.AttachedInfo != nil && conversation.AttachedInfo != req.AttachedInfo.Value {
 | |
| 		unequal = true
 | |
| 	}
 | |
| 	if req.Ex != nil && conversation.Ex != req.Ex.Value {
 | |
| 		unequal = true
 | |
| 	}
 | |
| 	if req.IsPinned != nil && conversation.IsPinned != req.IsPinned.Value {
 | |
| 		unequal = true
 | |
| 	}
 | |
| 	if req.GroupAtType != nil && conversation.GroupAtType != req.GroupAtType.Value {
 | |
| 		unequal = true
 | |
| 	}
 | |
| 	if req.MsgDestructTime != nil && conversation.MsgDestructTime != req.MsgDestructTime.Value {
 | |
| 		unequal = true
 | |
| 	}
 | |
| 	if req.IsMsgDestruct != nil && conversation.IsMsgDestruct != req.IsMsgDestruct.Value {
 | |
| 		unequal = true
 | |
| 	}
 | |
| 	if req.BurnDuration != nil && conversation.BurnDuration != req.BurnDuration.Value {
 | |
| 		unequal = true
 | |
| 	}
 | |
| 
 | |
| 	return unequal
 | |
| }
 |