diff --git a/internal/rpc/group/callback.go b/internal/rpc/group/callback.go index 1a77d1e18..c66871f01 100644 --- a/internal/rpc/group/callback.go +++ b/internal/rpc/group/callback.go @@ -2,6 +2,8 @@ package group import ( "context" + "time" + "github.com/OpenIMSDK/Open-IM-Server/pkg/apistruct" "github.com/OpenIMSDK/Open-IM-Server/pkg/callbackstruct" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/config" @@ -12,7 +14,6 @@ import ( "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/group" "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/wrapperspb" "github.com/OpenIMSDK/Open-IM-Server/pkg/utils" - "time" ) func CallbackBeforeCreateGroup(ctx context.Context, req *group.CreateGroupReq) (err error) { diff --git a/pkg/common/db/controller/conversation.go b/pkg/common/db/controller/conversation.go index 5335698df..0a3b90f84 100644 --- a/pkg/common/db/controller/conversation.go +++ b/pkg/common/db/controller/conversation.go @@ -68,12 +68,16 @@ func (c *ConversationDataBase) SetUsersConversationFiledTx(ctx context.Context, temp.OwnerUserID = v cList = append(cList, temp) } - err = conversationTx.Create(ctx, cList) - if err != nil { - return err + cache := c.cache.NewCache() + if len(cList) > 0 { + err = conversationTx.Create(ctx, cList) + if err != nil { + return err + } + cache = cache.DelConversationIDs(NotUserIDs) } // clear cache - return c.cache.DelConversationIDs(NotUserIDs).DelUsersConversation(haveUserIDs, conversation.ConversationID).ExecDel(ctx) + return cache.DelUsersConversation(haveUserIDs, conversation.ConversationID).ExecDel(ctx) }) }