From 907895ee8f627e11d4fd1d51af2df4e1609692bc Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Wed, 27 Aug 2025 16:16:00 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E8=8E=B7=E5=8F=96=E5=8D=95?= =?UTF-8?q?=E4=B8=AA=E5=95=86=E5=93=81=E5=BA=93=E5=AD=98=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E8=B0=83=E4=BC=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/StoreProductStockServiceImpl.java | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStockServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStockServiceImpl.java index 99b41fded..2631b77bf 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStockServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStockServiceImpl.java @@ -10,9 +10,7 @@ import com.ruoyi.common.core.page.Page; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.xkt.domain.StoreProductColorSize; -import com.ruoyi.xkt.domain.StoreProductFile; import com.ruoyi.xkt.domain.StoreProductStock; -import com.ruoyi.xkt.domain.SysFile; import com.ruoyi.xkt.dto.storeProductFile.StoreProdMainPicDTO; import com.ruoyi.xkt.dto.storeProductStock.*; import com.ruoyi.xkt.enums.FileType; @@ -408,18 +406,27 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService { .eq(StoreProductStock::getId, storeProdStockId).eq(StoreProductStock::getStoreId, storeId) .eq(StoreProductStock::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口商品库存不存在!", HttpStatus.ERROR)); - // 档口商品第一张主图 - StoreProductFile mainPic = Optional.ofNullable(this.storeProdFileMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreProductFile::getStoreProdId, stock.getStoreProdId()).eq(StoreProductFile::getStoreId, storeId) - .eq(StoreProductFile::getDelFlag, Constants.UNDELETED).eq(StoreProductFile::getFileType, FileType.MAIN_PIC.getValue()) - .eq(StoreProductFile::getOrderNum, ORDER_NUM_1))) - .orElseThrow(() -> new ServiceException("商品主图不存在!", HttpStatus.ERROR)); - // 图片 - SysFile file = Optional.ofNullable(this.fileMapper.selectOne(new LambdaQueryWrapper() - .eq(SysFile::getId, mainPic.getFileId()).eq(SysFile::getDelFlag, Constants.UNDELETED))) - .orElseThrow(() -> new ServiceException("商品主图不存在!", HttpStatus.ERROR)); - return BeanUtil.toBean(stock, StoreProdStockResDTO.class) - .setStoreProdStockId(stock.getId()).setMainPicUrl(file.getFileUrl()); + // 商品第一张主图 + List mainPicList = this.storeProdFileMapper + .selectMainPicByStoreProdIdList(Collections.singletonList(stock.getStoreProdId()), FileType.MAIN_PIC.getValue(), ORDER_NUM_1); + Map mainPicMap = CollectionUtils.isEmpty(mainPicList) ? new HashMap<>() : mainPicList.stream() + .collect(Collectors.toMap(StoreProdMainPicDTO::getStoreProdId, StoreProdMainPicDTO::getFileUrl)); + final Integer totalStock = ObjectUtils.defaultIfNull(stock.getSize30(), 0) + + ObjectUtils.defaultIfNull(stock.getSize31(), 0) + + ObjectUtils.defaultIfNull(stock.getSize32(), 0) + + ObjectUtils.defaultIfNull(stock.getSize33(), 0) + + ObjectUtils.defaultIfNull(stock.getSize34(), 0) + + ObjectUtils.defaultIfNull(stock.getSize35(), 0) + + ObjectUtils.defaultIfNull(stock.getSize36(), 0) + + ObjectUtils.defaultIfNull(stock.getSize37(), 0) + + ObjectUtils.defaultIfNull(stock.getSize38(), 0) + + ObjectUtils.defaultIfNull(stock.getSize39(), 0) + + ObjectUtils.defaultIfNull(stock.getSize40(), 0) + + ObjectUtils.defaultIfNull(stock.getSize41(), 0) + + ObjectUtils.defaultIfNull(stock.getSize42(), 0) + + ObjectUtils.defaultIfNull(stock.getSize43(), 0); + return BeanUtil.toBean(stock, StoreProdStockResDTO.class).setTotalStock(totalStock) + .setStoreProdStockId(stock.getId()).setMainPicUrl(mainPicMap.get(stock.getStoreProdId())); } /**