From 84c7b8827e8354ca023c6610c2be2946caf0e8ad Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 13 Jan 2023 11:32:02 +0800 Subject: [PATCH] message --- pkg/common/db/rocks_cache/rocks_cache.go | 67 ++++++++++++------------ 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 3b054d37f..0e80c94b5 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -145,40 +145,6 @@ func DelJoinedGroupIDListFromCache(userID string) error { return db.DB.Rc.TagAsDeleted(joinedGroupListCache + userID) } -func GetGroupMemberIDListFromCache(groupID string) ([]string, error) { - f := func() (string, error) { - groupInfo, err := GetGroupInfoFromCache(groupID) - if err != nil { - return "", utils.Wrap(err, "GetGroupInfoFromCache failed") - } - var groupMemberIDList []string - if groupInfo.GroupType == constant.SuperGroup { - superGroup, err := db.DB.GetSuperGroup(groupID) - if err != nil { - return "", utils.Wrap(err, "") - } - groupMemberIDList = superGroup.MemberIDList - } else { - groupMemberIDList, err = imdb.GetGroupMemberIDListByGroupID(groupID) - if err != nil { - return "", utils.Wrap(err, "") - } - } - bytes, err := json.Marshal(groupMemberIDList) - if err != nil { - return "", utils.Wrap(err, "") - } - return string(bytes), nil - } - groupIDListStr, err := db.DB.Rc.Fetch(groupCache+groupID, time.Second*30*60, f) - if err != nil { - return nil, utils.Wrap(err, "") - } - var groupMemberIDList []string - err = json.Unmarshal([]byte(groupIDListStr), &groupMemberIDList) - return groupMemberIDList, utils.Wrap(err, "") -} - func DelGroupMemberIDListFromCache(groupID string) error { err := db.DB.Rc.TagAsDeleted(groupCache + groupID) return err @@ -458,6 +424,39 @@ func GetGroupMemberListHashFromCache(groupID string) (uint64, error) { hashCodeUint64, err := strconv.Atoi(hashCode) return uint64(hashCodeUint64), err } +func GetGroupMemberIDListFromCache(groupID string) ([]string, error) { + f := func() (string, error) { + groupInfo, err := GetGroupInfoFromCache(groupID) + if err != nil { + return "", utils.Wrap(err, "GetGroupInfoFromCache failed") + } + var groupMemberIDList []string + if groupInfo.GroupType == constant.SuperGroup { + superGroup, err := db.DB.GetSuperGroup(groupID) + if err != nil { + return "", utils.Wrap(err, "") + } + groupMemberIDList = superGroup.MemberIDList + } else { + groupMemberIDList, err = imdb.GetGroupMemberIDListByGroupID(groupID) + if err != nil { + return "", utils.Wrap(err, "") + } + } + bytes, err := json.Marshal(groupMemberIDList) + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil + } + groupIDListStr, err := db.DB.Rc.Fetch(groupCache+groupID, time.Second*30*60, f) + if err != nil { + return nil, utils.Wrap(err, "") + } + var groupMemberIDList []string + err = json.Unmarshal([]byte(groupIDListStr), &groupMemberIDList) + return groupMemberIDList, utils.Wrap(err, "") +} func DelGroupMemberListHashFromCache(groupID string) error { err := db.DB.Rc.TagAsDeleted(groupMemberListHashCache + groupID)