From e0be773f58b404719b532528202675359c8eb157 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 13 Sep 2022 16:21:40 +0800
Subject: [PATCH] 20220902

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index b553009..c803616 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -161,9 +161,12 @@
                         throw new FebsException(mallGoods.getGoodsName() + "已下架");
                     }
 
-                    mallGoods.setStock(mallGoods.getStock() - item.getCnt());
-                    mallGoods.setVolume(mallGoods.getVolume() + item.getCnt());
-                    mallGoodsMapper.updateById(mallGoods);
+//                    mallGoods.setStock(mallGoods.getStock() - item.getCnt());
+//                    mallGoods.setVolume(mallGoods.getVolume() + item.getCnt());
+                    Integer goodsResult = mallGoodsMapper.upDateStockAndVolumeByGoodsId(mallGoods.getId(), item.getCnt());
+                    if(1 != goodsResult){
+                        throw new FebsException(mallGoods.getGoodsName() + "库存不足");
+                    }
 
                     BigDecimal amount = sku.getPresentPrice().multiply(BigDecimal.valueOf(item.getCnt()));
                     orderItem.setAmount(amount);
@@ -183,10 +186,13 @@
                     total = total.add(amount);
                     carriage = carriage.add(mallGoods.getCarriage());
 
-                    sku.setStock(sku.getStock() - item.getCnt());
-                    sku.setSkuVolume(sku.getSkuVolume() + item.getCnt());
-                    mallGoodsSkuMapper.updateById(sku);
-
+//                    sku.setStock(sku.getStock() - item.getCnt());
+//                    sku.setSkuVolume(sku.getSkuVolume() + item.getCnt());
+//                    mallGoodsSkuMapper.updateById(sku);
+                    Integer skuResult = mallGoodsSkuMapper.upDateStockAndVolumeBySkuId(sku.getId(),item.getCnt());
+                    if(1 != skuResult){
+                        throw new FebsException(sku.getSkuName() + "库存不足");
+                    }
                     if (addOrderDto.getType() == 1) {
                         mallShoppingCartMapper.delBySkuId(sku.getId(), member.getId());
                     }

--
Gitblit v1.9.1