mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-11 23:17:48 +00:00
refactor responsibilities and order of operations
This commit is contained in:
@@ -3,7 +3,6 @@ require 'order_management/subscriptions/summarizer'
|
||||
class SubscriptionPlacementJob < ActiveJob::Base
|
||||
def perform
|
||||
ids = proxy_orders.pluck(:id)
|
||||
proxy_orders.update_all(placed_at: Time.zone.now)
|
||||
ProxyOrder.where(id: ids).each do |proxy_order|
|
||||
place_order_for(proxy_order)
|
||||
end
|
||||
@@ -30,13 +29,15 @@ class SubscriptionPlacementJob < ActiveJob::Base
|
||||
def place_order_for(proxy_order)
|
||||
JobLogger.logger.info("Placing Order for Proxy Order #{proxy_order.id}")
|
||||
initialise_order(proxy_order)
|
||||
return record_subscription_issue(proxy_order.subscription) if proxy_order.order.nil?
|
||||
return unless proxy_order.order.present?
|
||||
|
||||
proxy_order.update_column(:placed_at, Time.now)
|
||||
place_order(proxy_order.order)
|
||||
end
|
||||
|
||||
def initialise_order(proxy_order)
|
||||
proxy_order.initialise_order!
|
||||
record_subscription_issue(proxy_order.subscription) if proxy_order.order.nil?
|
||||
rescue StandardError => e
|
||||
Bugsnag.notify(e, subscription: proxy_order.subscription, proxy_order: proxy_order)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user