diff --git a/src/main/java/com/ai/da/common/utils/RedisUtil.java b/src/main/java/com/ai/da/common/utils/RedisUtil.java index e15bc5d0..0d5c6153 100644 --- a/src/main/java/com/ai/da/common/utils/RedisUtil.java +++ b/src/main/java/com/ai/da/common/utils/RedisUtil.java @@ -178,14 +178,17 @@ public class RedisUtil { } public List getLikedPortfolios(Long userId) { + // 获取所有包含PORTFOLIO_LIKE_KEY的键 Set likedPortfolios = redisTemplate.keys(PORTFOLIO_LIKE_KEY + "*"); + // 如果没有喜欢的,返回空列表 if (likedPortfolios == null || likedPortfolios.isEmpty()) { return new ArrayList<>(); } + // 过滤出包含指定用户ID的键,并提取投资组合ID return likedPortfolios.stream() - .filter(key -> redisTemplate.opsForSet().isMember(key, userId.toString())) + .filter(key -> redisTemplate.opsForSet().isMember(key, String.valueOf(userId))) .map(key -> Long.valueOf(key.replace(PORTFOLIO_LIKE_KEY, ""))) .collect(Collectors.toList()); } diff --git a/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java b/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java index 77d17650..c86bc847 100644 --- a/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java @@ -427,7 +427,7 @@ public class PortfolioServiceImpl extends ServiceImpl likedPortfolioIdList = redisUtil.getLikedPortfolios(userHolder.getId()); + List likedPortfolioIdList = redisUtil.getLikedPortfolios(88L); if (!CollectionUtils.isEmpty(likedPortfolioIdList)) { qw.lambda().in(Portfolio::getId, likedPortfolioIdList); }