feat:(REQ-2699) 修改缓存配置为分钟,修改查询权限的逻辑

This commit is contained in:
lilong 2024-08-26 16:50:55 +08:00
parent 4eb23c307c
commit 632056a8c8
7 changed files with 20 additions and 23 deletions

View File

@ -51,8 +51,8 @@ public class ProductPermissionCacheServiceImpl implements ProductPermissionCache
private CacheProductPermissionHandler cacheProductPermissionHandler;
/** 产品权限缓存过期时间 **/
@Value("${product.permission.expire:180}")
private Long expireInDays;
@Value("${product.permission.expire.minutes:14}")
private Long expireInMinutes;
@Override
public Map<Long, List<PermissionDTO>> list(ListProductPermissionParam param) {
@ -136,7 +136,7 @@ public class ProductPermissionCacheServiceImpl implements ProductPermissionCache
// 存在hash中部分key移除为了处理快直接把redisKey删除掉修改不频繁
redisTemplate.delete(redisKey);
RedisClient.HashOps.hPutAll(redisKey, redisValues);
redisTemplate.expire(redisKey, expireInDays, TimeUnit.DAYS);
redisTemplate.expire(redisKey, expireInMinutes, TimeUnit.MINUTES);
log.info("succeed to store product permission: redisKey:{} value:{}", redisKey, redisValues);
}
return null;

View File

@ -47,8 +47,8 @@ public class ProductSaasFeatureResourceCacheServiceImpl implements ProductSaasFe
@Autowired
private CacheProductSaasFeatureResourceHandler cacheProductSaasFeatureResourceHandler;
@Value("${product.feature.resouce.expire:180}")
private Long expireInDays;
@Value("${product.feature.resouce.expire.minutes:14}")
private Long expireInMinutes;
@Override
public Map<Long, List<FeatureResourceDTO>> list(ListProductFeatureResourceParam param) {
@ -82,7 +82,7 @@ public class ProductSaasFeatureResourceCacheServiceImpl implements ProductSaasFe
// 存在hash中部分key移除为了处理快直接把redisKey删除掉修改不频繁
redisTemplate.delete(redisKey);
RedisClient.HashOps.hPutAll(redisKey, redisValues);
redisTemplate.expire(redisKey, expireInDays, TimeUnit.DAYS);
redisTemplate.expire(redisKey, expireInMinutes, TimeUnit.MINUTES);
log.info("succeed to store product featureResource: redisKey:{} value:{}", redisKey, redisValues);
}
return null;

View File

@ -48,8 +48,8 @@ public class RolePermissionCacheServiceImpl implements RolePermissionCacheServic
/** 角色权限缓存过期时间 **/
@Value("${role.permission.expire:180}")
private Long expireInDays;
@Value("${role.permission.expire.minutes:14}")
private Long expireInMinutes;
@Override
public Map<Long, List<PermissionDTO>> list(ListRolePermissionParam param) {
@ -131,7 +131,7 @@ public class RolePermissionCacheServiceImpl implements RolePermissionCacheServic
// 存在hash中部分key移除为了处理快直接把redisKey删除掉修改不频繁
redisTemplate.delete(redisKey);
RedisClient.HashOps.hPutAll(redisKey, redisValues);
redisTemplate.expire(redisKey, expireInDays, TimeUnit.DAYS);
redisTemplate.expire(redisKey, expireInMinutes, TimeUnit.MINUTES);
log.info("succeed to store role permission: redisKey:{} value:{}", redisKey, redisValues);
}
return null;

View File

@ -49,8 +49,8 @@ public class RoleSaasFeatureResourceCacheServiceImpl implements RoleSaasFeatureR
/** 角色菜单缓存过期时间 **/
@Value("${role.feature.resource.expire:180}")
private Long expireInDays;
@Value("${role.feature.resource.expire.minutes:14}")
private Long expireInMinutes;
@Override
public Map<Long, List<SaasFeatureResourceDTO>> list(ListRoleSaasFeatureResourceParam param) {
@ -84,7 +84,7 @@ public class RoleSaasFeatureResourceCacheServiceImpl implements RoleSaasFeatureR
// 存在hash中部分key移除为了处理快直接把redisKey删除掉修改不频繁
redisTemplate.delete(redisKey);
RedisClient.HashOps.hPutAll(redisKey, redisValues);
redisTemplate.expire(redisKey, expireInDays, TimeUnit.DAYS);
redisTemplate.expire(redisKey, expireInMinutes, TimeUnit.MINUTES);
log.info("succeed to store role featureResource: redisKey:{} value:{}", redisKey, redisValues);
}
return null;

View File

@ -121,8 +121,8 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
private RedisTemplate<String, String> redisTemplate;
/** 菜单树过期时间 **/
@Value("${saas.feature.resource.expire:180}")
private Long expireInDays;
@Value("${saas.feature.resource.expire.minutes:14}")
private Long expireInMinutes;
private static final String SAAS_FEATURE_RESOURCE_KEY = "saas:feature:resource:%s";
@ -785,7 +785,7 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
String redisKey = getKey(saasFeatureResource.getTerminal());
String redisValue = JSONObject.toJSONString(saasFeatureResource.getFeatures());
RedisClient.StringOps.setEx(redisKey, redisValue,
expireInDays, TimeUnit.DAYS);
expireInMinutes, TimeUnit.MINUTES);
log.info("succeed to store featureResource: redisKey:{} value:{}", redisKey, redisValue);
}
return null;

View File

@ -390,13 +390,10 @@ public class TyrSaasAuthServiceImpl implements TyrSaasAuthService {
}
List<IdentityAuthReq.WorkspaceOuPair> pairs = BeanMapper.copyList(req.getWorkspaceAndOU(), IdentityAuthReq.WorkspaceOuPair.class);
request.setWorkspaceOusPairs(pairs);
request.setFeatureCode(Sets.newHashSet(req.getCodes()));
IdentityAuthRes authRes = this.findIdentityAuthMix(request);
HashSet<String> codeSet = new HashSet<>(req.getCodes());
//比较code
return authRes.getPermissions().stream()
.anyMatch(e -> e.getPermissionPoint()
.stream()
.anyMatch(p -> codeSet.contains(p.getFeatureCode())));
.anyMatch(e -> CollectionUtil.isNotEmpty(e.getPermissionPoint()));
}
@Data

View File

@ -62,8 +62,8 @@ public class WorkspaceProductServiceImpl implements WorkspaceProductService {
/** 授权缓存过期时间 **/
@Value("${workspace.product.expire:90}")
private Long expireInDays;
@Value("${workspace.product.expire.minutes:14}")
private Long expireInMinutes;
private static final String WORKSPACE_PRODUCT_KEY = "workspace:product:%s";
@ -190,7 +190,7 @@ public class WorkspaceProductServiceImpl implements WorkspaceProductService {
for (WorkspaceProductDTO workspaceProduct : param.getWorkspaceProducts()) {
String redisKey = getKey(workspaceProduct.getWorkspaceId());
RedisUtil.StringValueOps.setEx(redisKey, JSON.toJSONString(workspaceProduct.getProductIds()),
expireInDays, TimeUnit.DAYS);
expireInMinutes, TimeUnit.MINUTES);
}
return null;