|
@@ -494,7 +494,23 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|
|
//解除订单商品库存锁定
|
|
|
if (!CollectionUtils.isEmpty(orderItemList)) {
|
|
|
portalOrderDao.releaseSkuStockLock(orderItemList);
|
|
|
- portalOrderDao.releaseProductStockLock(orderItemList);
|
|
|
+ Map<Long, List<OmsOrderItem>> collect = orderItemList
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.groupingBy(OmsOrderItem::getProductId));
|
|
|
+ List<ProductStock> productStockList = new ArrayList<>();
|
|
|
+ for (Map.Entry<Long, List<OmsOrderItem>> entry : collect.entrySet()) {
|
|
|
+ ProductStock stock = new ProductStock();
|
|
|
+ stock.setProductId(entry.getKey());
|
|
|
+ List<OmsOrderItem> value = entry.getValue();
|
|
|
+ if (CollectionUtils.isEmpty(value)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ int sum = value.stream().mapToInt(OmsOrderItem::getProductQuantity).sum();
|
|
|
+ stock.setStock(sum);
|
|
|
+ productStockList.add(stock);
|
|
|
+ }
|
|
|
+
|
|
|
+ portalOrderDao.releaseProductStockLock(productStockList);
|
|
|
}
|
|
|
//修改优惠券使用状态
|
|
|
// updateCouponStatus(cancelOrder.getCouponId(), cancelOrder.getMemberId(), 0);
|