diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/PicPackSimpleVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/PicPackSimpleVO.java index d69aee571..127fdc9b5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/PicPackSimpleVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/PicPackSimpleVO.java @@ -28,4 +28,9 @@ public class PicPackSimpleVO { */ @ApiModelProperty(value = "文件大小(M)") private BigDecimal fileSize; + /** + * 文件类型(1主图、2视频、3下载) + */ + @ApiModelProperty(value = "文件类型[3:商品下载图片包 4:商品下载图片包450px 5:商品下载图片包750px]") + private Integer fileType; } diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/PicPackSimpleDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/PicPackSimpleDTO.java index dc753bfd7..be9950eda 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/PicPackSimpleDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/PicPackSimpleDTO.java @@ -22,4 +22,8 @@ public class PicPackSimpleDTO { * 文件大小(M) */ private BigDecimal fileSize; + /** + * 文件类型(1主图、2视频、3下载) + */ + private Integer fileType; } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java index 41b70f44a..64a6121d2 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java @@ -617,25 +617,27 @@ public class StoreProductServiceImpl implements IStoreProductService { @Override public List prepareGetPicPackDownloadUrl(Long storeProductId) { Assert.notNull(storeProductId); - List fileIds = storeProdFileMapper.selectList(Wrappers.lambdaQuery(StoreProductFile.class) - .eq(StoreProductFile::getStoreProdId, storeProductId) - .in(StoreProductFile::getFileType, FileType.picPackValues()) - .eq(XktBaseEntity::getDelFlag, UNDELETED)) + List productFiles = storeProdFileMapper.selectList(Wrappers.lambdaQuery(StoreProductFile.class) + .eq(StoreProductFile::getStoreProdId, storeProductId) + .in(StoreProductFile::getFileType, FileType.picPackValues()) + .eq(XktBaseEntity::getDelFlag, UNDELETED)) .stream() - .map(StoreProductFile::getFileId) - .filter(Objects::nonNull) .collect(Collectors.toList()); - if (CollUtil.isEmpty(fileIds)) { + if (CollUtil.isEmpty(productFiles)) { return ListUtil.empty(); } // 商品下载量+1 redisCache.valueIncr(CacheConstants.PRODUCT_STATISTICS_DOWNLOAD_COUNT, storeProductId); - List files = fileMapper.selectByIds(fileIds); - return files.stream() - .filter(o -> UNDELETED.equals(o.getDelFlag())) + List fileIds = productFiles.stream().map(StoreProductFile::getFileId).collect(Collectors.toList()); + Map fileMaps = fileMapper.selectByIds(fileIds) + .stream() + .collect(Collectors.toMap(SysFile::getId, Function.identity())); + return productFiles.stream() .map(o -> { - PicPackSimpleDTO dto = BeanUtil.toBean(o, PicPackSimpleDTO.class); - dto.setFileId(o.getId()); + SysFile sysFile = fileMaps.get(o.getFileId()); + PicPackSimpleDTO dto = BeanUtil.toBean(sysFile, PicPackSimpleDTO.class); + dto.setFileId(sysFile.getId()); + dto.setFileType(o.getFileType()); return dto; }).collect(Collectors.toList()); }