Merge remote-tracking branch 'origin/errcode' into errcode

This commit is contained in:
withchao 2023-04-19 15:12:18 +08:00
commit 2b58579c0a
3 changed files with 6 additions and 2 deletions

View File

@ -634,7 +634,7 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq)
_, err = s.GroupDatabase.TakeGroupMember(ctx, req.GroupID, req.InviterUserID) _, err = s.GroupDatabase.TakeGroupMember(ctx, req.GroupID, req.InviterUserID)
if err == nil { if err == nil {
return nil, errs.ErrArgs.Wrap("already in group") return nil, errs.ErrArgs.Wrap("already in group")
} else if !s.IsNotFound(err) { } else if !s.IsNotFound(err) && utils.Unwrap(err) != errs.ErrRecordNotFound {
return nil, err return nil, err
} }
resp = &pbGroup.JoinGroupResp{} resp = &pbGroup.JoinGroupResp{}

View File

@ -7,6 +7,7 @@ import (
"time" "time"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
"github.com/OpenIMSDK/Open-IM-Server/pkg/errs"
"github.com/OpenIMSDK/Open-IM-Server/pkg/utils" "github.com/OpenIMSDK/Open-IM-Server/pkg/utils"
"github.com/dtm-labs/rockscache" "github.com/dtm-labs/rockscache"
) )
@ -85,6 +86,9 @@ func getCache[T any](ctx context.Context, rcClient *rockscache.Client, key strin
if write { if write {
return t, nil return t, nil
} }
if v == "" {
return t, errs.ErrRecordNotFound
}
err = json.Unmarshal([]byte(v), &t) err = json.Unmarshal([]byte(v), &t)
if err != nil { if err != nil {
log.ZError(ctx, "cache json.Unmarshal failed", err, "key", key, "value", v, "expire", expire) log.ZError(ctx, "cache json.Unmarshal failed", err, "key", key, "value", v, "expire", expire)

View File

@ -127,7 +127,7 @@ func (g *groupDatabase) CreateGroup(ctx context.Context, groups []*relationTb.Gr
m[groupMember.GroupID] = struct{}{} m[groupMember.GroupID] = struct{}{}
cache = cache.DelGroupMemberIDs(groupMember.GroupID).DelGroupMembersHash(groupMember.GroupID).DelGroupsMemberNum(groupMember.GroupID) cache = cache.DelGroupMemberIDs(groupMember.GroupID).DelGroupMembersHash(groupMember.GroupID).DelGroupsMemberNum(groupMember.GroupID)
} }
cache.DelJoinedGroupID(groupMember.UserID) cache.DelJoinedGroupID(groupMember.UserID).DelGroupMembersInfo(groupMember.GroupID, groupMember.UserID)
} }
return cache.ExecDel(ctx) return cache.ExecDel(ctx)
}) })