diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java index 0ffe2ba..f566d53 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductMapper.java @@ -48,4 +48,7 @@ public interface TbProductMapper { @Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0") int decrStock(String id, int num); + + @Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id}") + int decrStockUnCheck(String id, int num); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java index ec667d6..eadcfd0 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbProductSkuMapper.java @@ -46,4 +46,7 @@ public interface TbProductSkuMapper { @Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0") int decrStock(String id, int num); + + @Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} ") + int decrStockUnCheck(String id, int num); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java index 341562f..ca6c907 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java @@ -136,12 +136,20 @@ public class ProductService { public void decrStock(String productId, String skuId, int decrNum) { TbProductWithBLOBs product = tbProductMapper.selectByPrimaryKey(Integer.valueOf(productId)); if (product.getIsDistribute() == 1) { - if (tbProductMapper.decrStock(productId, decrNum) < 1) { - throw new MsgException("库存不足,下单失败"); + if (product.getIsStock() == 1) { + if (tbProductMapper.decrStock(productId, decrNum) < 1) { + throw new MsgException("库存不足,下单失败"); + } + }else { + tbProductMapper.decrStockUnCheck(productId, decrNum); } }else { - if (tbProductSkuMapper.decrStock(String.valueOf(skuId), decrNum) < 1) { - throw new MsgException("库存不足,下单失败"); + if (product.getIsStock() == 1) { + if (tbProductSkuMapper.decrStock(String.valueOf(skuId), decrNum) < 1) { + throw new MsgException("库存不足,下单失败"); + } + }else { + tbProductSkuMapper.decrStockUnCheck(String.valueOf(skuId), decrNum); } } }