2016-03-23 18:39:41 +01:00
|
|
|
class SubscriptionExpireWorker
|
|
|
|
include Sidekiq::Worker
|
|
|
|
|
|
|
|
def perform(expire_in)
|
2019-12-02 11:57:25 +01:00
|
|
|
Subscription.where('expiration_date >= ?', DateTime.current.at_beginning_of_day).each do |s|
|
|
|
|
if (s.expired_at - expire_in.days).to_date == DateTime.current.to_date
|
2016-03-23 18:39:41 +01:00
|
|
|
if expire_in != 0
|
|
|
|
NotificationCenter.call type: 'notify_member_subscription_will_expire_in_7_days',
|
|
|
|
receiver: s.user,
|
|
|
|
attached_object: s
|
|
|
|
NotificationCenter.call type: 'notify_admin_subscription_will_expire_in_7_days',
|
2020-04-29 15:34:30 +02:00
|
|
|
receiver: User.admins_and_managers,
|
2016-03-23 18:39:41 +01:00
|
|
|
attached_object: s
|
|
|
|
else
|
|
|
|
NotificationCenter.call type: 'notify_member_subscription_is_expired',
|
|
|
|
receiver: s.user,
|
|
|
|
attached_object: s
|
|
|
|
NotificationCenter.call type: 'notify_admin_subscription_is_expired',
|
2020-04-29 15:34:30 +02:00
|
|
|
receiver: User.admins_and_managers,
|
2016-03-23 18:39:41 +01:00
|
|
|
attached_object: s
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|