From 9dad51c9a504f3b5854f21fafb4efafd8d79ad58 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Thu, 4 Dec 2025 22:36:08 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9AAPP=E5=95=86=E5=93=81=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E6=A6=9C=E8=B0=83=E4=BC=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StoreProdAppViewRankResDTO.java | 1 + .../StoreProductStatisticsServiceImpl.java | 19 ++++++++++++++++++- .../mapper/StoreProductStatisticsMapper.xml | 19 +++++-------------- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/StoreProductStatistics/StoreProdAppViewRankResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/StoreProductStatistics/StoreProdAppViewRankResDTO.java index 69d4b42c3..b8b8345f5 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/StoreProductStatistics/StoreProdAppViewRankResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/StoreProductStatistics/StoreProdAppViewRankResDTO.java @@ -22,6 +22,7 @@ public class StoreProdAppViewRankResDTO { private List viewCountList; @Data + @Accessors(chain = true) public static class SPAVRViewCountDTO { @ApiModelProperty(value = "档口ID") private Long storeId; diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStatisticsServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStatisticsServiceImpl.java index 4d78c070e..da7258681 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStatisticsServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStatisticsServiceImpl.java @@ -3,6 +3,8 @@ package com.ruoyi.xkt.service.impl; import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.xkt.dto.StoreProductStatistics.StoreProdAppViewRankResDTO; +import com.ruoyi.xkt.dto.storeProduct.StoreProdPriceAndMainPicAndTagDTO; +import com.ruoyi.xkt.mapper.StoreProductMapper; import com.ruoyi.xkt.mapper.StoreProductStatisticsMapper; import com.ruoyi.xkt.service.IStoreProductStatisticsService; import lombok.RequiredArgsConstructor; @@ -13,8 +15,11 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; /** * 档口商品统计 服务层实现 @@ -27,6 +32,7 @@ public class StoreProductStatisticsServiceImpl implements IStoreProductStatistic final StoreProductStatisticsMapper prodStatisticsMapper; final RedisCache redisCache; + final StoreProductMapper storeProdMapper; /** * 档口商品访问榜 @@ -48,7 +54,18 @@ public class StoreProductStatisticsServiceImpl implements IStoreProductStatistic if (CollectionUtils.isEmpty(viewCountList)) { return redisAppViewRank; } - redisAppViewRank.setViewCountList(viewCountList); + final List storeProdIdList = viewCountList.stream().map(StoreProdAppViewRankResDTO.SPAVRViewCountDTO::getStoreProdId).collect(Collectors.toList()); + List prodInfoList = this.storeProdMapper.selectPriceAndMainPicAndTagList(storeProdIdList); + Map prodInfoMap = CollectionUtils.isEmpty(prodInfoList) ? new HashMap<>() + : prodInfoList.stream().collect(Collectors.toMap(StoreProdPriceAndMainPicAndTagDTO::getStoreProdId, v -> v)); + List retViewList = viewCountList.stream() + .filter(x -> prodInfoMap.containsKey(x.getStoreProdId())) + .map(x -> { + StoreProdPriceAndMainPicAndTagDTO prodInfo = prodInfoMap.get(x.getStoreProdId()); + return x.setStoreId(prodInfo.getStoreId()).setStoreProdId(x.getStoreProdId()).setStoreName(prodInfo.getStoreName()) + .setMainPicUrl(prodInfo.getMainPicUrl()).setProdArtNum(prodInfo.getProdArtNum()).setPrice(prodInfo.getMinPrice()); + }).collect(Collectors.toList()); + redisAppViewRank.setViewCountList(retViewList); // 放到redis中 redisCache.setCacheObject(CacheConstants.STORE_PROD_VIEW_COUNT_CACHE, redisAppViewRank, 1, TimeUnit.DAYS); return redisAppViewRank; diff --git a/xkt/src/main/resources/mapper/StoreProductStatisticsMapper.xml b/xkt/src/main/resources/mapper/StoreProductStatisticsMapper.xml index 37771a9df..5b778ee08 100644 --- a/xkt/src/main/resources/mapper/StoreProductStatisticsMapper.xml +++ b/xkt/src/main/resources/mapper/StoreProductStatisticsMapper.xml @@ -60,25 +60,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"