Class: Order::SendExpressHoldAlerts

Inherits:
BaseService show all
Defined in:
app/services/order/send_express_hold_alerts.rb

Overview

Service object: send express hold alerts.

For every sales order in CR hold with an express shipping method, sends the
escalating warehouse-cutoff alert (2h "IMPORTANT", 30min "URGENT") — each at
most once per store-local day, so an order held across days re-alerts daily.
Driven every few minutes by ExpressHoldAlertWorker; the per-order timing gate
lives in ExpressHoldAlerting#express_hold_urgency.

Instance Attribute Summary

Attributes inherited from BaseService

#options

Instance Method Summary collapse

Methods inherited from BaseService

#initialize, #log_debug, #log_error, #log_info, #log_warning, #logger, #tagged_logger

Constructor Details

This class inherits a constructor from BaseService

Instance Method Details

#processObject



11
12
13
14
15
16
17
18
19
# File 'app/services/order/send_express_hold_alerts.rb', line 11

def process
  Order.express_hold_candidates.includes(:customer).find_each do |order|
    case order.express_hold_urgency
    when :warning  then deliver(order, :warning, :express_hold_warned_at)
    when :critical then deliver(order, :urgent, :express_hold_urgent_at)
    end
  end
  true
end