def get_customers_to_send_reminder(*args, **kwargs): from gladminds.sqs_tasks import send_reminder_message day = kwargs.get('reminder_day', None) brand= kwargs.get('brand', None) today_date = datetime.now().date() reminder_date = datetime.now().date()+timedelta(days=day) results = get_model("CouponData", brand).objects.select_for_update().filter(mark_expired_on__range=(today_date, reminder_date), last_reminder_date__isnull=True, status=1).select_related('vin', 'customer_phone_number__phone_number') for reminder in results: product = reminder.vin phone_number = product.customer_phone_number.phone_number usc = reminder.unique_service_coupon vin = product.vin expired_date = reminder.mark_expired_on.strftime('%d/%m/%Y') valid_kms = reminder.valid_kms message = templates.get_template('SEND_CUSTOMER_COUPON_REMINDER').format(usc=usc, vin=vin, expired_date=expired_date, valid_kms=valid_kms) send_reminder_message.delay(phone_number=phone_number, message=message) sms_log(settings.BRAND, receiver=phone_number, action=AUDIT_ACTION, message=message) reminder.last_reminder_date = datetime.now() reminder.save() user = get_model("UserProfile", brand).objects.filter(phone_number=phone_number) notification = afterbuy_models.UserNotification(user=user[0],message=message, notification_date=datetime.now(), notification_read=0) notification.save() transaction.commit()
def get_customers_to_send_reminder_by_admin(*args, **kwargs): from gladminds.sqs_tasks import send_reminder_message today = datetime.now().date() brand= kwargs.get('brand', None) results = get_model("CouponData", brand).objects.filter(schedule_reminder_date__day=today.day, schedule_reminder_date__month=today.month, schedule_reminder_date__year=today.year, status=1).select_related('product_id', 'customer_phone_number') for reminder in results: product_obj = reminder.product phone_number = product_obj.customer_phone_number usc = reminder.unique_service_coupon vin = product_obj.product_id expired_date = reminder.mark_expired_on.strftime('%d/%m/%Y') valid_kms = reminder.valid_kms message = templates.get_template('SEND_CUSTOMER_COUPON_REMINDER').format(usc=usc, vin=vin, expired_date=expired_date, valid_kms=valid_kms) send_reminder_message.delay(phone_number=phone_number, message=message) sms_log(settings.BRAND, receiver=phone_number, action=AUDIT_ACTION, message=message) reminder.last_reminder_date = datetime.now() reminder.schedule_reminder_date = None reminder.save() transaction.commit()