From e26a582836654b57d6665a2d2358710dea0ecbd8 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Wed, 17 Jan 2024 17:33:54 +0800 Subject: [PATCH] feat: msg rpc local cache --- pkg/rpccache/group.go | 60 +++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/pkg/rpccache/group.go b/pkg/rpccache/group.go index 333177d2d..6a12aa9f0 100644 --- a/pkg/rpccache/group.go +++ b/pkg/rpccache/group.go @@ -48,6 +48,36 @@ func (g *GroupLocalCache) getGroupMemberIDs(ctx context.Context, groupID string) })) } +func (g *GroupLocalCache) GetGroupMember(ctx context.Context, groupID, userID string) (val *sdkws.GroupMemberFullInfo, err error) { + log.ZDebug(ctx, "GroupLocalCache GetGroupInfo req", "groupID", groupID, "userID", userID) + defer func() { + if err == nil { + log.ZDebug(ctx, "GroupLocalCache GetGroupInfo return", "value", val) + } else { + log.ZError(ctx, "GroupLocalCache GetGroupInfo return", err) + } + }() + return localcache.AnyValue[*sdkws.GroupMemberFullInfo](g.local.Get(ctx, cachekey.GetGroupMemberInfoKey(groupID, userID), func(ctx context.Context) (any, error) { + log.ZDebug(ctx, "GroupLocalCache GetGroupInfo rpc", "groupID", groupID, "userID", userID) + return g.client.GetGroupMemberCache(ctx, groupID, userID) + })) +} + +func (g *GroupLocalCache) GetGroupInfo(ctx context.Context, groupID string) (val *sdkws.GroupInfo, err error) { + log.ZDebug(ctx, "GroupLocalCache GetGroupInfo req", "groupID", groupID) + defer func() { + if err == nil { + log.ZDebug(ctx, "GroupLocalCache GetGroupInfo return", "value", val) + } else { + log.ZError(ctx, "GroupLocalCache GetGroupInfo return", err) + } + }() + return localcache.AnyValue[*sdkws.GroupInfo](g.local.Get(ctx, cachekey.GetGroupInfoKey(groupID), func(ctx context.Context) (any, error) { + log.ZDebug(ctx, "GroupLocalCache GetGroupInfo rpc", "groupID", groupID) + return g.client.GetGroupInfoCache(ctx, groupID) + })) +} + func (g *GroupLocalCache) GetGroupMemberIDs(ctx context.Context, groupID string) ([]string, error) { res, err := g.getGroupMemberIDs(ctx, groupID) if err != nil { @@ -64,21 +94,6 @@ func (g *GroupLocalCache) GetGroupMemberIDMap(ctx context.Context, groupID strin return res.Map, nil } -func (g *GroupLocalCache) GetGroupInfo(ctx context.Context, groupID string) (val *sdkws.GroupInfo, err error) { - log.ZDebug(ctx, "GroupLocalCache GetGroupInfo req", "groupID", groupID) - defer func() { - if err == nil { - log.ZDebug(ctx, "GroupLocalCache GetGroupInfo return", "value", val) - } else { - log.ZError(ctx, "GroupLocalCache GetGroupInfo return", err) - } - }() - return localcache.AnyValue[*sdkws.GroupInfo](g.local.Get(ctx, cachekey.GetGroupMemberIDsKey(groupID), func(ctx context.Context) (any, error) { - log.ZDebug(ctx, "GroupLocalCache GetGroupInfo rpc", "groupID", groupID) - return g.client.GetGroupInfoCache(ctx, groupID) - })) -} - func (g *GroupLocalCache) GetGroupInfos(ctx context.Context, groupIDs []string) ([]*sdkws.GroupInfo, error) { groupInfos := make([]*sdkws.GroupInfo, 0, len(groupIDs)) for _, groupID := range groupIDs { @@ -94,21 +109,6 @@ func (g *GroupLocalCache) GetGroupInfos(ctx context.Context, groupIDs []string) return groupInfos, nil } -func (g *GroupLocalCache) GetGroupMember(ctx context.Context, groupID, userID string) (val *sdkws.GroupMemberFullInfo, err error) { - log.ZDebug(ctx, "GroupLocalCache GetGroupInfo req", "groupID", groupID, "userID", userID) - defer func() { - if err == nil { - log.ZDebug(ctx, "GroupLocalCache GetGroupInfo return", "value", val) - } else { - log.ZError(ctx, "GroupLocalCache GetGroupInfo return", err) - } - }() - return localcache.AnyValue[*sdkws.GroupMemberFullInfo](g.local.Get(ctx, cachekey.GetGroupMemberInfoKey(groupID, userID), func(ctx context.Context) (any, error) { - log.ZDebug(ctx, "GroupLocalCache GetGroupInfo rpc", "groupID", groupID, "userID", userID) - return g.client.GetGroupMemberCache(ctx, groupID, userID) - })) -} - func (g *GroupLocalCache) GetGroupMembers(ctx context.Context, groupID string, userIDs []string) ([]*sdkws.GroupMemberFullInfo, error) { members := make([]*sdkws.GroupMemberFullInfo, 0, len(userIDs)) for _, userID := range userIDs {