From f51fcece8e7fc35cce090503acc02d5349f398c1 Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Tue, 25 Jun 2024 09:25:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=BA=93=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 --- .../TbProductStockOperateServiceImpl.java | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockOperateServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockOperateServiceImpl.java index 1509fd67..373ad303 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockOperateServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockOperateServiceImpl.java @@ -1,6 +1,8 @@ package cn.ysk.cashier.service.impl.productimpl; +import cn.ysk.cashier.pojo.product.TbProduct; import cn.ysk.cashier.pojo.shop.TbShopPurveyor; +import cn.ysk.cashier.repository.product.TbProductRepository; import cn.ysk.cashier.repository.shop.TbShopPurveyorRepository; import cn.ysk.cashier.utils.*; import com.alibaba.fastjson.JSON; @@ -60,6 +62,7 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe private final EntityManager entityManager; private final RedisUtils redisUtils; + private final TbProductRepository tbProductRepository; @Override @@ -205,12 +208,20 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe continue; } TbProductSku tbProductSku = tbProductSkuRepository.findById(productListDto.getId()).orElseGet(TbProductSku::new); + + TbProduct product = tbProductRepository.findById(Integer.valueOf(productListDto.getProductId())).orElseGet(TbProduct::new); + if (product.getId() == null) { + throw new BadRequestException("商品有误"); + } + + boolean isDistribute = product.getIsDistribute() == 1; + TbProductStockDetail productStockDetail = new TbProductStockDetail(); productStockDetail.setBatchNumber(resources.getBatchNumber()); productStockDetail.setCreatedAt(times); productStockDetail.setUpdatedAt(times); productStockDetail.setIsStock(1); - Integer round = (int) Math.floor(tbProductSku.getStockNumber()); + Integer round = (int) Math.floor(isDistribute ? product.getStockNumber() : tbProductSku.getStockNumber()); productStockDetail.setLeftNumber(round); productStockDetail.setProductId(productListDto.getProductId()); productStockDetail.setProductName(productListDto.getName()); @@ -251,9 +262,14 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe productStockDetail.setType(resources.getType()); productStockDetail.setUnitName(productListDto.getUnitName()); entityManager.persist(productStockDetail); - //sku数量 - tbProductSku.setStockNumber(tbProductSku.getStockNumber() + productStockDetail.getStockNumber()); - productSkuService.update(tbProductSku); + if (isDistribute) { + product.setStockNumber(product.getStockNumber() + productStockDetail.getStockNumber().intValue()); + tbProductRepository.save(product); + } else { + //sku数量 + tbProductSku.setStockNumber(tbProductSku.getStockNumber() + productStockDetail.getStockNumber()); + productSkuService.update(tbProductSku); + } idStockMap.put(productListDto.getId(), productStockDetail.getStockNumber()); } redisUtils.redisUp(2, resources.getShopId(), idStockMap); @@ -316,4 +332,4 @@ public class TbProductStockOperateServiceImpl implements TbProductStockOperateSe } FileUtil.downloadExcel(list, response); } -} \ No newline at end of file +}