From 27ecbd68a68f55ac64c2adc75598f8575bce80a7 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Mon, 6 Oct 2025 14:13:20 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9Apc=E5=95=86=E5=9F=8E=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E5=B9=BF=E5=91=8ABUG=E4=BF=AE=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/xkt/vo/storeProd/StoreProdVO.java | 3 +-- .../service/impl/StoreHomepageServiceImpl.java | 15 +++++++++++++++ .../xkt/service/impl/WebsitePCServiceImpl.java | 12 ++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdVO.java index 288a34a3c..1b396e33a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdVO.java @@ -46,10 +46,9 @@ public class StoreProdVO { @Size(min = 0, max = 60, message = "商品标题不能超过60个字!") @NotBlank(message = "商品标题不能为空!") private String prodTitle; - + @NotNull(message = "是否私款不能为空!") @ApiModelProperty(value = "0 否 1 是", required = true) private Integer privateItem; - @ApiModelProperty(value = "商品重量") private BigDecimal prodWeight; @ApiModelProperty(value = "生产价格") diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreHomepageServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreHomepageServiceImpl.java index 09d745fe2..0bedad2fa 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreHomepageServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreHomepageServiceImpl.java @@ -169,9 +169,24 @@ public class StoreHomepageServiceImpl implements IStoreHomepageService { if (CollectionUtils.isEmpty(recommendList)) { final Date yesterday = java.sql.Date.valueOf(LocalDate.now().minusDays(1)); final Date fiveDaysAgo = java.sql.Date.valueOf(LocalDate.now().minusDays(6)); + + + // TODO 推荐商品逻辑修改,要确保档口从一入驻,整个档口首页就能正常显示数据 + // TODO 推荐商品逻辑修改,要确保档口从一入驻,整个档口首页就能正常显示数据 + // TODO 推荐商品逻辑修改,要确保档口从一入驻,整个档口首页就能正常显示数据 + // TODO 推荐商品逻辑修改,要确保档口从一入驻,整个档口首页就能正常显示数据 + // TODO 推荐商品逻辑修改,要确保档口从一入驻,整个档口首页就能正常显示数据 + // TODO 推荐商品逻辑修改,要确保档口从一入驻,整个档口首页就能正常显示数据 + + // 如果档口未设置推荐商品,则筛选销量最好的10条商品 List dailySaleTop10ProdList = this.dailySaleProdMapper.selectStoreDefaultRecommendList(storeId, fiveDaysAgo, yesterday); return CollectionUtils.isEmpty(dailySaleTop10ProdList) ? Collections.emptyList() : this.getDefaultRecommendList(storeId, dailySaleTop10ProdList); + + + + + } // 商品价格、主图、标签等 List attrList = this.storeProdMapper.selectPriceAndMainPicAndTagList(recommendList.stream() 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 90435164e..a8f071109 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 @@ -526,6 +526,9 @@ public class WebsitePCServiceImpl implements IWebsitePCService { } // 获取近一月 档口首页PC 顶部左侧轮播图推广数据 List oneMonthList = this.getOneMonthAdvertList(Collections.singletonList(AdType.PC_HOME_TOP_LEFT_BANNER.getValue())); + if (CollectionUtils.isEmpty(oneMonthList)) { + return Collections.emptyList(); + } Map fileMap = fileMapper.selectList(new LambdaQueryWrapper().eq(SysFile::getDelFlag, Constants.UNDELETED) .in(SysFile::getId, oneMonthList.stream().map(AdvertRound::getPicId).filter(ObjectUtils::isNotEmpty).collect(Collectors.toList()))) .stream().collect(Collectors.toMap(SysFile::getId, Function.identity())); @@ -576,6 +579,9 @@ public class WebsitePCServiceImpl implements IWebsitePCService { return topRightBannerList; } List oneMonthList = this.getOneMonthAdvertList(Collections.singletonList(AdType.PC_HOME_TOP_RIGHT_BANNER.getValue())); + if (CollectionUtils.isEmpty(oneMonthList)) { + return Collections.emptyList(); + } List mainPicList = this.prodFileMapper.selectMainPic(oneMonthList.stream().map(AdvertRound::getProdIdStr).distinct().collect(Collectors.toList())); Map mainPicMap = mainPicList.stream().collect(Collectors.toMap(StoreProdFileResDTO::getStoreProdId, StoreProdFileResDTO::getFileUrl, (v1, v2) -> v2)); List launchingList = oneMonthList.stream().filter(x -> Objects.equals(x.getLaunchStatus(), AdLaunchStatus.LAUNCHING.getValue())) @@ -684,6 +690,9 @@ public class WebsitePCServiceImpl implements IWebsitePCService { return redisStyleList; } List oneMonthList = this.getOneMonthAdvertList(Collections.singletonList(AdType.PC_HOME_STYLE_RANK.getValue())); + if (CollectionUtils.isEmpty(oneMonthList)) { + return Collections.emptyList(); + } // 档口推广主图map List fileList = this.fileMapper.selectByIds(oneMonthList.stream().map(AdvertRound::getPicId) .filter(ObjectUtils::isNotEmpty).collect(Collectors.toList())); @@ -1246,6 +1255,9 @@ public class WebsitePCServiceImpl implements IWebsitePCService { return redisList; } List oneMonthList = this.getOneMonthAdvertList(Collections.singletonList(AdType.PC_NEW_PROD_SINGLE_BANNER.getValue())); + if (CollectionUtils.isEmpty(oneMonthList)) { + return Collections.emptyList(); + } 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());