Prechádzať zdrojové kódy

取消订单恢复库存

赵冬冬 4 rokov pred
rodič
commit
5d25f52f5f

+ 25 - 0
forest-portal/portal-server/src/main/java/com/hwrj/cloud/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -342,6 +342,9 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             if (!CollectionUtils.isEmpty(orderItemList)) {
                 portalOrderDao.releaseSkuStockLock(orderItemList);
             }
+            //恢复库存
+            updteProductStock(cancelOrder.getId());
+
             //修改优惠券使用状态
             couponService.updateCouponStatus(cancelOrder.getCouponId(), cancelOrder.getMemberId(), 0);
             //返还使用积分
@@ -469,6 +472,28 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
         }
     }
 
+    private void updteProductStock(Long orderId) {
+        OmsOrderItemExample example = new OmsOrderItemExample();
+        example.createCriteria().andOrderIdEqualTo(orderId);
+        List<OmsOrderItem> omsOrderItems = orderItemMapper.selectByExample(example);
+        for (OmsOrderItem omsOrderItem : omsOrderItems) {
+            //商品id
+            Long productId = omsOrderItem.getProductId();
+            //销量
+            Integer productQuantity = omsOrderItem.getProductQuantity();
+            PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(productId);
+            Integer sale = pmsProduct.getSale();
+            //等于空
+            if (StringUtils.isEmpty(sale)) {
+                pmsProduct.setSale(productQuantity);
+            } else {
+                Integer sum = sale + productQuantity;
+                pmsProduct.setSale(sum);
+            }
+            pmsProductMapper.updateByPrimaryKeySelective(pmsProduct);
+        }
+    }
+
 //    public void merge(List<OmsOrderItem> list) {
 //        List<OmsOrderItem> result = list.stream()
 //                // 表示id为key, 接着如果有重复的,那么从BillsNums对象o1与o2中筛选出一个,这里选择o1,