‘linchangsheng’ 4 週間 前
コミット
92ea942a84

+ 13 - 5
src/main/java/com/gree/mall/miniapp/logic/order/OrderLogic.java

@@ -145,6 +145,9 @@ public class OrderLogic {
     @Autowired
     GoodsApplyItemService goodsApplyItemService;
 
+    @Autowired
+    GoodsSpecService goodsSpecService;
+
 
 
     /**
@@ -1172,9 +1175,11 @@ public class OrderLogic {
             if (goodsSpec.getStockNum() < num) {
                 throw new RemoteServiceException(1100, goodsName + "库存不足");
             }
-            goodsSpec.setStockNum(goodsSpec.getStockNum() - num);
-            goodsSpec.setSoldNum(goodsSpec.getSoldNum() + num);
-            goodsSpec.updateById();
+
+            goodsSpecService.lambdaUpdate()
+                    .eq(GoodsSpec::getGoodsSpecId,goodsSpec.getGoodsSpecId())
+                    .set(GoodsSpec::getStockNum,goodsSpec.getStockNum() - num)
+                    .set(GoodsSpec::getSoldNum,goodsSpec.getSoldNum() + num).update();
 
             return goodsSpec;
         } finally {
@@ -1193,8 +1198,11 @@ public class OrderLogic {
                 return;
             }
             GoodsSpec goodsSpec = goodsLogic.getGoodsSpecById(goodsSpecId);
-            goodsSpec.setStockNum(goodsSpec.getStockNum() + num);
-            goodsSpec.updateById();
+
+            goodsSpecService.lambdaUpdate()
+                    .eq(GoodsSpec::getGoodsSpecId,goodsSpec.getGoodsSpecId())
+                    .set(GoodsSpec::getStockNum,goodsSpec.getStockNum() + num)
+                    .update();
         } catch (Exception e) {
             log.info("还原库存失败goodsSpecId:" + goodsSpecId, e);
         } finally {