Class: ScheduleWorkers::Partner::CheckPackageExpiryDate

Inherits:
ApplicationWorker show all
Includes:
RollbarSynTokenSetterWorker
Defined in:
app/workers/schedule_workers/partner/check_package_expiry_date.rb

Instance Method Summary collapse

Methods inherited from ApplicationWorker

unlimited_retry

Instance Method Details

#performObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/workers/schedule_workers/partner/check_package_expiry_date.rb', line 9

def perform
  current_date = Time.zone.today
  trigger_days = [30, 7, 0].map{ |day| current_date + day }
  restaurant_packages = HhPackage::RestaurantPackage.where(active: true, deleted_at: nil)
                                                    .where('end_date IN (?)', trigger_days)
  restaurant_packages.find_each do |rp|
    if rp.end_date.today?
      message_en = "Package ##{rp.package.id} has already expired"
      message_th = "แพ็กเกจ ##{rp.package.id} หมดอายุแล้ว"
    else
      day_left = (rp.end_date - current_date).to_i
      message_en = "Package ##{rp.package.id} will expire in #{day_left} days"
      message_th = "แพ็กเกจ ##{rp.package.id} จะหมดอายุใน #{day_left} วัน"
    end

    TransactionNotif.create(
      restaurant: rp.restaurant,
      model: rp,
      message_en: message_en,
      message_th: message_th,
      notif_type: :package
    )
  end
end