From d28815a491eac43ad9153b7a83f27ce72d64a47e Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 06 二月 2024 14:47:29 +0800
Subject: [PATCH] 兼容
---
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