Browse Source

feat:缓存

wangshan 2 years ago
parent
commit
d0addb8f20
3 changed files with 7 additions and 6 deletions
  1. 5 4
      entity/user.go
  2. 1 1
      service/workDesktop.go
  3. 1 1
      service/workDesktop_test.go

+ 5 - 4
entity/user.go

@@ -15,7 +15,7 @@ import (
 
 const (
 	RedisCode         = "newother"
-	RedisMenuKey      = "jy_workdesktopmenu_%s_%s_%s"
+	RedisMenuKey      = "jy_workdesktopmenu_%s_%s_%s_%s"
 	UserPowerRedisKey = "jy_userpowerredis_%s_%d_%s"
 	UserRegisterTime  = "jy_userregistertime_%s"
 )
@@ -238,10 +238,11 @@ func ClearUserPowerFunc(positionId, appId string) bool {
 	if positionId == "" {
 		return false
 	}
-	//用户权限缓存
-	//redis.Del(RedisCode, fmt.Sprintf(UserPowerRedisKey, appId, time.Now().Day(), userId))
+	for _, v := range []string{"PC", "APP", "WX"} {
+		redis.Del(RedisCode, fmt.Sprintf(RedisMenuKey, appId, v, ConfigJson.MenuCacheKey, positionId))
+	}
 	//用户菜单缓存
-	return redis.Del(RedisCode, fmt.Sprintf(RedisMenuKey, appId, ConfigJson.MenuCacheKey, positionId))
+	return true
 }
 
 // UserRolePowerInit 用户角色权限初始化

+ 1 - 1
service/workDesktop.go

@@ -249,7 +249,7 @@ func GetWordDesktopMenuTree(in *WorkDesktopMenuInfoReq) ([]*pb.MenuList, error)
 	var (
 		menuList []*pb.MenuList
 	)
-	RedisMenuKey := fmt.Sprintf(entity.RedisMenuKey, in.AppId, entity.ConfigJson.MenuCacheKey, in.UserId)
+	RedisMenuKey := fmt.Sprintf(entity.RedisMenuKey, in.AppId, in.Platform, entity.ConfigJson.MenuCacheKey, in.UserId)
 	logx.Info("RedisMenuKey:", RedisMenuKey)
 	menuBytes, err := redis.GetBytes(entity.RedisCode, RedisMenuKey)
 	if in.WorkStatus == 0 && err == nil && len(*menuBytes) > 0 {

+ 1 - 1
service/workDesktop_test.go

@@ -65,7 +65,7 @@ func Test_WorkDesktopMenuTree(t *testing.T) {
 	}
 	for _, in := range tests {
 		t.Run(in.name, func(t *testing.T) {
-			RedisMenuKey := fmt.Sprintf(entity.RedisMenuKey, in.args.AppId, entity.ConfigJson.MenuCacheKey, MC.If(in.args.PositionId != "", in.args.PositionId, in.args.UserId).(string))
+			RedisMenuKey := fmt.Sprintf(entity.RedisMenuKey, in.args.AppId, in.args.Platform, entity.ConfigJson.MenuCacheKey, MC.If(in.args.PositionId != "", in.args.PositionId, in.args.UserId).(string))
 			redis.Del(entity.RedisCode, RedisMenuKey)
 			res, err := GetWordDesktopMenuTree(in.args)
 			if len(res) == 0 || err != nil {