From dbba5f17419ee6b7faa3b5a4c4e1de2b9e0e46ad Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Thu, 9 Oct 2025 21:20:01 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9Aapp=E6=90=9C=E7=B4=A2=E6=8A=A5?= =?UTF-8?q?=E7=A9=BA=E6=8C=87=E9=92=88=E4=BF=AE=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xkt/service/impl/WebsiteAPPServiceImpl.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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 a81f218d2..fbec625ec 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 @@ -348,13 +348,16 @@ public class WebsiteAPPServiceImpl implements IWebsiteAPPService { 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)); + CollectionUtils.addAll(storeProdIdList, CollectionUtils.isEmpty(redisList) + ? new ArrayList<>() : redisList.stream().map(APPSearchDTO::getStoreProdId).collect(Collectors.toList())); + List userFavList = this.userFavMapper.selectList(new LambdaQueryWrapper().eq(UserFavorites::getUserId, userId) + .in(UserFavorites::getStoreProdId, storeProdIdList).eq(UserFavorites::getDelFlag, Constants.UNDELETED)); 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()))); + if (CollectionUtils.isNotEmpty(redisList)) { + redisList.forEach(x -> x.setCollectProd(userFavMap.containsKey(x.getStoreProdId()))); + } } // APP 只有第一页 有数据 其它页暂时没有广告 if (searchDTO.getPageNum() > 1) { @@ -377,7 +380,8 @@ public class WebsiteAPPServiceImpl implements IWebsiteAPPService { Map attrMap = this.getStoreProdAttrMap(storeProdIdList); List newProdList = advertRoundList.stream().filter(x -> StringUtils.isNotBlank(x.getProdIdStr())).map(x -> { StoreProdPriceAndMainPicAndTagDTO attrDto = attrMap.get(Long.parseLong(x.getProdIdStr())); - return new APPSearchDTO().setAdvert(Boolean.TRUE).setStoreId(x.getStoreId().toString()).setStoreProdId(x.getProdIdStr()) + return new APPSearchDTO().setAdvert(Boolean.TRUE).setStoreId(x.getStoreId().toString()) + .setStoreProdId(x.getProdIdStr()).setCollectProd(Boolean.FALSE) .setProdTitle(ObjectUtils.isNotEmpty(attrDto) ? attrDto.getProdTitle() : "") .setHasVideo(ObjectUtils.isNotEmpty(attrDto) ? attrDto.getHasVideo() : Boolean.FALSE) .setTags(StringUtils.isNotBlank(attrDto.getTagStr()) ? StrUtil.split(attrDto.getTagStr(), ",") : null)