From 063d5731f38ac8227f11bbbdfbcd2c673f8738a2 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Mon, 24 Jun 2024 15:25:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B1=E4=BA=AB=E5=BA=93=E5=AD=98=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/TbProductSkuRepository.java | 4 ++-- .../impl/productimpl/StockServiceImpl.java | 4 ++-- .../impl/productimpl/TbProductServiceImpl.java | 16 ++++++++++------ .../main/java/cn/ysk/cashier/vo/StockV2Vo.java | 8 +++++--- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/product/TbProductSkuRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/product/TbProductSkuRepository.java index d9820c82..be2a0255 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/product/TbProductSkuRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/product/TbProductSkuRepository.java @@ -54,7 +54,7 @@ public interface TbProductSkuRepository extends JpaRepository searchProStock(@Param("shopId") String shopId, @Param("proName") String proName, @Param("isStock")Integer isStock,@Param("num")Double num, Pageable pageable); @Query("SELECT new cn.ysk.cashier.vo.StockV2Vo(" + - "sku.id,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " + + "0,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " + "CASE " + " WHEN pro.isDistribute = 1 THEN pro.stockNumber " + " ELSE SUM(sku.stockNumber) " + @@ -75,7 +75,7 @@ public interface TbProductSkuRepository extends JpaRepository searchProStockV2(@Param("shopId") String shopId, @Param("proName") String proName, @Param("isStock")Integer isStock, Pageable pageable); @Query("SELECT new cn.ysk.cashier.vo.StockV2Vo(" + - "sku.id,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " + + "sku.id,0,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " + "CASE " + " WHEN pro.isDistribute = 1 THEN pro.stockNumber " + " ELSE SUM(sku.stockNumber) " + diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/StockServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/StockServiceImpl.java index 2281ce27..c96a0fee 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/StockServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/StockServiceImpl.java @@ -248,11 +248,11 @@ public class StockServiceImpl implements StockService { Map idStockMap = new HashMap<>(); for (StockV2Vo stockVo : list) { if (stockVo.getProId() == 0) { - tbProductSkuRepository.updateStockNumber2(stockVo.getId(), shopId, Double.parseDouble(stockVo.getNumber().toString())); + tbProductSkuRepository.updateStockNumber2(stockVo.getSkuId(), shopId, Double.parseDouble(stockVo.getNumber().toString())); } else { productService.updateStockNumber(stockVo.getProId(), Double.parseDouble(stockVo.getNumber().toString())); } - idStockMap.put(stockVo.getId(), Double.parseDouble(stockVo.getNumber().toString())); + idStockMap.put(stockVo.getSkuId(), Double.parseDouble(stockVo.getNumber().toString())); } redisUtils.redisUp(2, shopId, idStockMap); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java index 646429f4..6dbaf19a 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java @@ -126,12 +126,16 @@ public class TbProductServiceImpl implements TbProductService { List skuList = new ArrayList<>(); TbProductVo tbProductVo = new TbProductVo(); //sku,并且计算销量以及库存 - Double stockNumber = 0.00; - for (TbProductSku sku : tbProductSkus) { - //sku - if (sku.getProductId().equals(product.getId().toString())) { - skuList.add(sku); - stockNumber = stockNumber + sku.getStockNumber(); + double stockNumber = 0.00; + if (product.getIsDistribute() == 1) { + stockNumber = Double.valueOf(product.getStockNumber()); + } else { + for (TbProductSku sku : tbProductSkus) { + //sku + if (sku.getProductId().equals(product.getId().toString())) { + skuList.add(sku); + stockNumber = stockNumber + sku.getStockNumber(); + } } } tbProductVo.setStockNumber(stockNumber); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/StockV2Vo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/StockV2Vo.java index c52ac8d9..28b3bf45 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/StockV2Vo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/StockV2Vo.java @@ -9,7 +9,8 @@ import java.util.List; */ @Data public class StockV2Vo { - private Integer id; + private String id; + private Integer skuId; private Integer proId; private String img; private String name; @@ -24,7 +25,7 @@ public class StockV2Vo { public StockV2Vo(Integer proId, Integer skuId, String name, String unitName,String specSnap, Object number,Object stockNumber, Integer isDistribute) { this.proId = proId; - this.id = skuId; + this.skuId = skuId; this.name = name; this.unitName = unitName; this.specSnap = specSnap; @@ -35,7 +36,8 @@ public class StockV2Vo { public StockV2Vo(Integer id, Integer proId,String img,String name,String unitName, String type, String specSnap, Object isStock, Object number, Integer isDistribute, Integer isPauseSale) { - this.id = id; + this.id = id.toString() + "-" + proId.toString(); + this.skuId = id; this.proId = proId; this.img = img; this.name = name;