From 9db3582b83b007eab4ae6646e3c83d0f8423e845 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 16 Apr 2018 15:04:06 +0300 Subject: [PATCH] finance logging --- finance/tasks.py | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/finance/tasks.py b/finance/tasks.py index a034701..b0f8889 100644 --- a/finance/tasks.py +++ b/finance/tasks.py @@ -2,11 +2,13 @@ import logging import os import requests +from dateutil.relativedelta import relativedelta from yandex_money.models import Payment from finance.models import InvoiceRebilling from lms import celery_app from django.conf import settings +from django.utils import timezone logger_yandex = logging.getLogger('yandex_money') @@ -15,19 +17,22 @@ logger_yandex = logging.getLogger('yandex_money') def periodic_billing(): logger_yandex.info("start periodic billing task") - # for invoice in InvoiceRebilling.objects.filter(method='Y').exclude(status='F'): - # - # user = invoice.bill.user - # yandex_pay = Payment.objects.create( - # order_amount=invoice.price, - # customer_number=user.id, - # user=user, - # cps_email=user.email - # ) - # invoice.yandex_pay = yandex_pay - # invoice.save() - # - # repeat_card_payment(invoice) + invoices = InvoiceRebilling.objects.filter(method='Y', rebilling_on=True).exclude(status='F') + + for invoice in invoices.filter( + expected_date__gt=timezone.now(), expected_date__lt=timezone.now() + relativedelta(days=1)): + + user = invoice.bill.user + yandex_pay = Payment.objects.create( + order_amount=invoice.price, + customer_number=user.id, + user=user, + cps_email=user.email + ) + invoice.yandex_pay = yandex_pay + invoice.save() + + repeat_card_payment(invoice) def repeat_card_payment(invoice): @@ -44,4 +49,6 @@ def repeat_card_payment(invoice): ), verify=os.path.join(settings.SSL_ROOT, 'yamoney_chain.cer')) - logger_yandex.info(resp.text) + logger_yandex.info('periodic billing finish', exc_info=True, extra={ + 'response': resp.text + })