Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.utils import timezone
- from datetime import timedelta
- from beautycall.apps.notifications.utils import (send_apple_push_notification,
- send_android_push_notification)
- from beautycall.apps.bookings.models import Booking
- from beautycall.apps.users.models import User
- # User sudah pernah booking tapi sudah 1 bulan tidak booking
- end_date = timezone.localtime(timezone.now())
- start_date = end_date - timedelta(days=30)
- user_ids_by_all_bookings = Booking.objects.exclude(status=Booking.STATUS.canceled) \
- .values_list("user", flat=True)
- user_ids_by_last_30_days_bookings = user_ids_by_all_bookings \
- .filter(created__range=[start_date, end_date])
- user_ids = set(user_ids_by_all_bookings) - set(user_ids_by_last_30_days_bookings)
- users = User.objects.exclude(notification_settings=None) \
- .exclude(notification_settings__device_id='', notification_settings__gcm_key='')\
- .filter(id__in=user_ids).exclude(type=User.TYPE.partner)
- title = "Promo 17 Agustus"
- content = "Voucher spesial 75ribu. Gunakan kode MERDEKA75. Hanya 3 hari."
- for user in users:
- if user.notification_settings.gcm_key:
- send_android_push_notification(user, title, content, async=False)
- else:
- send_apple_push_notification(user, content)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement