From da941450373a5b3797215e46d04199ea20f01c99 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Wed, 8 Oct 2025 20:44:54 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E8=BF=94=E5=9B=9E=E7=BB=99APP?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=E5=A2=9E=E5=8A=A0collectProd?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xkt/dto/advertRound/app/index/APPSearchDTO.java | 2 ++ .../xkt/service/impl/WebsiteAPPServiceImpl.java | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/advertRound/app/index/APPSearchDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/advertRound/app/index/APPSearchDTO.java index 5fe68c12d..ee1a4322b 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/advertRound/app/index/APPSearchDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/advertRound/app/index/APPSearchDTO.java @@ -43,6 +43,8 @@ public class APPSearchDTO { private String prodTitle; @ApiModelProperty(value = "是否有视频") private Boolean hasVideo; + @ApiModelProperty(value = "是否已收藏商品") + private Boolean collectProd; @ApiModelProperty(value = "标签") private List tags; diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsiteAPPServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsiteAPPServiceImpl.java index dd145b74d..a81f218d2 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsiteAPPServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsiteAPPServiceImpl.java @@ -344,6 +344,18 @@ public class WebsiteAPPServiceImpl implements IWebsiteAPPService { .filter(x -> CollectionUtils.isEmpty(advertProdIdList) || !advertProdIdList.contains(x.getStoreProdId())) .collect(Collectors.toList()); } + // 增加用户是否已收藏商品 + Long userId = SecurityUtils.getUserIdSafe(); + if (ObjectUtils.isNotEmpty(userId)) { + List storeProdIdList = realDataList.stream().map(APPSearchDTO::getStoreProdId).filter(StringUtils::isNotBlank).collect(Collectors.toList()); + CollectionUtils.addAll(storeProdIdList, redisList.stream().map(APPSearchDTO::getStoreProdId).collect(Collectors.toList())); + List userFavList = this.userFavMapper.selectList(new LambdaQueryWrapper() + .eq(UserFavorites::getUserId, userId).in(UserFavorites::getStoreProdId, storeProdIdList)); + Map userFavMap = CollectionUtils.isEmpty(userFavList) ? new HashMap<>() + : userFavList.stream().collect(Collectors.toMap(x -> x.getStoreProdId().toString(), UserFavorites::getId)); + realDataList.forEach(x -> x.setCollectProd(userFavMap.containsKey(x.getStoreProdId()))); + redisList.forEach(x -> x.setCollectProd(userFavMap.containsKey(x.getStoreProdId()))); + } // APP 只有第一页 有数据 其它页暂时没有广告 if (searchDTO.getPageNum() > 1) { return new Page<>(page.getPageNum(), page.getPageSize(), page.getPages(), page.getTotal(), realDataList);