Improve effiency of OrderCycle.earliest_closing_times

This commit is contained in:
Joseph Johansen
2024-08-06 15:30:21 +01:00
parent d54dbdfe2d
commit a2f4df191a
2 changed files with 3 additions and 4 deletions

View File

@@ -154,9 +154,8 @@ class OrderCycle < ApplicationRecord
joins(:order_cycle).
merge(OrderCycle.active).
group('exchanges.receiver_id').
select("exchanges.receiver_id AS receiver_id,
MIN(order_cycles.orders_close_at) AS earliest_close_at").
map { |ex| [ex.receiver_id, ex.earliest_close_at.to_time] }
pluck(Arel.sql("exchanges.receiver_id AS receiver_id"),
Arel.sql("MIN(order_cycles.orders_close_at) AS earliest_close_at"))
]
end

View File

@@ -7,7 +7,7 @@ module Api
attributes :orders_close_at, :active
def orders_close_at
options[:data].earliest_closing_times[object.id]
options[:data].earliest_closing_times[object.id]&.to_time
end
def active