From 858f9f9064cd2c59fa1ed48fb91a1d47356104b6 Mon Sep 17 00:00:00 2001 From: gzbender Date: Thu, 22 Nov 2018 21:17:17 +0300 Subject: [PATCH 1/2] =?UTF-8?q?LIL-710=20=D0=9E=D1=82=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=B0=D1=80=D1=85=D0=B8=D0=B2=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B2=20roista?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commands/send_transactions_to_roistat.py | 34 +++++++++++++++++++ apps/payment/views.py | 4 +-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 apps/payment/management/commands/send_transactions_to_roistat.py diff --git a/apps/payment/management/commands/send_transactions_to_roistat.py b/apps/payment/management/commands/send_transactions_to_roistat.py new file mode 100644 index 00000000..fa18c1d8 --- /dev/null +++ b/apps/payment/management/commands/send_transactions_to_roistat.py @@ -0,0 +1,34 @@ +from django.core.management.base import BaseCommand, CommandError +from django.utils.timezone import now +from paymentwall.pingback import Pingback + +from apps.payment.tasks import transaction_to_roistat +from apps.payment.models import Payment + + +class Command(BaseCommand): + help = 'Send ' + + def add_arguments(self, parser): + parser.add_argument( + 'start_id', type=int, + help='Start payment id', + ) + + def handle(self, *args, **options): + start_id = options.get('start_id') + payments = Payment.objects.filter(id__gte=start_id, status__in=Payment.PW_PAID_STATUSES) + for payment in payments: + pingback = Pingback(payment.data) + splitted = pingback.get_product().get_id().split('_') + product_type_name, payment_id = '_'.join(splitted[:-1]), splitted[-1] + transaction_to_roistat.delay( + payment.user.id, + payment.id, + f'{product_type_name.title()} payment', + payment.amount, + now().strftime('%Y-%m-%d %H:%M:%S'), + pingback.get_type(), + product_type_name, + payment.roistat_visit, + ) diff --git a/apps/payment/views.py b/apps/payment/views.py index ec9bef56..b9491321 100644 --- a/apps/payment/views.py +++ b/apps/payment/views.py @@ -211,8 +211,8 @@ class PaymentwallCallbackView(View): pingback = Pingback(payment_raw_data, self.get_request_ip()) if pingback.validate(): - spltted = pingback.get_product().get_id().split('_') - product_type_name, payment_id = '_'.join(spltted[:-1]), spltted[-1] + splitted = pingback.get_product().get_id().split('_') + product_type_name, payment_id = '_'.join(splitted[:-1]), splitted[-1] if product_type_name == 'course': product_payment_class = CoursePayment From 84ffa8da6598400b6fc11274b80e1b48a878da3b Mon Sep 17 00:00:00 2001 From: gzbender Date: Fri, 23 Nov 2018 04:01:07 +0300 Subject: [PATCH 2/2] LIL-710 --- .../payment/management/commands/send_transactions_to_roistat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/payment/management/commands/send_transactions_to_roistat.py b/apps/payment/management/commands/send_transactions_to_roistat.py index fa18c1d8..f82d2313 100644 --- a/apps/payment/management/commands/send_transactions_to_roistat.py +++ b/apps/payment/management/commands/send_transactions_to_roistat.py @@ -27,7 +27,7 @@ class Command(BaseCommand): payment.id, f'{product_type_name.title()} payment', payment.amount, - now().strftime('%Y-%m-%d %H:%M:%S'), + payment.update_at.strftime('%Y-%m-%d %H:%M:%S'), pingback.get_type(), product_type_name, payment.roistat_visit,