From ca953b3f038b4d2d3f6129dfdac84a447dddcab7 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Wed, 8 Oct 2025 18:42:00 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9APC=E4=BB=A5=E5=9B=BE=E6=90=9C?= =?UTF-8?q?=E6=AC=BE=E5=B9=BF=E5=91=8A=E8=B0=83=E4=BC=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WebsitePCServiceImpl.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsitePCServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsitePCServiceImpl.java index 66782f353..8be057cf9 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsitePCServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/WebsitePCServiceImpl.java @@ -434,6 +434,7 @@ public class WebsitePCServiceImpl implements IWebsitePCService { /** * PC 搜索结果广告列表。 * 即使是会员 也不返回会员标识,这样布局更好看 + * * @return */ @Override @@ -1420,17 +1421,15 @@ public class WebsitePCServiceImpl implements IWebsitePCService { List storeProdViewList = this.storeProdMapper.getStoreProdViewAttr(storeProdIdList, java.sql.Date.valueOf(LocalDate.now().minusMonths(2)), java.sql.Date.valueOf(LocalDate.now())); Map viewMap = storeProdViewList.stream().collect(Collectors.toMap(StoreProdViewDTO::getStoreProdId, Function.identity())); - // 档口标签 - List storeTagList = this.dailyStoreTagMapper.selectList(new LambdaQueryWrapper() - .eq(DailyStoreTag::getDelFlag, Constants.UNDELETED).in(DailyStoreTag::getStoreId, storeList.stream().map(Store::getId).collect(Collectors.toList()))); - Map> storeTagMap = storeTagList.stream().collect(Collectors - .groupingBy(DailyStoreTag::getStoreId, Collectors.collectingAndThen(Collectors.toList(), list -> list.stream() - .sorted(Comparator.comparing(DailyStoreTag::getType)).map(DailyStoreTag::getTag).collect(Collectors.toList())))); + // 商品图搜次数 + List prodStatsList = prodStatsMapper.selectList(new LambdaQueryWrapper() + .eq(StoreProductStatistics::getDelFlag, Constants.UNDELETED).in(StoreProductStatistics::getStoreProdId, storeProdIdList)); + Map prodStatsMap = prodStatsList.stream().collect(Collectors.toMap(StoreProductStatistics::getStoreProdId, Function.identity())); List launchingList = oneMonthList.stream().filter(x -> Objects.equals(x.getLaunchStatus(), AdLaunchStatus.LAUNCHING.getValue())) .filter(x -> Objects.equals(x.getBiddingStatus(), AdBiddingStatus.BIDDING_SUCCESS.getValue())).collect(Collectors.toList()); List expiredList = oneMonthList.stream().filter(x -> Objects.equals(x.getLaunchStatus(), AdLaunchStatus.EXPIRED.getValue())).collect(Collectors.toList()); // 从正在播放的图搜热款广告或者历史广告中筛选10条 - picSearchList = getPicSearchAdvertList(CollectionUtils.isEmpty(launchingList) ? expiredList : launchingList, viewMap, storeTagMap); + picSearchList = getPicSearchAdvertList(CollectionUtils.isEmpty(launchingList) ? expiredList : launchingList, viewMap, prodStatsMap); picSearchList.forEach(x -> { // 查询档口会员等级 StoreMember member = this.redisCache.getCacheObject(CacheConstants.STORE_MEMBER + x.getStoreId()); @@ -1579,10 +1578,10 @@ public class WebsitePCServiceImpl implements IWebsitePCService { * 获取以图搜款的广告 * * @param picSearchList 图搜热款数据库数据 - * @param storeTagMap 档口标签map + * @param prodStatsMap 图搜次数map * @return List */ - private List getPicSearchAdvertList(List picSearchList, Map viewMap, Map> storeTagMap) { + private List getPicSearchAdvertList(List picSearchList, Map viewMap, Map prodStatsMap) { return picSearchList.stream().limit(10).map(advertRound -> { final Long storeProdId = Long.valueOf(advertRound.getProdIdStr()); StoreProdViewDTO viewDTO = viewMap.get(storeProdId); @@ -1593,15 +1592,14 @@ public class WebsitePCServiceImpl implements IWebsitePCService { }}; CollectionUtils.addAll(prodTagList, ObjectUtils.isNotEmpty(viewDTO) && StringUtils.isNotBlank(viewDTO.getTagStr()) ? StrUtil.split(viewDTO.getTagStr(), ",") : new ArrayList<>()); - return new PicSearchAdvertDTO().setImgSearchCount(ObjectUtils.isNotEmpty(viewDTO) && ObjectUtils.isNotEmpty(viewDTO.getImgSearchCount()) - ? viewDTO.getImgSearchCount() : (long) (new Random().nextInt(191) + 10)) + return new PicSearchAdvertDTO() + .setImgSearchCount(prodStatsMap.containsKey(storeProdId) ? prodStatsMap.get(storeProdId).getImgSearchCount() : null) .setSameProdCount(results.size()).setStoreProdId(storeProdId).setStoreId(advertRound.getStoreId()).setTags(prodTagList) .setStoreName(ObjectUtils.isNotEmpty(viewDTO) ? viewDTO.getStoreName() : "") .setPrice(ObjectUtils.isNotEmpty(viewDTO) ? viewDTO.getPrice() : null) .setProdArtNum(ObjectUtils.isNotEmpty(viewDTO) ? viewDTO.getProdArtNum() : "") .setMainPicUrl(ObjectUtils.isNotEmpty(viewDTO) ? viewDTO.getMainPicUrl() : "") .setProdTitle(ObjectUtils.isNotEmpty(viewDTO) ? viewDTO.getProdTitle() : ""); -// .setStoreTagList(CollectionUtils.isNotEmpty(storeTagMap.get(advertRound.getStoreId())) ? storeTagMap.get(advertRound.getStoreId()) : null); }).collect(Collectors.toList()); }