This commit is contained in:
@@ -366,10 +366,17 @@ public class OrderServiceImpl implements OrderService {
|
||||
// 重新计算金额
|
||||
BigDecimal totalAmount = BigDecimal.ZERO;
|
||||
|
||||
// 删除旧的订单明细前,先恢复库存
|
||||
List<OrderItem> oldItems = orderItemMapper.selectList(new LambdaQueryWrapper<OrderItem>()
|
||||
.eq(OrderItem::getOrderId, orderId));
|
||||
for (OrderItem oldItem : oldItems) {
|
||||
increaseStock(oldItem.getProductId(), oldItem.getQuantity(), orderId, operatorId);
|
||||
}
|
||||
|
||||
// 删除旧的订单明细
|
||||
orderItemMapper.delete(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderId, orderId));
|
||||
|
||||
// 重新创建订单明细
|
||||
// 重新创建订单明细,并扣减库存
|
||||
List<OrderItem> orderItems = new ArrayList<>();
|
||||
for (CreateOrderRequest.OrderItemDTO itemDTO : request.getItems()) {
|
||||
Product product = productMapper.selectById(itemDTO.getProductId());
|
||||
@@ -403,6 +410,8 @@ public class OrderServiceImpl implements OrderService {
|
||||
item.setSubtotal(subtotal);
|
||||
orderItems.add(item);
|
||||
orderItemMapper.insert(item);
|
||||
// 扣减库存
|
||||
decreaseStock(product.getProductId(), itemDTO.getQuantity(), orderId, operatorId);
|
||||
}
|
||||
|
||||
order.setTotalAmount(totalAmount);
|
||||
|
||||
Reference in New Issue
Block a user