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