From a8849056eebef42a33353e8652de13822f440632 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期一, 13 十一月 2023 10:15:31 +0800 Subject: [PATCH] merge --- service/lru.go | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-) diff --git a/service/lru.go b/service/lru.go index a09d09f..888aba5 100644 --- a/service/lru.go +++ b/service/lru.go @@ -2,37 +2,50 @@ import ( "github.com/hashicorp/golang-lru/v2/expirable" + "strings" "time" ) type UserBaseInfo struct { - UserId int - NickName string + UserId int + NickName string + SubUserIds []int } var userCache *expirable.LRU[string, *UserBaseInfo] func init() { //make cache with 5 minutes TTL and 100 max keys - userCache = expirable.NewLRU[string, *UserBaseInfo](100, nil, time.Minute*5) + userCache = expirable.NewLRU[string, *UserBaseInfo](100, nil, time.Minute*1) //todo zq 鏆傛椂鏀规垚 1鍒嗛挓 } func GetUserBaseCache(adminUserId string) *UserBaseInfo { - userCache, ok := userCache.Get(adminUserId) + cache, ok := userCache.Get(adminUserId) if !ok { userService := UserService{} userRecord, err := userService.GetUserInfo(adminUserId) if err != nil { return nil } + var subIds []int + if userRecord.SubUserIds != "" { + subIds, _, err = userService.UUID2CrmUserId(strings.Split(userRecord.SubUserIds, ",")) + if err != nil { + return nil + } + } + + subIds = append(subIds, userRecord.ID) + baseInfo := &UserBaseInfo{ - UserId: userRecord.ID, - NickName: userRecord.NickName, + UserId: userRecord.ID, + NickName: userRecord.NickName, + SubUserIds: subIds, } SetUserBaseCache(adminUserId, baseInfo) return baseInfo } - return userCache + return cache } func SetUserBaseCache(adminUserId string, user *UserBaseInfo) { -- Gitblit v1.8.0