Advertisement
Guest User

Untitled

a guest
Aug 29th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. from django.utils import timezone
  2. from datetime import timedelta
  3. from beautycall.apps.notifications.utils import (send_apple_push_notification,
  4. send_android_push_notification)
  5. from beautycall.apps.bookings.models import Booking
  6. from beautycall.apps.users.models import User
  7.  
  8. # User sudah pernah booking tapi sudah 1 bulan tidak booking
  9. end_date = timezone.localtime(timezone.now())
  10. start_date = end_date - timedelta(days=30)
  11.  
  12. user_ids_by_all_bookings = Booking.objects.exclude(status=Booking.STATUS.canceled) \
  13. .values_list("user", flat=True)
  14.  
  15. user_ids_by_last_30_days_bookings = user_ids_by_all_bookings \
  16. .filter(created__range=[start_date, end_date])
  17.  
  18. user_ids = set(user_ids_by_all_bookings) - set(user_ids_by_last_30_days_bookings)
  19.  
  20. users = User.objects.exclude(notification_settings=None) \
  21. .exclude(notification_settings__device_id='', notification_settings__gcm_key='')\
  22. .filter(id__in=user_ids).exclude(type=User.TYPE.partner)
  23.  
  24. title = "Promo 17 Agustus"
  25. content = "Voucher spesial 75ribu. Gunakan kode MERDEKA75. Hanya 3 hari."
  26.  
  27. for user in users:
  28. if user.notification_settings.gcm_key:
  29. send_android_push_notification(user, title, content, async=False)
  30. else:
  31. send_apple_push_notification(user, content)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement