コード例 #1
0
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()
コード例 #2
0
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()