Remove N+1 fetching order and li adjustments

This commit is contained in:
Pau Perez
2020-06-12 13:01:24 +02:00
committed by François Turbelin
parent b4952dcbfb
commit 00c9dd7ece

View File

@@ -20,10 +20,15 @@ class OrderTaxAdjustmentsFetcher
attr_reader :order
def all
order.adjustments.with_tax +
order.line_items.includes(:adjustments).map { |li|
li.adjustments.with_tax
}.flatten
Spree::Adjustment
.with_tax
.where(adjustable_id: order.id, adjustable_type: 'Spree::Order')
.order('created_at ASC') +
Spree::Adjustment
.with_tax
.where(adjustable_id: order.line_item_ids, adjustable_type: 'Spree::LineItem')
.order('created_at ASC')
end
def tax_rates_hash(adjustment)